pub trait WindowBuilderExtX11 {
    // 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<XWindowType>) -> 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 WindowBuilder 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) = "general", "instance".

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. Only relevant on X11.

source

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

Build window with _NET_WM_WINDOW_TYPE hints; defaults to Normal. Only relevant on X11.

source

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

Build window with base size hint. Only implemented on X11.

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

// Or specify the size in physical dimensions like this:
WindowBuilder::new().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::WindowBuilder;
use winit::platform::x11::{XWindow, WindowBuilderExtX11};
let event_loop = winit::event_loop::EventLoop::new().unwrap();
let parent_window_id = std::env::args().nth(1).unwrap().parse::<XWindow>()?;
let window = WindowBuilder::new()
    .with_embed_parent_window(parent_window_id)
    .build(&event_loop)?;

Object Safety§

This trait is not object safe.

Implementors§