Trait winit::platform::x11::WindowBuilderExtX11
source · 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§
sourcefn with_x11_visual(self, visual_id: XVisualID) -> Self
fn with_x11_visual(self, visual_id: XVisualID) -> Self
Create this window with a specific X11 visual.
fn with_x11_screen(self, screen_id: i32) -> Self
sourcefn with_name(
self,
general: impl Into<String>,
instance: impl Into<String>
) -> Self
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
sourcefn with_override_redirect(self, override_redirect: bool) -> Self
fn with_override_redirect(self, override_redirect: bool) -> Self
Build window with override-redirect flag; defaults to false. Only relevant on X11.
sourcefn with_x11_window_type(self, x11_window_type: Vec<XWindowType>) -> Self
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.
sourcefn with_base_size<S: Into<Size>>(self, base_size: S) -> Self
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));
sourcefn with_embed_parent_window(self, parent_window_id: XWindow) -> Self
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.