diff --git a/Cargo.lock b/Cargo.lock index d9d1be69d..8d560f16d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -443,24 +443,23 @@ dependencies = [ [[package]] name = "atk" -version = "0.16.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39991bc421ddf72f70159011b323ff49b0f783cc676a7287c59453da2e2531cf" +checksum = "b4af014b17dd80e8af9fa689b2d4a211ddba6eb583c1622f35d0cb543f6b17e4" dependencies = [ "atk-sys", - "bitflags 1.3.2", - "glib 0.16.9", + "glib 0.18.5", "libc", ] [[package]] name = "atk-sys" -version = "0.16.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11ad703eb64dc058024f0e57ccfa069e15a413b98dbd50a1a950e743b7f11148" +checksum = "251e0b7d90e33e0ba930891a505a9a35ece37b2dd37a14f3ffc306c13b980009" dependencies = [ - "glib-sys 0.16.3", - "gobject-sys 0.16.3", + "glib-sys 0.18.1", + "gobject-sys 0.18.0", "libc", "system-deps 6.1.2", ] @@ -641,6 +640,9 @@ name = "bitflags" version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +dependencies = [ + "serde 1.0.190", +] [[package]] name = "bitmask-enum" @@ -803,7 +805,7 @@ dependencies = [ "bitmask-enum", "block2", "core-foundation 0.9.3 (git+https://github.com/madsmtm/core-foundation-rs.git?rev=7d593d016175755e492a92ef89edca68ac3bd5cd)", - "core-graphics 0.23.1", + "core-graphics 0.23.1 (git+https://github.com/madsmtm/core-foundation-rs.git?rev=7d593d016175755e492a92ef89edca68ac3bd5cd)", "dispatch", "lazy_static", "libc", @@ -815,13 +817,13 @@ dependencies = [ [[package]] name = "cairo-rs" -version = "0.16.7" +version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3125b15ec28b84c238f6f476c6034016a5f6cc0221cb514ca46c532139fc97d" +checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.1", "cairo-sys-rs", - "glib 0.16.9", + "glib 0.18.5", "libc", "once_cell", "thiserror", @@ -829,11 +831,11 @@ dependencies = [ [[package]] name = "cairo-sys-rs" -version = "0.16.3" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c48f4af05fabdcfa9658178e1326efa061853f040ce7d72e33af6885196f421" +checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51" dependencies = [ - "glib-sys 0.16.3", + "glib-sys 0.18.1", "libc", "system-deps 6.1.2", ] @@ -1043,6 +1045,22 @@ dependencies = [ "objc", ] +[[package]] +name = "cocoa" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c" +dependencies = [ + "bitflags 1.3.2", + "block", + "cocoa-foundation", + "core-foundation 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", + "core-graphics 0.23.1 (registry+https://github.com/rust-lang/crates.io-index)", + "foreign-types 0.5.0", + "libc", + "objc", +] + [[package]] name = "cocoa-foundation" version = "0.1.2" @@ -1199,6 +1217,19 @@ dependencies = [ "libc", ] +[[package]] +name = "core-graphics" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212" +dependencies = [ + "bitflags 1.3.2", + "core-foundation 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", + "core-graphics-types 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "foreign-types 0.5.0", + "libc", +] + [[package]] name = "core-graphics" version = "0.23.1" @@ -1376,23 +1407,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "dark-light" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62007a65515b3cd88c733dd3464431f05d2ad066999a824259d8edc3cf6f645" -dependencies = [ - "dconf_rs", - "detect-desktop-environment", - "dirs 4.0.0", - "objc", - "rust-ini", - "web-sys", - "winreg 0.10.1", - "zbus", - "zvariant", -] - [[package]] name = "dart-sys" version = "4.0.2" @@ -1554,12 +1568,6 @@ dependencies = [ "dbus", ] -[[package]] -name = "dconf_rs" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7046468a81e6a002061c01e6a7c83139daf91b11c30e66795b13217c2d885c8b" - [[package]] name = "debug-helper" version = "0.3.13" @@ -1627,12 +1635,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "detect-desktop-environment" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21d8ad60dd5b13a4ee6bd8fa2d5d88965c597c67bce32b5fc49c94f55cb50810" - [[package]] name = "digest" version = "0.10.7" @@ -1664,15 +1666,6 @@ dependencies = [ "dirs-sys 0.3.7", ] -[[package]] -name = "dirs" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" -dependencies = [ - "dirs-sys 0.3.7", -] - [[package]] name = "dirs" version = "5.0.1" @@ -2371,57 +2364,56 @@ dependencies = [ [[package]] name = "gdk" -version = "0.16.2" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa9cb33da481c6c040404a11f8212d193889e9b435db2c14fd86987f630d3ce1" +checksum = "f5ba081bdef3b75ebcdbfc953699ed2d7417d6bd853347a42a37d76406a33646" dependencies = [ - "bitflags 1.3.2", "cairo-rs", "gdk-pixbuf", "gdk-sys", "gio", - "glib 0.16.9", + "glib 0.18.5", "libc", "pango", ] [[package]] name = "gdk-pixbuf" -version = "0.16.7" +version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3578c60dee9d029ad86593ed88cb40f35c1b83360e12498d055022385dd9a05" +checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec" dependencies = [ - "bitflags 1.3.2", "gdk-pixbuf-sys", "gio", - "glib 0.16.9", + "glib 0.18.5", "libc", + "once_cell", ] [[package]] name = "gdk-pixbuf-sys" -version = "0.16.3" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3092cf797a5f1210479ea38070d9ae8a5b8e9f8f1be9f32f4643c529c7d70016" +checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7" dependencies = [ "gio-sys", - "glib-sys 0.16.3", - "gobject-sys 0.16.3", + "glib-sys 0.18.1", + "gobject-sys 0.18.0", "libc", "system-deps 6.1.2", ] [[package]] name = "gdk-sys" -version = "0.16.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76354f97a913e55b984759a997b693aa7dc71068c9e98bcce51aa167a0a5c5a" +checksum = "31ff856cb3386dae1703a920f803abafcc580e9b5f711ca62ed1620c25b51ff2" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", "gio-sys", - "glib-sys 0.16.3", - "gobject-sys 0.16.3", + "glib-sys 0.18.1", + "gobject-sys 0.18.0", "libc", "pango-sys", "pkg-config", @@ -2430,13 +2422,13 @@ dependencies = [ [[package]] name = "gdkwayland-sys" -version = "0.16.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4511710212ed3020b61a8622a37aa6f0dd2a84516575da92e9b96928dcbe83ba" +checksum = "a90fbf5c033c65d93792192a49a8efb5bb1e640c419682a58bb96f5ae77f3d4a" dependencies = [ "gdk-sys", - "glib-sys 0.16.3", - "gobject-sys 0.16.3", + "glib-sys 0.18.1", + "gobject-sys 0.18.0", "libc", "pkg-config", "system-deps 6.1.2", @@ -2444,12 +2436,12 @@ dependencies = [ [[package]] name = "gdkx11-sys" -version = "0.16.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa2bf8b5b8c414bc5d05e48b271896d0fd3ddb57464a3108438082da61de6af" +checksum = "fee8f00f4ee46cad2939b8990f5c70c94ff882c3028f3cc5abf950fa4ab53043" dependencies = [ "gdk-sys", - "glib-sys 0.16.3", + "glib-sys 0.18.1", "libc", "system-deps 6.1.2", "x11 2.21.0", @@ -2504,17 +2496,16 @@ checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" [[package]] name = "gio" -version = "0.16.7" +version = "0.18.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a1c84b4534a290a29160ef5c6eff2a9c95833111472e824fc5cb78b513dd092" +checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73" dependencies = [ - "bitflags 1.3.2", "futures-channel", "futures-core", "futures-io", "futures-util", "gio-sys", - "glib 0.16.9", + "glib 0.18.5", "libc", "once_cell", "pin-project-lite", @@ -2524,12 +2515,12 @@ dependencies = [ [[package]] name = "gio-sys" -version = "0.16.3" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9b693b8e39d042a95547fc258a7b07349b1f0b48f4b2fa3108ba3c51c0b5229" +checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2" dependencies = [ - "glib-sys 0.16.3", - "gobject-sys 0.16.3", + "glib-sys 0.18.1", + "gobject-sys 0.18.0", "libc", "system-deps 6.1.2", "winapi 0.3.9", @@ -2569,21 +2560,22 @@ dependencies = [ [[package]] name = "glib" -version = "0.16.9" +version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16aa2475c9debed5a32832cb5ff2af5a3f9e1ab9e69df58eaadc1ab2004d6eba" +checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.1", "futures-channel", "futures-core", "futures-executor", "futures-task", "futures-util", "gio-sys", - "glib-macros 0.16.8", - "glib-sys 0.16.3", - "gobject-sys 0.16.3", + "glib-macros 0.18.5", + "glib-sys 0.18.1", + "gobject-sys 0.18.0", "libc", + "memchr", "once_cell", "smallvec", "thiserror", @@ -2607,17 +2599,16 @@ dependencies = [ [[package]] name = "glib-macros" -version = "0.16.8" +version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb1a9325847aa46f1e96ffea37611b9d51fc4827e67f79e7de502a297560a67b" +checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc" dependencies = [ - "anyhow", "heck 0.4.1", - "proc-macro-crate 1.3.1", + "proc-macro-crate 2.0.0", "proc-macro-error", "proc-macro2 1.0.69", "quote 1.0.33", - "syn 1.0.109", + "syn 2.0.38", ] [[package]] @@ -2632,9 +2623,9 @@ dependencies = [ [[package]] name = "glib-sys" -version = "0.16.3" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61a4f46316d06bfa33a7ac22df6f0524c8be58e3db2d9ca99ccb1f357b62a65" +checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898" dependencies = [ "libc", "system-deps 6.1.2", @@ -2659,11 +2650,11 @@ dependencies = [ [[package]] name = "gobject-sys" -version = "0.16.3" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3520bb9c07ae2a12c7f2fbb24d4efc11231c8146a86956413fb1a79bb760a0f1" +checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44" dependencies = [ - "glib-sys 0.16.3", + "glib-sys 0.18.1", "libc", "system-deps 6.1.2", ] @@ -2833,40 +2824,38 @@ dependencies = [ [[package]] name = "gtk" -version = "0.16.2" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4d3507d43908c866c805f74c9dd593c0ce7ba5c38e576e41846639cdcd4bee6" +checksum = "93c4f5e0e20b60e10631a5f06da7fe3dda744b05ad0ea71fee2f47adf865890c" dependencies = [ "atk", - "bitflags 1.3.2", "cairo-rs", "field-offset", "futures-channel", "gdk", "gdk-pixbuf", "gio", - "glib 0.16.9", + "glib 0.18.5", "gtk-sys", "gtk3-macros", "libc", - "once_cell", "pango", "pkg-config", ] [[package]] name = "gtk-sys" -version = "0.16.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b5f8946685d5fe44497007786600c2f368ff6b1e61a16251c89f72a97520a3" +checksum = "771437bf1de2c1c0b496c11505bdf748e26066bbe942dfc8f614c9460f6d7722" dependencies = [ "atk-sys", "cairo-sys-rs", "gdk-pixbuf-sys", "gdk-sys", "gio-sys", - "glib-sys 0.16.3", - "gobject-sys 0.16.3", + "glib-sys 0.18.1", + "gobject-sys 0.18.0", "libc", "pango-sys", "system-deps 6.1.2", @@ -2874,16 +2863,15 @@ dependencies = [ [[package]] name = "gtk3-macros" -version = "0.16.3" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "096eb63c6fedf03bafe65e5924595785eaf1bcb7200dac0f2cbe9c9738f05ad8" +checksum = "c6063efb63db582968fb7df72e1ae68aa6360dcfb0a75143f34fc7d616bad75e" dependencies = [ - "anyhow", "proc-macro-crate 1.3.1", "proc-macro-error", "proc-macro2 1.0.69", "quote 1.0.33", - "syn 1.0.109", + "syn 2.0.38", ] [[package]] @@ -3160,7 +3148,7 @@ dependencies = [ "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows-core", + "windows-core 0.51.1", ] [[package]] @@ -3445,11 +3433,11 @@ dependencies = [ [[package]] name = "keyboard-types" -version = "0.6.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7668b7cff6a51fe61cdde64cd27c8a220786f399501b57ebe36f7d8112fd68" +checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.1", "serde 1.0.190", "unicode-segmentation", ] @@ -3474,11 +3462,11 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" [[package]] name = "libappindicator" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e1edfdc9b0853358306c6dfb4b77c79c779174256fe93d80c0b5ebca451a2f" +checksum = "03589b9607c868cc7ae54c0b2a22c8dc03dd41692d48f2d7df73615c6a95dc0a" dependencies = [ - "glib 0.16.9", + "glib 0.18.5", "gtk", "gtk-sys", "libappindicator-sys", @@ -3487,9 +3475,9 @@ dependencies = [ [[package]] name = "libappindicator-sys" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08fcb2bea89cee9613982501ec83eaa2d09256b24540ae463c52a28906163918" +checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf" dependencies = [ "gtk-sys", "libloading 0.7.4", @@ -3832,14 +3820,12 @@ dependencies = [ [[package]] name = "muda" -version = "0.5.0" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c820db003e601413e835a33b10cf51452b6415ef34ff1d862401826431c675" +checksum = "e406691fa7749604bbc7964bde28a300572d52621bb84540f6907c0f8fe08737" dependencies = [ - "cocoa", + "cocoa 0.25.0", "crossbeam-channel", - "gdk", - "gdk-pixbuf", "gtk", "keyboard-types", "libxdo", @@ -3847,7 +3833,7 @@ dependencies = [ "once_cell", "png", "thiserror", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -3884,7 +3870,7 @@ dependencies = [ "jni-sys", "ndk-sys", "num_enum", - "raw-window-handle", + "raw-window-handle 0.5.2", "thiserror", ] @@ -4430,13 +4416,12 @@ dependencies = [ [[package]] name = "pango" -version = "0.16.5" +version = "0.18.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdff66b271861037b89d028656184059e03b0b6ccb36003820be19f7200b1e94" +checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4" dependencies = [ - "bitflags 1.3.2", "gio", - "glib 0.16.9", + "glib 0.18.5", "libc", "once_cell", "pango-sys", @@ -4444,12 +4429,12 @@ dependencies = [ [[package]] name = "pango-sys" -version = "0.16.3" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e134909a9a293e04d2cc31928aa95679c5e4df954d0b85483159bd20d8f047f" +checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5" dependencies = [ - "glib-sys 0.16.3", - "gobject-sys 0.16.3", + "glib-sys 0.18.1", + "gobject-sys 0.18.0", "libc", "system-deps 6.1.2", ] @@ -4734,6 +4719,15 @@ dependencies = [ "toml_edit 0.19.15", ] +[[package]] +name = "proc-macro-crate" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" +dependencies = [ + "toml_edit 0.20.7", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -5092,6 +5086,12 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" +[[package]] +name = "raw-window-handle" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544" + [[package]] name = "rayon" version = "1.8.0" @@ -5117,7 +5117,7 @@ name = "rdev" version = "0.5.0-2" source = "git+https://github.com/fufesou/rdev#b3434caee84c92412b45a2f655a15ac5dad33488" dependencies = [ - "cocoa", + "cocoa 0.24.1", "core-foundation 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation-sys 0.8.4", "core-graphics 0.22.3", @@ -5424,13 +5424,12 @@ dependencies = [ "cidr-utils", "clap 4.4.7", "clipboard", - "cocoa", + "cocoa 0.24.1", "core-foundation 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.22.3", "cpal", "crossbeam-queue", "ctrlc", - "dark-light", "dasp", "dbus", "dbus-crossroads", @@ -6190,25 +6189,18 @@ dependencies = [ [[package]] name = "tao" -version = "0.22.2" -source = "git+https://github.com/rustdesk-org/tao?branch=dev#1e5b97258cf42a30f80f85a6aa0b1a4aece1977e" +version = "0.25.0" +source = "git+https://github.com/rustdesk-org/tao?branch=dev#1a813dc8788735ff0ad427ffa71394aa02d16709" dependencies = [ "bitflags 1.3.2", - "cairo-rs", "cc", - "cocoa", + "cocoa 0.25.0", "core-foundation 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", - "core-graphics 0.22.3", + "core-graphics 0.23.1 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel", "dispatch", - "gdk", - "gdk-pixbuf", - "gdk-sys", "gdkwayland-sys", "gdkx11-sys", - "gio", - "glib 0.16.9", - "glib-sys 0.16.3", "gtk", "image", "instant", @@ -6223,14 +6215,14 @@ dependencies = [ "once_cell", "parking_lot", "png", - "raw-window-handle", + "raw-window-handle 0.6.0", "scopeguard", "tao-macros", "unicode-segmentation", "url", - "uuid", - "windows 0.48.0", + "windows 0.52.0", "windows-implement", + "windows-version", "x11-dl", "zbus", ] @@ -6238,7 +6230,7 @@ dependencies = [ [[package]] name = "tao-macros" version = "0.1.2" -source = "git+https://github.com/rustdesk-org/tao?branch=dev#1e5b97258cf42a30f80f85a6aa0b1a4aece1977e" +source = "git+https://github.com/rustdesk-org/tao?branch=dev#1a813dc8788735ff0ad427ffa71394aa02d16709" dependencies = [ "proc-macro2 1.0.69", "quote 1.0.33", @@ -6678,11 +6670,11 @@ dependencies = [ [[package]] name = "tray-icon" -version = "0.5.1" -source = "git+https://github.com/rustdesk-org/tray-icon#ef98e7b98abed2e3da614277eced12a85bfb717c" +version = "0.11.3" +source = "git+https://github.com/tauri-apps/tray-icon#b8dbd42c6f94a29f34b0a0daa619486277185512" dependencies = [ - "cocoa", - "core-graphics 0.22.3", + "cocoa 0.25.0", + "core-graphics 0.23.1 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam-channel", "dirs-next", "libappindicator", @@ -6691,7 +6683,7 @@ dependencies = [ "once_cell", "png", "thiserror", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -7328,8 +7320,6 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" dependencies = [ - "windows-implement", - "windows-interface", "windows-targets 0.48.5", ] @@ -7339,10 +7329,22 @@ version = "0.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" dependencies = [ - "windows-core", + "windows-core 0.51.1", "windows-targets 0.48.5", ] +[[package]] +name = "windows" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +dependencies = [ + "windows-core 0.52.0", + "windows-implement", + "windows-interface", + "windows-targets 0.52.0", +] + [[package]] name = "windows-core" version = "0.51.1" @@ -7353,25 +7355,34 @@ dependencies = [ ] [[package]] -name = "windows-implement" -version = "0.48.0" +name = "windows-core" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e2ee588991b9e7e6c8338edf3333fbe4da35dc72092643958ebb43f0ab2c49c" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.0", +] + +[[package]] +name = "windows-implement" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12168c33176773b86799be25e2a2ba07c7aab9968b37541f1094dbd7a60c8946" dependencies = [ "proc-macro2 1.0.69", "quote 1.0.33", - "syn 1.0.109", + "syn 2.0.38", ] [[package]] name = "windows-interface" -version = "0.48.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6fb8df20c9bcaa8ad6ab513f7b40104840c8867d5751126e4df3b08388d0cc7" +checksum = "9d8dc32e0095a7eeccebd0e3f09e9509365ecb3fc6ac4d6f5f14a3f6392942d1" dependencies = [ "proc-macro2 1.0.69", "quote 1.0.33", - "syn 1.0.109", + "syn 2.0.38", ] [[package]] @@ -7418,6 +7429,15 @@ dependencies = [ "windows-targets 0.48.5", ] +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.0", +] + [[package]] name = "windows-targets" version = "0.42.2" @@ -7448,6 +7468,30 @@ dependencies = [ "windows_x86_64_msvc 0.48.5", ] +[[package]] +name = "windows-targets" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +dependencies = [ + "windows_aarch64_gnullvm 0.52.0", + "windows_aarch64_msvc 0.52.0", + "windows_i686_gnu 0.52.0", + "windows_i686_msvc 0.52.0", + "windows_x86_64_gnu 0.52.0", + "windows_x86_64_gnullvm 0.52.0", + "windows_x86_64_msvc 0.52.0", +] + +[[package]] +name = "windows-version" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75aa004c988e080ad34aff5739c39d0312f4684699d6d71fc8a198d057b8b9b4" +dependencies = [ + "windows-targets 0.52.0", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.42.2" @@ -7460,6 +7504,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" + [[package]] name = "windows_aarch64_msvc" version = "0.32.0" @@ -7484,6 +7534,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" + [[package]] name = "windows_i686_gnu" version = "0.32.0" @@ -7508,6 +7564,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +[[package]] +name = "windows_i686_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" + [[package]] name = "windows_i686_msvc" version = "0.32.0" @@ -7532,6 +7594,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +[[package]] +name = "windows_i686_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" + [[package]] name = "windows_x86_64_gnu" version = "0.32.0" @@ -7556,6 +7624,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" + [[package]] name = "windows_x86_64_gnullvm" version = "0.42.2" @@ -7568,6 +7642,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" + [[package]] name = "windows_x86_64_msvc" version = "0.32.0" @@ -7592,6 +7672,12 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" + [[package]] name = "winnow" version = "0.5.17" @@ -7601,15 +7687,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "winreg" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" -dependencies = [ - "winapi 0.3.9", -] - [[package]] name = "winreg" version = "0.11.0" diff --git a/Cargo.toml b/Cargo.toml index 78dbf4f9a..df83b28ee 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -115,12 +115,11 @@ dispatch = "0.2" core-foundation = "0.9" core-graphics = "0.22" include_dir = "0.7" -dark-light = "1.0" fruitbasket = "0.10" objc_id = "0.1" [target.'cfg(any(target_os = "macos", target_os = "linux", target_os = "windows"))'.dependencies] -tray-icon = { git = "https://github.com/rustdesk-org/tray-icon" } +tray-icon = { git = "https://github.com/tauri-apps/tray-icon" } tao = { git = "https://github.com/rustdesk-org/tao", branch = "dev" } image = "0.24" diff --git a/src/platform/macos.mm b/src/platform/macos.mm index 4a19973fc..d487098b6 100644 --- a/src/platform/macos.mm +++ b/src/platform/macos.mm @@ -13,6 +13,11 @@ extern "C" bool CanUseNewApiForScreenCaptureCheck() { #endif } +extern "C" uint32_t majorVersion() { + NSOperatingSystemVersion version = [[NSProcessInfo processInfo] operatingSystemVersion]; + return version.majorVersion; +} + extern "C" bool IsCanScreenRecording(bool prompt) { #ifdef NO_InputMonitoringAuthStatus return false; @@ -113,7 +118,7 @@ extern "C" float BackingScaleFactor() { // https://github.com/jhford/screenresolution/blob/master/cg_utils.c // https://github.com/jdoupe/screenres/blob/master/setgetscreen.m -size_t bitDepth(CGDisplayModeRef mode) { +size_t bitDepth(CGDisplayModeRef mode) { size_t depth = 0; // Deprecated, same display same bpp? // https://stackoverflow.com/questions/8210824/how-to-avoid-cgdisplaymodecopypixelencoding-to-get-bpp diff --git a/src/platform/macos.rs b/src/platform/macos.rs index f14e52092..e9d553b7f 100644 --- a/src/platform/macos.rs +++ b/src/platform/macos.rs @@ -45,10 +45,15 @@ extern "C" { max: u32, numModes: *mut u32, ) -> BOOL; + fn majorVersion() -> u32; fn MacGetMode(display: u32, width: *mut u32, height: *mut u32) -> BOOL; fn MacSetMode(display: u32, width: u32, height: u32) -> BOOL; } +pub fn major_version() -> u32 { + unsafe { majorVersion() } +} + pub fn is_process_trusted(prompt: bool) -> bool { unsafe { let value = if prompt { YES } else { NO }; diff --git a/src/tray.rs b/src/tray.rs index 9ac9f6ba6..7a438ce06 100644 --- a/src/tray.rs +++ b/src/tray.rs @@ -18,32 +18,12 @@ pub fn make_tray() -> hbb_common::ResultType<()> { use tao::event_loop::{ControlFlow, EventLoopBuilder}; use tray_icon::{ menu::{Menu, MenuEvent, MenuItem}, - TrayEvent, TrayIconBuilder, + TrayIconBuilder, TrayIconEvent as TrayEvent, }; let icon; #[cfg(target_os = "macos")] { - const DARK: &[u8] = include_bytes!("../res/mac-tray-dark-x2.png"); - const LIGHT: &[u8] = include_bytes!("../res/mac-tray-light-x2.png"); - let output = std::process::Command::new("sw_vers") - .args(&["-productVersion"]) - .output() - .map(|x| x.stdout) - .unwrap_or_default(); - let version: f64 = String::from_utf8_lossy(output.as_slice()) - .trim() - .parse() - .unwrap_or_default(); - icon = if version >= 14. { - // workaround for Sonoma, always light menubar - DARK - } else { - let mode = dark_light::detect(); - match mode { - dark_light::Mode::Dark => LIGHT, - _ => DARK, - } - }; + icon = include_bytes!("../res/mac-tray-dark-x2.png"); // use as template, so color is not important } #[cfg(not(target_os = "macos"))] { @@ -57,7 +37,7 @@ pub fn make_tray() -> hbb_common::ResultType<()> { let rgba = image.into_raw(); (rgba, width, height) }; - let icon = tray_icon::icon::Icon::from_rgba(icon_rgba, icon_width, icon_height) + let icon = tray_icon::Icon::from_rgba(icon_rgba, icon_width, icon_height) .context("Failed to open icon")?; let event_loop = EventLoopBuilder::new().build(); @@ -87,6 +67,7 @@ pub fn make_tray() -> hbb_common::ResultType<()> { .with_menu(Box::new(tray_menu)) .with_tooltip(tooltip(0)) .with_icon(icon) + .with_icon_as_template(true) // mac only .build()?, ); let _tray_icon = Arc::new(Mutex::new(_tray_icon));