pub struct WindowConfig {Show 47 fields
pub label: String,
pub create: bool,
pub url: WebviewUrl,
pub user_agent: Option<String>,
pub drag_drop_enabled: bool,
pub center: bool,
pub x: Option<f64>,
pub y: Option<f64>,
pub width: f64,
pub height: f64,
pub min_width: Option<f64>,
pub min_height: Option<f64>,
pub max_width: Option<f64>,
pub max_height: Option<f64>,
pub resizable: bool,
pub maximizable: bool,
pub minimizable: bool,
pub closable: bool,
pub title: String,
pub fullscreen: bool,
pub focus: bool,
pub transparent: bool,
pub maximized: bool,
pub visible: bool,
pub decorations: bool,
pub always_on_bottom: bool,
pub always_on_top: bool,
pub visible_on_all_workspaces: bool,
pub content_protected: bool,
pub skip_taskbar: bool,
pub window_classname: Option<String>,
pub theme: Option<Theme>,
pub title_bar_style: TitleBarStyle,
pub hidden_title: bool,
pub accept_first_mouse: bool,
pub tabbing_identifier: Option<String>,
pub additional_browser_args: Option<String>,
pub shadow: bool,
pub window_effects: Option<WindowEffectsConfig>,
pub incognito: bool,
pub parent: Option<String>,
pub proxy_url: Option<Url>,
pub zoom_hotkeys_enabled: bool,
pub browser_extensions_enabled: bool,
pub use_https_scheme: bool,
pub devtools: Option<bool>,
pub background_color: Option<Color>,
}
Expand description
The window configuration object.
See more: https://v2.tauri.app/reference/config/#windowconfig
Fields§
§label: String
The window identifier. It must be alphanumeric.
create: bool
Whether Tauri should create this window at app startup or not.
When this is set to false
you must manually grab the config object via app.config().app.windows
and create it with WebviewWindowBuilder::from_config
.
url: WebviewUrl
The window webview URL.
user_agent: Option<String>
The user agent for the webview
drag_drop_enabled: bool
Whether the drag and drop is enabled or not on the webview. By default it is enabled.
Disabling it is required to use HTML5 drag and drop on the frontend on Windows.
center: bool
Whether or not the window starts centered or not.
x: Option<f64>
The horizontal position of the window’s top left corner
y: Option<f64>
The vertical position of the window’s top left corner
width: f64
The window width.
height: f64
The window height.
min_width: Option<f64>
The min window width.
min_height: Option<f64>
The min window height.
max_width: Option<f64>
The max window width.
max_height: Option<f64>
The max window height.
resizable: bool
Whether the window is resizable or not. When resizable is set to false, native window’s maximize button is automatically disabled.
maximizable: bool
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.
minimizable: bool
Whether the window’s native minimize button is enabled or not.
§Platform-specific
- Linux / iOS / Android: Unsupported.
closable: bool
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.
title: String
The window title.
fullscreen: bool
Whether the window starts as fullscreen or not.
focus: bool
Whether the window will be initially focused or not.
transparent: bool
Whether the window is transparent or not.
Note that on macOS
this requires the macos-private-api
feature flag, enabled under tauri > macOSPrivateApi
.
WARNING: Using private APIs on macOS
prevents your application from being accepted to the App Store
.
maximized: bool
Whether the window is maximized or not.
visible: bool
Whether the window is visible or not.
decorations: bool
Whether the window should have borders and bars.
always_on_bottom: bool
Whether the window should always be below other windows.
always_on_top: bool
Whether the window should always be on top of other windows.
visible_on_all_workspaces: bool
Whether the window should be visible on all workspaces or virtual desktops.
§Platform-specific
- Windows / iOS / Android: Unsupported.
content_protected: bool
Prevents the window contents from being captured by other apps.
skip_taskbar: bool
If true
, hides the window icon from the taskbar on Windows and Linux.
window_classname: Option<String>
The name of the window class created on Windows to create the window. Windows only.
theme: Option<Theme>
The initial window theme. Defaults to the system theme. Only implemented on Windows and macOS 10.14+.
title_bar_style: TitleBarStyle
The style of the macOS title bar.
If true
, sets the window title to be hidden on macOS.
accept_first_mouse: bool
Whether clicking an inactive window also clicks through to the webview on macOS.
tabbing_identifier: Option<String>
Defines the window tabbing identifier for macOS.
Windows with matching tabbing identifiers will be grouped together. If the tabbing identifier is not set, automatic tabbing will be disabled.
additional_browser_args: Option<String>
Defines additional browser arguments on Windows. By default wry passes --disable-features=msWebOOUI,msPdfOOUI,msSmartScreenProtection
so if you use this method, you also need to disable these components by yourself if you want.
shadow: bool
Whether or not the window has shadow.
§Platform-specific
- Windows:
false
has no effect on decorated window, shadow 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.
window_effects: Option<WindowEffectsConfig>
Window effects.
Requires the window to be transparent.
§Platform-specific:
- Windows: If using decorations or shadows, you may want to try this workaround https://github.com/tauri-apps/tao/issues/72#issuecomment-975607891
- Linux: Unsupported
incognito: bool
Whether or not the webview should be launched in incognito mode.
§Platform-specific:
- Android: Unsupported.
parent: Option<String>
Sets the window associated with this label to be the parent of the window to be created.
§Platform-specific
- Windows: This sets the passed parent as an owner window to the window to be created.
From MSDN owned windows docs:
- An owned window is always above its owner in the z-order.
- The system automatically destroys an owned window when its owner is destroyed.
- An owned window is hidden when its owner is minimized.
- Linux: This makes the new window transient for parent, see https://docs.gtk.org/gtk3/method.Window.set_transient_for.html
- macOS: This adds the window as a child of parent, see https://developer.apple.com/documentation/appkit/nswindow/1419152-addchildwindow?language=objc
proxy_url: Option<Url>
The proxy URL for the WebView for all network requests.
Must be either a http://
or a socks5://
URL.
§Platform-specific
- macOS: Requires the
macos-proxy
feature flag and only compiles for macOS 14+.
zoom_hotkeys_enabled: bool
Whether page zooming by hotkeys is enabled
§Platform-specific:
-
Windows: Controls WebView2’s
IsZoomControlEnabled
setting. -
MacOS / Linux: Injects a polyfill that zooms in and out with
ctrl/command
+-/=
, 20% in each step, ranging from 20% to 1000%. Requireswebview:allow-set-webview-zoom
permission -
Android / iOS: Unsupported.
browser_extensions_enabled: bool
Whether browser extensions can be installed for the webview process
§Platform-specific:
- Windows: Enables the WebView2 environment’s
AreBrowserExtensionsEnabled
- MacOS / Linux / iOS / Android - Unsupported.
use_https_scheme: bool
Sets whether the custom protocols should use https://<scheme>.localhost
instead of the default http://<scheme>.localhost
on Windows and Android. Defaults to false
.
§Note
Using a https
scheme will NOT allow mixed content when trying to fetch http
endpoints and therefore will not match the behavior of the <scheme>://localhost
protocols used on macOS and Linux.
§Warning
Changing this value between releases will change the IndexedDB, cookies and localstorage location and your app will not be able to access the old data.
devtools: Option<bool>
Enable web inspector which is usually called browser devtools. Enabled by default.
This API works in debug builds, but requires devtools
feature flag to enable it in release builds.
§Platform-specific
- macOS: This will call private functions on macOS.
- Android: Open
chrome://inspect/#devices
in Chrome to get the devtools window. Wry’sWebView
devtools API isn’t supported on Android. - iOS: Open Safari > Develop > [Your Device Name] > [Your WebView] to get the devtools window.
background_color: Option<Color>
Set the window and webview background color.
§Platform-specific:
- Windows: alpha channel is ignored for the window layer.
- Windows: On Windows 7, alpha channel is ignored for the webview layer.
- Windows: On Windows 8 and newer, if alpha channel is not
0
, it will be ignored for the webview layer.
Trait Implementations§
Source§impl Clone for WindowConfig
impl Clone for WindowConfig
Source§fn clone(&self) -> WindowConfig
fn clone(&self) -> WindowConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for WindowConfig
impl Debug for WindowConfig
Source§impl Default for WindowConfig
impl Default for WindowConfig
Source§impl<'de> Deserialize<'de> for WindowConfig
impl<'de> Deserialize<'de> for WindowConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for WindowConfig
impl PartialEq for WindowConfig
Source§impl Serialize for WindowConfig
impl Serialize for WindowConfig
impl StructuralPartialEq for WindowConfig
Auto Trait Implementations§
impl Freeze for WindowConfig
impl RefUnwindSafe for WindowConfig
impl Send for WindowConfig
impl Sync for WindowConfig
impl Unpin for WindowConfig
impl UnwindSafe for WindowConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)