tauri_runtime

Trait WindowDispatch

Source
pub trait WindowDispatch<T: UserEvent>:
    Debug
    + Clone
    + Send
    + Sync
    + Sized
    + 'static {
    type Runtime: Runtime<T>;
    type WindowBuilder: WindowBuilder;

Show 71 methods // Required methods fn run_on_main_thread<F: FnOnce() + Send + 'static>( &self, f: F, ) -> Result<()>; fn on_window_event<F: Fn(&WindowEvent) + Send + 'static>( &self, f: F, ) -> WindowEventId; fn scale_factor(&self) -> Result<f64>; fn inner_position(&self) -> Result<PhysicalPosition<i32>>; fn outer_position(&self) -> Result<PhysicalPosition<i32>>; fn inner_size(&self) -> Result<PhysicalSize<u32>>; fn outer_size(&self) -> Result<PhysicalSize<u32>>; fn is_fullscreen(&self) -> Result<bool>; fn is_minimized(&self) -> Result<bool>; fn is_maximized(&self) -> Result<bool>; fn is_focused(&self) -> Result<bool>; fn is_decorated(&self) -> Result<bool>; fn is_resizable(&self) -> Result<bool>; fn is_maximizable(&self) -> Result<bool>; fn is_minimizable(&self) -> Result<bool>; fn is_closable(&self) -> Result<bool>; fn is_visible(&self) -> Result<bool>; fn is_enabled(&self) -> Result<bool>; fn title(&self) -> Result<String>; fn current_monitor(&self) -> Result<Option<Monitor>>; fn primary_monitor(&self) -> Result<Option<Monitor>>; fn monitor_from_point(&self, x: f64, y: f64) -> Result<Option<Monitor>>; fn available_monitors(&self) -> Result<Vec<Monitor>>; fn gtk_window(&self) -> Result<ApplicationWindow>; fn default_vbox(&self) -> Result<Box>; fn window_handle(&self) -> Result<WindowHandle<'_>, HandleError>; fn theme(&self) -> Result<Theme>; fn center(&self) -> Result<()>; fn request_user_attention( &self, request_type: Option<UserAttentionType>, ) -> Result<()>; fn create_window<F: Fn(RawWindow<'_>) + Send + 'static>( &mut self, pending: PendingWindow<T, Self::Runtime>, after_window_creation: Option<F>, ) -> Result<DetachedWindow<T, Self::Runtime>>; fn create_webview( &mut self, pending: PendingWebview<T, Self::Runtime>, ) -> Result<DetachedWebview<T, Self::Runtime>>; fn set_resizable(&self, resizable: bool) -> Result<()>; fn set_enabled(&self, enabled: bool) -> Result<()>; fn set_maximizable(&self, maximizable: bool) -> Result<()>; fn set_minimizable(&self, minimizable: bool) -> Result<()>; fn set_closable(&self, closable: bool) -> Result<()>; fn set_title<S: Into<String>>(&self, title: S) -> Result<()>; fn maximize(&self) -> Result<()>; fn unmaximize(&self) -> Result<()>; fn minimize(&self) -> Result<()>; fn unminimize(&self) -> Result<()>; fn show(&self) -> Result<()>; fn hide(&self) -> Result<()>; fn close(&self) -> Result<()>; fn destroy(&self) -> Result<()>; fn set_decorations(&self, decorations: bool) -> Result<()>; fn set_shadow(&self, enable: bool) -> Result<()>; fn set_always_on_bottom(&self, always_on_bottom: bool) -> Result<()>; fn set_always_on_top(&self, always_on_top: bool) -> Result<()>; fn set_visible_on_all_workspaces( &self, visible_on_all_workspaces: bool, ) -> Result<()>; fn set_background_color(&self, color: Option<Color>) -> Result<()>; fn set_content_protected(&self, protected: bool) -> Result<()>; fn set_size(&self, size: Size) -> Result<()>; fn set_min_size(&self, size: Option<Size>) -> Result<()>; fn set_max_size(&self, size: Option<Size>) -> Result<()>; fn set_size_constraints( &self, constraints: WindowSizeConstraints, ) -> Result<()>; fn set_position(&self, position: Position) -> Result<()>; fn set_fullscreen(&self, fullscreen: bool) -> Result<()>; fn set_focus(&self) -> Result<()>; fn set_icon(&self, icon: Icon<'_>) -> Result<()>; fn set_skip_taskbar(&self, skip: bool) -> Result<()>; fn set_cursor_grab(&self, grab: bool) -> Result<()>; fn set_cursor_visible(&self, visible: bool) -> Result<()>; fn set_cursor_icon(&self, icon: CursorIcon) -> Result<()>; fn set_cursor_position<Pos: Into<Position>>( &self, position: Pos, ) -> Result<()>; fn set_ignore_cursor_events(&self, ignore: bool) -> Result<()>; fn start_dragging(&self) -> Result<()>; fn start_resize_dragging(&self, direction: ResizeDirection) -> Result<()>; fn set_progress_bar(&self, progress_state: ProgressBarState) -> Result<()>; fn set_title_bar_style(&self, style: TitleBarStyle) -> Result<()>; fn set_theme(&self, theme: Option<Theme>) -> Result<()>;
}
Expand description

Window dispatcher. A thread-safe handle to the window APIs.

Required Associated Types§

Source

type Runtime: Runtime<T>

The runtime this WindowDispatch runs under.

Source

type WindowBuilder: WindowBuilder

The window builder type.

Required Methods§

Source

fn run_on_main_thread<F: FnOnce() + Send + 'static>(&self, f: F) -> Result<()>

Run a task on the main thread.

Source

fn on_window_event<F: Fn(&WindowEvent) + Send + 'static>( &self, f: F, ) -> WindowEventId

Registers a window event handler.

Source

fn scale_factor(&self) -> Result<f64>

Returns the scale factor that can be used to map logical pixels to physical pixels, and vice versa.

Source

fn inner_position(&self) -> Result<PhysicalPosition<i32>>

Returns the position of the top-left hand corner of the window’s client area relative to the top-left hand corner of the desktop.

Source

fn outer_position(&self) -> Result<PhysicalPosition<i32>>

Returns the position of the top-left hand corner of the window relative to the top-left hand corner of the desktop.

Source

fn inner_size(&self) -> Result<PhysicalSize<u32>>

Returns the physical size of the window’s client area.

The client area is the content of the window, excluding the title bar and borders.

Source

fn outer_size(&self) -> Result<PhysicalSize<u32>>

Returns the physical size of the entire window.

These dimensions include the title bar and borders. If you don’t want that (and you usually don’t), use inner_size instead.

Source

fn is_fullscreen(&self) -> Result<bool>

Gets the window’s current fullscreen state.

Source

fn is_minimized(&self) -> Result<bool>

Gets the window’s current minimized state.

Source

fn is_maximized(&self) -> Result<bool>

Gets the window’s current maximized state.

Source

fn is_focused(&self) -> Result<bool>

Gets the window’s current focus state.

Source

fn is_decorated(&self) -> Result<bool>

Gets the window’s current decoration state.

Source

fn is_resizable(&self) -> Result<bool>

Gets the window’s current resizable state.

Source

fn is_maximizable(&self) -> Result<bool>

Gets the window’s native maximize button state.

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

fn is_minimizable(&self) -> Result<bool>

Gets the window’s native minimize button state.

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

fn is_closable(&self) -> Result<bool>

Gets the window’s native close button state.

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

fn is_visible(&self) -> Result<bool>

Gets the window’s current visibility state.

Source

fn is_enabled(&self) -> Result<bool>

Whether the window is enabled or disable.

Source

fn title(&self) -> Result<String>

Gets the window’s current title.

Source

fn current_monitor(&self) -> Result<Option<Monitor>>

Returns the monitor on which the window currently resides.

Returns None if current monitor can’t be detected.

Source

fn primary_monitor(&self) -> Result<Option<Monitor>>

Returns the primary monitor of the system.

Returns None if it can’t identify any monitor as a primary one.

Source

fn monitor_from_point(&self, x: f64, y: f64) -> Result<Option<Monitor>>

Returns the monitor that contains the given point.

Source

fn available_monitors(&self) -> Result<Vec<Monitor>>

Returns the list of all the monitors available on the system.

Source

fn gtk_window(&self) -> Result<ApplicationWindow>

Returns the ApplicationWindow from gtk crate that is used by this window.

Source

fn default_vbox(&self) -> Result<Box>

Returns the vertical gtk::Box that is added by default as the sole child of this window.

Source

fn window_handle(&self) -> Result<WindowHandle<'_>, HandleError>

Raw window handle.

Source

fn theme(&self) -> Result<Theme>

Returns the current window theme.

Source

fn center(&self) -> Result<()>

Centers the window.

Source

fn request_user_attention( &self, request_type: Option<UserAttentionType>, ) -> Result<()>

Requests user attention to the window.

Providing None will unset the request for user attention.

Source

fn create_window<F: Fn(RawWindow<'_>) + Send + 'static>( &mut self, pending: PendingWindow<T, Self::Runtime>, after_window_creation: Option<F>, ) -> Result<DetachedWindow<T, Self::Runtime>>

Create a new window.

Source

fn create_webview( &mut self, pending: PendingWebview<T, Self::Runtime>, ) -> Result<DetachedWebview<T, Self::Runtime>>

Create a new webview.

Source

fn set_resizable(&self, resizable: bool) -> Result<()>

Updates the window resizable flag.

Source

fn set_enabled(&self, enabled: bool) -> Result<()>

Enable or disable the window.

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

fn set_maximizable(&self, maximizable: bool) -> Result<()>

Updates the window’s native maximize button state.

§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 set_minimizable(&self, minimizable: bool) -> Result<()>

Updates the window’s native minimize button state.

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

fn set_closable(&self, closable: bool) -> Result<()>

Updates the window’s native close button state.

§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 set_title<S: Into<String>>(&self, title: S) -> Result<()>

Updates the window title.

Source

fn maximize(&self) -> Result<()>

Maximizes the window.

Source

fn unmaximize(&self) -> Result<()>

Unmaximizes the window.

Source

fn minimize(&self) -> Result<()>

Minimizes the window.

Source

fn unminimize(&self) -> Result<()>

Unminimizes the window.

Source

fn show(&self) -> Result<()>

Shows the window.

Source

fn hide(&self) -> Result<()>

Hides the window.

Source

fn close(&self) -> Result<()>

Closes the window.

Source

fn destroy(&self) -> Result<()>

Destroys the window.

Source

fn set_decorations(&self, decorations: bool) -> Result<()>

Updates the decorations flag.

Source

fn set_shadow(&self, enable: bool) -> Result<()>

Updates the shadow flag.

Source

fn set_always_on_bottom(&self, always_on_bottom: bool) -> Result<()>

Updates the window alwaysOnBottom flag.

Source

fn set_always_on_top(&self, always_on_top: bool) -> Result<()>

Updates the window alwaysOnTop flag.

Source

fn set_visible_on_all_workspaces( &self, visible_on_all_workspaces: bool, ) -> Result<()>

Updates the window visibleOnAllWorkspaces flag.

Source

fn set_background_color(&self, color: Option<Color>) -> Result<()>

Set the window background.

Source

fn set_content_protected(&self, protected: bool) -> Result<()>

Prevents the window contents from being captured by other apps.

Source

fn set_size(&self, size: Size) -> Result<()>

Resizes the window.

Source

fn set_min_size(&self, size: Option<Size>) -> Result<()>

Updates the window min inner size.

Source

fn set_max_size(&self, size: Option<Size>) -> Result<()>

Updates the window max inner size.

Source

fn set_size_constraints(&self, constraints: WindowSizeConstraints) -> Result<()>

Sets this window’s minimum inner width.

Source

fn set_position(&self, position: Position) -> Result<()>

Updates the window position.

Source

fn set_fullscreen(&self, fullscreen: bool) -> Result<()>

Updates the window fullscreen state.

Source

fn set_focus(&self) -> Result<()>

Bring the window to front and focus.

Source

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

Updates the window icon.

Source

fn set_skip_taskbar(&self, skip: bool) -> Result<()>

Whether to hide the window icon from the taskbar or not.

Source

fn set_cursor_grab(&self, grab: bool) -> Result<()>

Grabs the cursor, preventing it from leaving the window.

There’s no guarantee that the cursor will be hidden. You should hide it by yourself if you want so.

Source

fn set_cursor_visible(&self, visible: bool) -> Result<()>

Modifies the cursor’s visibility.

If false, this will hide the cursor. If true, this will show the cursor.

Source

fn set_cursor_icon(&self, icon: CursorIcon) -> Result<()>

Source

fn set_cursor_position<Pos: Into<Position>>(&self, position: Pos) -> Result<()>

Changes the position of the cursor in window coordinates.

Source

fn set_ignore_cursor_events(&self, ignore: bool) -> Result<()>

Ignores the window cursor events.

Source

fn start_dragging(&self) -> Result<()>

Starts dragging the window.

Source

fn start_resize_dragging(&self, direction: ResizeDirection) -> Result<()>

Starts resize-dragging the window.

Source

fn set_progress_bar(&self, progress_state: ProgressBarState) -> Result<()>

Sets the taskbar progress state.

§Platform-specific
  • Linux / macOS: Progress bar is app-wide and not specific to this window. Only supported desktop environments with libunity (e.g. GNOME).
  • iOS / Android: Unsupported.
Source

fn set_title_bar_style(&self, style: TitleBarStyle) -> Result<()>

Sets the title bar style. Available on macOS only.

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

fn set_theme(&self, theme: Option<Theme>) -> Result<()>

Sets the theme for this window.

§Platform-specific
  • Linux / macOS: Theme is app-wide and not specific to this window.
  • iOS / Android: Unsupported.

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§