diff --git a/Cargo.lock b/Cargo.lock index 68a526d0..60566a23 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -253,7 +253,7 @@ dependencies = [ "objc2-foundation 0.3.2", "parking_lot", "percent-encoding", - "windows-sys 0.59.0", + "windows-sys 0.52.0", "wl-clipboard-rs", "x11rb", ] @@ -871,7 +871,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -1516,7 +1516,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -2710,25 +2710,6 @@ dependencies = [ "redox_syscall 0.9.4", ] -[[package]] -name = "libxdo" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00333b8756a3d28e78def82067a377de7fa61b24909000aeaa2b446a948d14db" -dependencies = [ - "libxdo-sys", -] - -[[package]] -name = "libxdo-sys" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db23b9e7e2b7831bbd8aac0bbeeeb7b68cbebc162b227e7052e8e55829a09212" -dependencies = [ - "libc", - "x11", -] - [[package]] name = "linebender_resource_handle" version = "0.1.1" @@ -2844,20 +2825,19 @@ dependencies = [ [[package]] name = "muda" -version = "0.20.0" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cca139e57da4383727f189e43e66e84fa372347027fc996f9f1a007ec0a37996" +checksum = "4340e89c178916e62879c5c36b7f699019369be413e496178a6983ce91b8bc03" dependencies = [ "crossbeam-channel", "dpi", "gtk", "keyboard-types", - "libxdo", + "libc", "objc2 0.6.5", "objc2-app-kit 0.3.2", "objc2-core-foundation", "objc2-foundation 0.3.2", - "once_cell", "png 0.18.1", "thiserror 2.0.21", "windows-sys 0.61.2", @@ -3392,7 +3372,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -3585,9 +3565,9 @@ checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" [[package]] name = "plist" -version = "1.10.1" +version = "1.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2896bade328c13f7042a297ea5ac5b0951f6cf989dea5f32c2fd98da398195cb" +checksum = "327a4cb2ad49dc48adfdc9da89e22c64d488b508c67a044d71ba729e4521a285" dependencies = [ "base64 0.23.1", "indexmap", @@ -4054,7 +4034,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.4.15", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -4067,14 +4047,14 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.12.1", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] name = "rustls" -version = "0.23.45" +version = "0.23.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d41d731c7d2f962d1ccc364cec258de3c0e93b38c2fb3ba97ac74513048d634" +checksum = "48e13bd8c0e9365c43cfa5c9e8f9ad49d3c8444926c9aac819e0e4dc503c8fdf" dependencies = [ "log", "once_cell", @@ -4124,7 +4104,7 @@ dependencies = [ "security-framework", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -4257,9 +4237,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.151" +version = "1.0.154" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +checksum = "e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6" dependencies = [ "itoa", "memchr", @@ -4624,7 +4604,7 @@ dependencies = [ "getrandom 0.4.3", "once_cell", "rustix 1.1.5", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -4895,9 +4875,9 @@ dependencies = [ [[package]] name = "tray-icon" -version = "0.25.1" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b9c52859a94554803ccd4a24b98f74148ebc73b90676d783f3490b1bff9d72" +checksum = "4f5cc5858ecf9574ddd8f0032a2ff7ffd6f7724d2b81e48b9374984b3fd6ddc9" dependencies = [ "crossbeam-channel", "dirs 7.0.0", @@ -5014,9 +4994,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "ureq" -version = "3.4.2" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a7ac20be9b7726e0bbdbf974c059676d9acb1cd414961f570a4e8231cacd7fc" +checksum = "cde93ff05758a36a851a398a772b0b79a82fbe3c186a46f2696baaeaf84c966b" dependencies = [ "base64 0.23.1", "flate2", @@ -5031,9 +5011,9 @@ dependencies = [ [[package]] name = "ureq-proto" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f86fd172ccca569e458f61b6bdd6220965a9ef36e672a6852953b51a0e1583be" +checksum = "841583fc36089d7d59419568ae157f43a5a03a2e5a81ba87c77d1596ef46e922" dependencies = [ "base64 0.23.1", "http", @@ -5626,7 +5606,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -5925,9 +5905,9 @@ dependencies = [ [[package]] name = "winresource" -version = "0.1.31" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0986a8b1d586b7d3e4fe3d9ea39fb451ae22869dcea4aa109d287a374d866087" +checksum = "a2bc6d36480b829272a5bdabf08e6dca8004761c1da7e35efef800540c66221b" dependencies = [ "toml 1.1.8+spec-1.1.0", "version_check", @@ -5969,16 +5949,6 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc" -[[package]] -name = "x11" -version = "2.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" -dependencies = [ - "libc", - "pkg-config", -] - [[package]] name = "x11-dl" version = "2.21.0" diff --git a/apps/artcraft-launcher/Cargo.toml b/apps/artcraft-launcher/Cargo.toml index 2d63c0af..6bbc83ec 100644 --- a/apps/artcraft-launcher/Cargo.toml +++ b/apps/artcraft-launcher/Cargo.toml @@ -38,7 +38,7 @@ zbus = "5" # The tray (menu bar) icon. On Linux and the BSDs the StatusNotifierItem backend talks D-Bus # directly, so no GTK or libappindicator is needed. [target.'cfg(any(target_os = "macos", target_os = "windows"))'.dependencies] -tray-icon = "0.25" +tray-icon = "0.26" # macOS only: which desktop (Space) the window shows on (spaces.rs) and the "Reduce motion" # setting (motion.rs). Safe AppKit calls only, and already in Cargo.lock through winit and @@ -59,7 +59,7 @@ winreg = "0.55" zbus = { version = "5", default-features = false, features = ["async-io", "blocking-api"] } [target.'cfg(any(target_os = "linux", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly"))'.dependencies] -tray-icon = { version = "0.25", default-features = false, features = ["ksni"] } +tray-icon = { version = "0.26", default-features = false, features = ["ksni"] } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] rfd = { version = "=0.17.2", default-features = false, features = ["xdg-portal", "wayland"] } diff --git a/apps/artcraft-launcher/src/tray.rs b/apps/artcraft-launcher/src/tray.rs index 8e32fef5..96d3763a 100644 --- a/apps/artcraft-launcher/src/tray.rs +++ b/apps/artcraft-launcher/src/tray.rs @@ -65,10 +65,14 @@ impl Tray { .map_err(|e| e.to_string())?; let links = [(website.id().clone(), WEBSITE_URL), (github.id().clone(), GITHUB_URL)]; let discord_id = discord.id().clone(); - let icon = identity(TrayIconBuilder::new()) - .with_menu(Box::new(menu)) - .with_icon(load_icon()?) - .with_icon_as_template(cfg!(target_os = "macos")) + let image = load_icon()?; + let builder = identity(TrayIconBuilder::new()).with_menu(Box::new(menu)); + // macOS draws the icon as a template image (recoloured for light and dark menu bars). + #[cfg(target_os = "macos")] + let builder = builder.with_icon_templated(image); + #[cfg(not(target_os = "macos"))] + let builder = builder.with_icon(image); + let icon = builder .with_menu_on_left_click(cfg!(target_os = "macos")) .with_tooltip("ArtCraft Launcher") .build() diff --git a/crates/native/Cargo.toml b/crates/native/Cargo.toml index 3a25c59f..36bd4b48 100644 --- a/crates/native/Cargo.toml +++ b/crates/native/Cargo.toml @@ -28,7 +28,7 @@ tempfile = "3" sha2 = "0.10" # HTTPS over rustls, with the OS verifying certificates (rustls-platform-verifier). No bundled # root list: webpki-roots and webpki-root-certs are CDLA-licensed. -ureq = { version = "3.4", default-features = false, features = ["rustls-no-provider", "_ring", "gzip", "platform-verifier"] } +ureq = { version = "3.5", default-features = false, features = ["rustls-no-provider", "_ring", "gzip", "platform-verifier"] } [dev-dependencies] # The tests' fake server answers with real gzip streams (Reply::Gzipped), on every platform.