summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Cory Forsstrom <cforsstrom18@gmail.com>2023-07-21 13:57:49 -0700
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-07-26 20:14:52 +0200
commit94e991a785eddcc1c706a5a7111e1e88b18aef41 (patch)
tree8e46ae79bad3af25740355635ebeea2f110c2af2
parent6d5b69d307f1a65b1e9ad3baa5930aba67cd6293 (diff)
downloadiced-94e991a785eddcc1c706a5a7111e1e88b18aef41.tar.gz
iced-94e991a785eddcc1c706a5a7111e1e88b18aef41.tar.bz2
iced-94e991a785eddcc1c706a5a7111e1e88b18aef41.zip
Add app id setting for linux
-rw-r--r--winit/src/settings.rs28
-rw-r--r--winit/src/settings/linux.rs11
2 files changed, 38 insertions, 1 deletions
diff --git a/winit/src/settings.rs b/winit/src/settings.rs
index 40b3d487..8d3e1b47 100644
--- a/winit/src/settings.rs
+++ b/winit/src/settings.rs
@@ -7,6 +7,10 @@ mod platform;
#[path = "settings/macos.rs"]
mod platform;
+#[cfg(target_os = "linux")]
+#[path = "settings/linux.rs"]
+mod platform;
+
#[cfg(target_arch = "wasm32")]
#[path = "settings/wasm.rs"]
mod platform;
@@ -14,6 +18,7 @@ mod platform;
#[cfg(not(any(
target_os = "windows",
target_os = "macos",
+ target_os = "linux",
target_arch = "wasm32"
)))]
#[path = "settings/other.rs"]
@@ -150,7 +155,6 @@ impl Window {
}
#[cfg(any(
- target_os = "linux",
target_os = "dragonfly",
target_os = "freebsd",
target_os = "netbsd",
@@ -192,6 +196,28 @@ impl Window {
);
}
+ #[cfg(target_os = "linux")]
+ {
+ #[cfg(feature = "x11")]
+ {
+ use winit::platform::x11::WindowBuilderExtX11;
+
+ window_builder = window_builder.with_name(
+ &self.platform_specific.application_id,
+ &self.platform_specific.application_id,
+ );
+ }
+ #[cfg(feature = "wayland")]
+ {
+ use winit::platform::wayland::WindowBuilderExtWayland;
+
+ window_builder = window_builder.with_name(
+ &self.platform_specific.application_id,
+ &self.platform_specific.application_id,
+ );
+ }
+ }
+
window_builder
}
}
diff --git a/winit/src/settings/linux.rs b/winit/src/settings/linux.rs
new file mode 100644
index 00000000..009b9d9e
--- /dev/null
+++ b/winit/src/settings/linux.rs
@@ -0,0 +1,11 @@
+//! Platform specific settings for Linux.
+
+/// The platform specific window settings of an application.
+#[derive(Debug, Clone, PartialEq, Eq, Default)]
+pub struct PlatformSpecific {
+ /// Sets the application id of the window.
+ ///
+ /// As a best practice, it is suggested to select an application id that match
+ /// the basename of the application’s .desktop file.
+ pub application_id: String,
+}