tauri_runtime::window

Trait WindowBuilder

Source
pub trait WindowBuilder: WindowBuilderBase {
Show 31 methods // Required methods fn new() -> Self; fn with_config(config: &WindowConfig) -> Self; fn center(self) -> Self; fn position(self, x: f64, y: f64) -> Self; fn inner_size(self, width: f64, height: f64) -> Self; fn min_inner_size(self, min_width: f64, min_height: f64) -> Self; fn max_inner_size(self, max_width: f64, max_height: f64) -> Self; fn inner_size_constraints(self, constraints: WindowSizeConstraints) -> Self; fn resizable(self, resizable: bool) -> Self; fn maximizable(self, maximizable: bool) -> Self; fn minimizable(self, minimizable: bool) -> Self; fn closable(self, closable: bool) -> Self; fn title<S: Into<String>>(self, title: S) -> Self; fn fullscreen(self, fullscreen: bool) -> Self; fn focused(self, focused: bool) -> Self; fn maximized(self, maximized: bool) -> Self; fn visible(self, visible: bool) -> Self; fn transparent(self, transparent: bool) -> Self; fn decorations(self, decorations: bool) -> Self; fn always_on_bottom(self, always_on_bottom: bool) -> Self; fn always_on_top(self, always_on_top: bool) -> Self; fn visible_on_all_workspaces(self, visible_on_all_workspaces: bool) -> Self; fn content_protected(self, protected: bool) -> Self; fn icon(self, icon: Icon<'_>) -> Result<Self>; fn skip_taskbar(self, skip: bool) -> Self; fn background_color(self, color: Color) -> Self; fn shadow(self, enable: bool) -> Self; fn theme(self, theme: Option<Theme>) -> Self; fn has_icon(&self) -> bool; fn get_theme(&self) -> Option<Theme>; fn window_classname<S: Into<String>>(self, window_classname: S) -> Self;
}
Expand description

A builder for all attributes related to a single window.

This trait is only meant to be implemented by a custom Runtime and not by applications.

Required Methods§

Source

fn new() -> Self

Initializes a new window attributes builder.

Source

fn with_config(config: &WindowConfig) -> Self

Initializes a new window builder from a WindowConfig

Source

fn center(self) -> Self

Show window in the center of the screen.

Source

fn position(self, x: f64, y: f64) -> Self

The initial position of the window’s.

Source

fn inner_size(self, width: f64, height: f64) -> Self

Window size.

Source

fn min_inner_size(self, min_width: f64, min_height: f64) -> Self

Window min inner size.

Source

fn max_inner_size(self, max_width: f64, max_height: f64) -> Self

Window max inner size.

Source

fn inner_size_constraints(self, constraints: WindowSizeConstraints) -> Self

Window inner size constraints.

Source

fn resizable(self, resizable: bool) -> Self

Whether the window is resizable or not. When resizable is set to false, native window’s maximize button is automatically disabled.

Source

fn maximizable(self, maximizable: bool) -> Self

Whether the window’s native maximize button is enabled or not. If resizable is set to false, this setting is ignored.

§Platform-specific
  • macOS: Disables the “zoom” button in the window titlebar, which is also used to enter fullscreen mode.
  • Linux / iOS / Android: Unsupported.
Source

fn minimizable(self, minimizable: bool) -> Self

Whether the window’s native minimize button is enabled or not.

§Platform-specific
  • Linux / iOS / Android: Unsupported.
Source

fn closable(self, closable: bool) -> Self

Whether the window’s native close button is enabled or not.

§Platform-specific
  • Linux: “GTK+ will do its best to convince the window manager not to show a close button. Depending on the system, this function may not have any effect when called on a window that is already visible”
  • iOS / Android: Unsupported.
Source

fn title<S: Into<String>>(self, title: S) -> Self

The title of the window in the title bar.

Source

fn fullscreen(self, fullscreen: bool) -> Self

Whether to start the window in fullscreen or not.

Source

fn focused(self, focused: bool) -> Self

Whether the window will be initially focused or not.

Source

fn maximized(self, maximized: bool) -> Self

Whether the window should be maximized upon creation.

Source

fn visible(self, visible: bool) -> Self

Whether the window should be immediately visible upon creation.

Source

fn transparent(self, transparent: bool) -> Self

Available on non-macOS or crate feature macos-private-api only.

Whether the window should be transparent. If this is true, writing colors with alpha values different than 1.0 will produce a transparent window.

Source

fn decorations(self, decorations: bool) -> Self

Whether the window should have borders and bars.

Source

fn always_on_bottom(self, always_on_bottom: bool) -> Self

Whether the window should always be below other windows.

Source

fn always_on_top(self, always_on_top: bool) -> Self

Whether the window should always be on top of other windows.

Source

fn visible_on_all_workspaces(self, visible_on_all_workspaces: bool) -> Self

Whether the window should be visible on all workspaces or virtual desktops.

Source

fn content_protected(self, protected: bool) -> Self

Prevents the window contents from being captured by other apps.

Source

fn icon(self, icon: Icon<'_>) -> Result<Self>

Sets the window icon.

Source

fn skip_taskbar(self, skip: bool) -> Self

Sets whether or not the window icon should be added to the taskbar.

Source

fn background_color(self, color: Color) -> Self

Set the window background color.

Source

fn shadow(self, enable: bool) -> Self

Sets whether or not the window has shadow.

§Platform-specific
  • Windows:
    • false has no effect on decorated window, shadows are always ON.
    • true will make undecorated window have a 1px white border, and on Windows 11, it will have a rounded corners.
  • Linux: Unsupported.
Source

fn theme(self, theme: Option<Theme>) -> Self

Forces a theme or uses the system settings if None was provided.

Source

fn has_icon(&self) -> bool

Whether the icon was set or not.

Source

fn get_theme(&self) -> Option<Theme>

Source

fn window_classname<S: Into<String>>(self, window_classname: S) -> Self

Sets custom name for Windows’ window class. Windows only.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§