From 7337ab63bc9e167116f8adbfedb5a8e8203a4a5b Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Wed, 11 Aug 2021 19:23:05 +0700 Subject: Introduce explicit `id` field to `Settings` ... and use it to set the application id of the window on Unix systems, instead of relying on the title of the application. --- src/settings.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/settings.rs b/src/settings.rs index 480bf813..d726dc4f 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -4,12 +4,18 @@ use crate::window; /// The settings of an application. #[derive(Debug, Clone)] pub struct Settings { + /// The identifier of the application. + /// + /// If provided, this identifier may be used to identify the application or + /// communicate with it through the windowing system. + pub id: Option, + /// The window settings. /// /// They will be ignored on the Web. pub window: window::Settings, - /// The data needed to initialize an [`Application`]. + /// The data needed to initialize the [`Application`]. /// /// [`Application`]: crate::Application pub flags: Flags, @@ -58,6 +64,7 @@ impl Settings { Self { flags, + id: default_settings.id, window: default_settings.window, default_font: default_settings.default_font, default_text_size: default_settings.default_text_size, @@ -74,8 +81,9 @@ where { fn default() -> Self { Self { - flags: Default::default(), + id: None, window: Default::default(), + flags: Default::default(), default_font: Default::default(), default_text_size: 20, text_multithreading: false, @@ -89,6 +97,7 @@ where impl From> for iced_winit::Settings { fn from(settings: Settings) -> iced_winit::Settings { iced_winit::Settings { + id: settings.id, window: settings.window.into(), flags: settings.flags, exit_on_close_request: settings.exit_on_close_request, -- cgit