winit::platform::x11

Trait WindowAttributesExtX11

source
pub trait WindowAttributesExtX11 {
    // Required methods
    fn with_x11_visual(self, visual_id: XVisualID) -> Self;
    fn with_x11_screen(self, screen_id: i32) -> Self;
    fn with_name(
        self,
        general: impl Into<String>,
        instance: impl Into<String>,
    ) -> Self;
    fn with_override_redirect(self, override_redirect: bool) -> Self;
    fn with_x11_window_type(self, x11_window_type: Vec<WindowType>) -> Self;
    fn with_base_size<S: Into<Size>>(self, base_size: S) -> Self;
    fn with_embed_parent_window(self, parent_window_id: XWindow) -> Self;
}
Expand description

Additional methods on WindowAttributes that are specific to X11.

Required Methods§

source

fn with_x11_visual(self, visual_id: XVisualID) -> Self

Create this window with a specific X11 visual.

source

fn with_x11_screen(self, screen_id: i32) -> Self

source

fn with_name( self, general: impl Into<String>, instance: impl Into<String>, ) -> Self

Build window with the given general and instance names.

The general sets general class of WM_CLASS(STRING), while instance set the instance part of it. The resulted property looks like WM_CLASS(STRING) = "instance", "general".

For details about application ID conventions, see the Desktop Entry Spec

source

fn with_override_redirect(self, override_redirect: bool) -> Self

Build window with override-redirect flag; defaults to false.

source

fn with_x11_window_type(self, x11_window_type: Vec<WindowType>) -> Self

Build window with _NET_WM_WINDOW_TYPE hints; defaults to Normal.

source

fn with_base_size<S: Into<Size>>(self, base_size: S) -> Self

Build window with base size hint.

// Specify the size in logical dimensions like this:
WindowAttributes::default().with_base_size(LogicalSize::new(400.0, 200.0));

// Or specify the size in physical dimensions like this:
WindowAttributes::default().with_base_size(PhysicalSize::new(400, 200));
source

fn with_embed_parent_window(self, parent_window_id: XWindow) -> Self

Embed this window into another parent window.

§Example
use winit::window::{Window, WindowAttributes};
use winit::event_loop::ActiveEventLoop;
use winit::platform::x11::{XWindow, WindowAttributesExtX11};
let parent_window_id = std::env::args().nth(1).unwrap().parse::<XWindow>()?;
let window_attributes = WindowAttributes::default().with_embed_parent_window(parent_window_id);
let window = event_loop.create_window(window_attributes)?;

Object Safety§

This trait is not object safe.

Implementors§