pub trait WindowBuilderExtUnix {
    fn with_x11_visual<T>(self, visual_infos: *const T) -> 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_gtk_theme_variant(self, variant: String) -> Self; fn with_wayland_csd_theme(self, theme: Theme) -> Self; fn with_resize_increments<S: Into<Size>>(self, increments: S) -> Self; fn with_base_size<S: Into<Size>>(self, base_size: S) -> Self; }
Expand description

Additional methods on WindowBuilder that are specific to Unix.

Required Methods

Build window with the given general and instance names.

On Wayland, the general name sets an application ID, which should match the .desktop file destributed with your program. The instance is a no-op.

On X11, 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

Build window with override-redirect flag; defaults to false. Only relevant on X11.

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

Build window with _GTK_THEME_VARIANT hint set to the specified value. Currently only relevant on X11.

Build window with certain decoration Theme

You can also use WINIT_WAYLAND_CSD_THEME env variable to set the theme. Possible values for env variable are: “dark” and light“

Build window with resize increment hint. Only implemented on X11.

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

// Or specify the size in physical dimensions like this:
WindowBuilder::new().with_resize_increments(PhysicalSize::new(400, 200));

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));

Implementors