diff --git a/Cargo.lock b/Cargo.lock index 6dad1c84..44ee45aa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,22 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "ab_glyph" +version = "0.2.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225" +dependencies = [ + "ab_glyph_rasterizer", + "owned_ttf_parser", +] + +[[package]] +name = "ab_glyph_rasterizer" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" + [[package]] name = "accesskit" version = "0.11.0" @@ -95,6 +111,30 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3aa2999eb46af81abb65c2d30d446778d7e613b60bbf4e174a027e80f90a3c14" +[[package]] +name = "android-activity" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64529721f27c2314ced0890ce45e469574a73e5e6fdd6e9da1860eb29285f5e0" +dependencies = [ + "android-properties", + "bitflags 1.3.2", + "cc", + "jni-sys", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "num_enum 0.6.1", +] + +[[package]] +name = "android-properties" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" + [[package]] name = "android-tzdata" version = "0.1.1" @@ -278,7 +318,7 @@ dependencies = [ "futures-lite 2.1.0", "parking", "polling 3.3.1", - "rustix 0.38.26", + "rustix 0.38.27", "slab", "tracing", "windows-sys 0.52.0", @@ -317,7 +357,7 @@ dependencies = [ "cfg-if", "event-listener 3.1.0", "futures-lite 1.13.0", - "rustix 0.38.26", + "rustix 0.38.27", "windows-sys 0.48.0", ] @@ -344,7 +384,7 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 0.38.26", + "rustix 0.38.27", "signal-hook-registry", "slab", "windows-sys 0.48.0", @@ -378,7 +418,7 @@ name = "atomicwrites" version = "0.4.2" source = "git+https://github.com/jackpot51/rust-atomicwrites#043ab4859d53ffd3d55334685303d8df39c9f768" dependencies = [ - "rustix 0.38.26", + "rustix 0.38.27", "tempfile", "windows-sys 0.48.0", ] @@ -499,6 +539,25 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-sys" +version = "0.1.0-beta.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146" +dependencies = [ + "objc-sys", +] + +[[package]] +name = "block2" +version = "0.2.0-alpha.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42" +dependencies = [ + "block-sys", + "objc2-encode", +] + [[package]] name = "blocking" version = "1.5.1" @@ -582,6 +641,20 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +[[package]] +name = "calloop" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52e0d00eb1ea24371a97d2da6201c6747a633dc6dc1988ef503403b4c59504a8" +dependencies = [ + "bitflags 1.3.2", + "log", + "nix 0.25.1", + "slotmap", + "thiserror", + "vec_map", +] + [[package]] name = "calloop" version = "0.12.3" @@ -591,7 +664,7 @@ dependencies = [ "bitflags 2.4.1", "log", "polling 3.3.1", - "rustix 0.38.26", + "rustix 0.38.27", "slab", "thiserror", ] @@ -602,8 +675,8 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02" dependencies = [ - "calloop", - "rustix 0.38.26", + "calloop 0.12.3", + "rustix 0.38.27", "wayland-backend 0.3.2", "wayland-client 0.31.1", ] @@ -614,6 +687,7 @@ version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ + "jobserver", "libc", ] @@ -653,6 +727,47 @@ dependencies = [ "windows-targets 0.48.5", ] +[[package]] +name = "clipboard-win" +version = "4.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362" +dependencies = [ + "error-code", + "str-buf", + "winapi", +] + +[[package]] +name = "clipboard_macos" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "145a7f9e9b89453bc0a5e32d166456405d389cea5b578f57f1274b1397588a95" +dependencies = [ + "objc", + "objc-foundation", + "objc_id", +] + +[[package]] +name = "clipboard_wayland" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f6364a9f7a66f2ac1a1a098aa1c7f6b686f2496c6ac5e5c0d773445df912747" +dependencies = [ + "smithay-clipboard", +] + +[[package]] +name = "clipboard_x11" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "983a7010836ecd04dde2c6d27a0cb56ec5d21572177e782bdcb24a600124e921" +dependencies = [ + "thiserror", + "x11rb 0.9.0", +] + [[package]] name = "cocoa" version = "0.25.0" @@ -663,8 +778,8 @@ dependencies = [ "block", "cocoa-foundation", "core-foundation", - "core-graphics", - "foreign-types", + "core-graphics 0.23.1", + "foreign-types 0.5.0", "libc", "objc", ] @@ -730,6 +845,19 @@ version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +[[package]] +name = "core-graphics" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-graphics-types", + "foreign-types 0.3.2", + "libc", +] + [[package]] name = "core-graphics" version = "0.23.1" @@ -739,7 +867,7 @@ dependencies = [ "bitflags 1.3.2", "core-foundation", "core-graphics-types", - "foreign-types", + "foreign-types 0.5.0", "libc", ] @@ -944,7 +1072,7 @@ dependencies = [ "i18n-embed-fl 0.7.0", "libcosmic", "once_cell", - "rust-embed 8.0.0", + "rust-embed 8.1.0", "tracing", ] @@ -995,7 +1123,7 @@ dependencies = [ [[package]] name = "cosmic-config" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#283aa2abd06d83abf0b8f9c1e38259599d05516a" +source = "git+https://github.com/pop-os/libcosmic#2b9e0c09ee1f307a1b488cbd08a633ed30209ee1" dependencies = [ "atomicwrites", "cosmic-config-derive", @@ -1009,7 +1137,7 @@ dependencies = [ [[package]] name = "cosmic-config-derive" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#283aa2abd06d83abf0b8f9c1e38259599d05516a" +source = "git+https://github.com/pop-os/libcosmic#2b9e0c09ee1f307a1b488cbd08a633ed30209ee1" dependencies = [ "quote", "syn 1.0.109", @@ -1110,7 +1238,7 @@ dependencies = [ [[package]] name = "cosmic-theme" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#283aa2abd06d83abf0b8f9c1e38259599d05516a" +source = "git+https://github.com/pop-os/libcosmic#2b9e0c09ee1f307a1b488cbd08a633ed30209ee1" dependencies = [ "almost", "cosmic-config", @@ -1516,6 +1644,12 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "dispatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + [[package]] name = "displaydoc" version = "0.2.4" @@ -1663,6 +1797,16 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "error-code" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21" +dependencies = [ + "libc", + "str-buf", +] + [[package]] name = "etagere" version = "0.2.10" @@ -1778,14 +1922,14 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.22" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" +checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.3.5", - "windows-sys 0.48.0", + "redox_syscall 0.4.1", + "windows-sys 0.52.0", ] [[package]] @@ -1920,6 +2064,15 @@ dependencies = [ "ttf-parser 0.19.2", ] +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared 0.1.1", +] + [[package]] name = "foreign-types" version = "0.5.0" @@ -1927,7 +2080,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" dependencies = [ "foreign-types-macros", - "foreign-types-shared", + "foreign-types-shared 0.3.1", ] [[package]] @@ -1941,6 +2094,12 @@ dependencies = [ "syn 2.0.39", ] +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + [[package]] name = "foreign-types-shared" version = "0.3.1" @@ -2129,6 +2288,16 @@ dependencies = [ "version_check", ] +[[package]] +name = "gethostname" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "gethostname" version = "0.3.0" @@ -2507,7 +2676,7 @@ dependencies = [ "locale_config", "log", "parking_lot 0.12.1", - "rust-embed 8.0.0", + "rust-embed 8.1.0", "thiserror", "unic-langid", "walkdir", @@ -2594,7 +2763,7 @@ dependencies = [ [[package]] name = "iced" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#283aa2abd06d83abf0b8f9c1e38259599d05516a" +source = "git+https://github.com/pop-os/libcosmic#2b9e0c09ee1f307a1b488cbd08a633ed30209ee1" dependencies = [ "iced_accessibility", "iced_core", @@ -2602,6 +2771,7 @@ dependencies = [ "iced_renderer", "iced_sctk", "iced_widget", + "iced_winit", "image", "thiserror", ] @@ -2609,7 +2779,7 @@ dependencies = [ [[package]] name = "iced_accessibility" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#283aa2abd06d83abf0b8f9c1e38259599d05516a" +source = "git+https://github.com/pop-os/libcosmic#2b9e0c09ee1f307a1b488cbd08a633ed30209ee1" dependencies = [ "accesskit", "accesskit_unix", @@ -2618,7 +2788,7 @@ dependencies = [ [[package]] name = "iced_core" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#283aa2abd06d83abf0b8f9c1e38259599d05516a" +source = "git+https://github.com/pop-os/libcosmic#2b9e0c09ee1f307a1b488cbd08a633ed30209ee1" dependencies = [ "bitflags 1.3.2", "iced_accessibility", @@ -2626,6 +2796,7 @@ dependencies = [ "log", "num-traits", "palette", + "raw-window-handle", "serde", "smithay-client-toolkit 0.18.0", "thiserror", @@ -2635,7 +2806,7 @@ dependencies = [ [[package]] name = "iced_futures" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#283aa2abd06d83abf0b8f9c1e38259599d05516a" +source = "git+https://github.com/pop-os/libcosmic#2b9e0c09ee1f307a1b488cbd08a633ed30209ee1" dependencies = [ "futures", "iced_core", @@ -2648,7 +2819,7 @@ dependencies = [ [[package]] name = "iced_graphics" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#283aa2abd06d83abf0b8f9c1e38259599d05516a" +source = "git+https://github.com/pop-os/libcosmic#2b9e0c09ee1f307a1b488cbd08a633ed30209ee1" dependencies = [ "bitflags 1.3.2", "bytemuck", @@ -2671,7 +2842,7 @@ dependencies = [ [[package]] name = "iced_renderer" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#283aa2abd06d83abf0b8f9c1e38259599d05516a" +source = "git+https://github.com/pop-os/libcosmic#2b9e0c09ee1f307a1b488cbd08a633ed30209ee1" dependencies = [ "iced_graphics", "iced_tiny_skia", @@ -2684,7 +2855,7 @@ dependencies = [ [[package]] name = "iced_runtime" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#283aa2abd06d83abf0b8f9c1e38259599d05516a" +source = "git+https://github.com/pop-os/libcosmic#2b9e0c09ee1f307a1b488cbd08a633ed30209ee1" dependencies = [ "iced_accessibility", "iced_core", @@ -2696,7 +2867,7 @@ dependencies = [ [[package]] name = "iced_sctk" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#283aa2abd06d83abf0b8f9c1e38259599d05516a" +source = "git+https://github.com/pop-os/libcosmic#2b9e0c09ee1f307a1b488cbd08a633ed30209ee1" dependencies = [ "enum-repr", "float-cmp", @@ -2720,7 +2891,7 @@ dependencies = [ [[package]] name = "iced_style" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#283aa2abd06d83abf0b8f9c1e38259599d05516a" +source = "git+https://github.com/pop-os/libcosmic#2b9e0c09ee1f307a1b488cbd08a633ed30209ee1" dependencies = [ "iced_core", "once_cell", @@ -2730,7 +2901,7 @@ dependencies = [ [[package]] name = "iced_tiny_skia" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#283aa2abd06d83abf0b8f9c1e38259599d05516a" +source = "git+https://github.com/pop-os/libcosmic#2b9e0c09ee1f307a1b488cbd08a633ed30209ee1" dependencies = [ "bytemuck", "cosmic-text", @@ -2741,14 +2912,14 @@ dependencies = [ "resvg", "rustc-hash", "softbuffer", - "tiny-skia", + "tiny-skia 0.11.3", "xxhash-rust", ] [[package]] name = "iced_wgpu" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#283aa2abd06d83abf0b8f9c1e38259599d05516a" +source = "git+https://github.com/pop-os/libcosmic#2b9e0c09ee1f307a1b488cbd08a633ed30209ee1" dependencies = [ "bitflags 1.3.2", "bytemuck", @@ -2768,7 +2939,7 @@ dependencies = [ [[package]] name = "iced_widget" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#283aa2abd06d83abf0b8f9c1e38259599d05516a" +source = "git+https://github.com/pop-os/libcosmic#2b9e0c09ee1f307a1b488cbd08a633ed30209ee1" dependencies = [ "iced_renderer", "iced_runtime", @@ -2780,6 +2951,23 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "iced_winit" +version = "0.12.0" +source = "git+https://github.com/pop-os/libcosmic#2b9e0c09ee1f307a1b488cbd08a633ed30209ee1" +dependencies = [ + "iced_graphics", + "iced_runtime", + "iced_style", + "log", + "thiserror", + "tracing", + "web-sys", + "winapi", + "window_clipboard", + "winit", +] + [[package]] name = "icon-loader" version = "0.3.6" @@ -2869,6 +3057,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", ] [[package]] @@ -2914,7 +3105,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ "hermit-abi 0.3.3", - "rustix 0.38.26", + "rustix 0.38.27", "windows-sys 0.48.0", ] @@ -2942,6 +3133,21 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "jobserver" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" +dependencies = [ + "libc", +] + [[package]] name = "jpeg-decoder" version = "0.3.0" @@ -3036,7 +3242,7 @@ checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" [[package]] name = "libcosmic" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#283aa2abd06d83abf0b8f9c1e38259599d05516a" +source = "git+https://github.com/pop-os/libcosmic#2b9e0c09ee1f307a1b488cbd08a633ed30209ee1" dependencies = [ "apply", "ashpd", @@ -3057,6 +3263,7 @@ dependencies = [ "iced_style", "iced_tiny_skia", "iced_widget", + "iced_winit", "lazy_static", "nix 0.26.4", "palette", @@ -3167,6 +3374,17 @@ dependencies = [ "redox_syscall 0.4.1", ] +[[package]] +name = "libredox" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" +dependencies = [ + "bitflags 2.4.1", + "libc", + "redox_syscall 0.4.1", +] + [[package]] name = "linux-raw-sys" version = "0.3.8" @@ -3270,9 +3488,9 @@ dependencies = [ [[package]] name = "lyon_tessellation" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23bcac20d47825850fabf1e869bf7c2bbe2daefa0776c3cd2eb7cb74635f6e4a" +checksum = "1f5bcf02928361d18e6edb8ad3bc5b93cba8aa57e2508deb072c2d2ade8bbd0d" dependencies = [ "float_next_after", "lyon_path", @@ -3363,7 +3581,7 @@ dependencies = [ "bitflags 2.4.1", "block", "core-graphics-types", - "foreign-types", + "foreign-types 0.5.0", "log", "objc", "paste", @@ -3387,9 +3605,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" +checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" dependencies = [ "libc", "log", @@ -3417,9 +3635,9 @@ checksum = "16cf681a23b4d0a43fc35024c176437f9dcd818db34e0f42ab456a0ee5ad497b" [[package]] name = "naga" -version = "0.14.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cd05939c491da968a42986204b7431678be21fdcd4b10cc84997ba130ada5a4" +checksum = "ae585df4b6514cf8842ac0f1ab4992edc975892704835b549cf818dc0191249e" dependencies = [ "bit-set", "bitflags 2.4.1", @@ -3444,6 +3662,48 @@ dependencies = [ "getrandom", ] +[[package]] +name = "ndk" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0" +dependencies = [ + "bitflags 1.3.2", + "jni-sys", + "ndk-sys", + "num_enum 0.5.11", + "raw-window-handle", + "thiserror", +] + +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + +[[package]] +name = "ndk-sys" +version = "0.4.1+23.1.7779620" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3" +dependencies = [ + "jni-sys", +] + +[[package]] +name = "nix" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4916f159ed8e5de0082076562152a76b7a1f64a01fd9d1e0fea002c37624faf" +dependencies = [ + "bitflags 1.3.2", + "cc", + "cfg-if", + "libc", + "memoffset 0.6.5", +] + [[package]] name = "nix" version = "0.24.3" @@ -3456,6 +3716,19 @@ dependencies = [ "memoffset 0.6.5", ] +[[package]] +name = "nix" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4" +dependencies = [ + "autocfg", + "bitflags 1.3.2", + "cfg-if", + "libc", + "memoffset 0.6.5", +] + [[package]] name = "nix" version = "0.26.4" @@ -3617,6 +3890,48 @@ dependencies = [ "libc", ] +[[package]] +name = "num_enum" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +dependencies = [ + "num_enum_derive 0.5.11", +] + +[[package]] +name = "num_enum" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" +dependencies = [ + "num_enum_derive 0.6.1", +] + +[[package]] +name = "num_enum_derive" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "num_enum_derive" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 2.0.39", +] + [[package]] name = "objc" version = "0.2.7" @@ -3638,6 +3953,32 @@ dependencies = [ "objc_id", ] +[[package]] +name = "objc-sys" +version = "0.2.0-beta.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7" + +[[package]] +name = "objc2" +version = "0.3.0-beta.3.patch-leaks.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e01640f9f2cb1220bbe80325e179e532cb3379ebcd1bf2279d703c19fe3a468" +dependencies = [ + "block2", + "objc-sys", + "objc2-encode", +] + +[[package]] +name = "objc2-encode" +version = "2.0.0-pre.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512" +dependencies = [ + "objc-sys", +] + [[package]] name = "objc_exception" version = "0.1.2" @@ -3667,9 +4008,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "option-ext" @@ -3677,6 +4018,15 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +[[package]] +name = "orbclient" +version = "0.3.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166" +dependencies = [ + "libredox 0.0.2", +] + [[package]] name = "ordered-multimap" version = "0.4.3" @@ -3727,6 +4077,15 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +[[package]] +name = "owned_ttf_parser" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4586edfe4c648c71797a74c84bacb32b52b212eff5dfe2bb9f2c599844023e7" +dependencies = [ + "ttf-parser 0.20.0", +] + [[package]] name = "palette" version = "0.7.3" @@ -3952,7 +4311,7 @@ dependencies = [ "cfg-if", "concurrent-queue", "pin-project-lite", - "rustix 0.38.26", + "rustix 0.38.27", "tracing", "windows-sys 0.52.0", ] @@ -4057,7 +4416,7 @@ dependencies = [ "hex", "lazy_static", "procfs-core", - "rustix 0.38.26", + "rustix 0.38.27", ] [[package]] @@ -4226,7 +4585,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" dependencies = [ "getrandom", - "libredox", + "libredox 0.0.1", "thiserror", ] @@ -4278,7 +4637,7 @@ dependencies = [ "png", "rgb", "svgtypes", - "tiny-skia", + "tiny-skia 0.11.3", "usvg", ] @@ -4325,12 +4684,12 @@ dependencies = [ [[package]] name = "rust-embed" -version = "8.0.0" +version = "8.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e7d90385b59f0a6bf3d3b757f3ca4ece2048265d70db20a2016043d4509a40" +checksum = "810294a8a4a0853d4118e3b94bb079905f2107c7fe979d8f0faae98765eb6378" dependencies = [ - "rust-embed-impl 8.0.0", - "rust-embed-utils 8.0.0", + "rust-embed-impl 8.1.0", + "rust-embed-utils 8.1.0", "walkdir", ] @@ -4349,13 +4708,13 @@ dependencies = [ [[package]] name = "rust-embed-impl" -version = "8.0.0" +version = "8.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3d8c6fd84090ae348e63a84336b112b5c3918b3bf0493a581f7bd8ee623c29" +checksum = "bfc144a1273124a67b8c1d7cd19f5695d1878b31569c0512f6086f0f4676604e" dependencies = [ "proc-macro2", "quote", - "rust-embed-utils 8.0.0", + "rust-embed-utils 8.1.0", "syn 2.0.39", "walkdir", ] @@ -4372,9 +4731,9 @@ dependencies = [ [[package]] name = "rust-embed-utils" -version = "8.0.0" +version = "8.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "873feff8cb7bf86fdf0a71bb21c95159f4e4a37dd7a4bd1855a940909b583ada" +checksum = "816ccd4875431253d6bb54b804bcff4369cbde9bae33defde25fdf6c2ef91d40" dependencies = [ "sha2", "walkdir", @@ -4418,9 +4777,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.26" +version = "0.38.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9470c4bf8246c8daf25f9598dca807fb6510347b1e1cfa55749113850c79d88a" +checksum = "bfeae074e687625746172d639330f1de242a178bf3189b51e35a7a21573513ac" dependencies = [ "bitflags 2.4.1", "errno", @@ -4495,6 +4854,18 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "sctk-adwaita" +version = "0.5.4" +source = "git+https://github.com/pop-os/sctk-adwaita?branch=wayland-resize#da85380dfb8f0c13aed51c5bddaad0ba3654cb1f" +dependencies = [ + "ab_glyph", + "log", + "memmap2 0.5.10", + "smithay-client-toolkit 0.16.1 (git+https://github.com/pop-os/client-toolkit?branch=wayland-resize)", + "tiny-skia 0.8.4", +] + [[package]] name = "self_cell" version = "0.10.3" @@ -4680,21 +5051,39 @@ dependencies = [ "wayland-protocols 0.29.5", ] +[[package]] +name = "smithay-client-toolkit" +version = "0.16.1" +source = "git+https://github.com/pop-os/client-toolkit?branch=wayland-resize#515820fc86cf8cb3ac8d087dc6c87852767627ca" +dependencies = [ + "bitflags 1.3.2", + "calloop 0.10.6", + "dlib", + "lazy_static", + "log", + "memmap2 0.5.10", + "nix 0.24.3", + "pkg-config", + "wayland-client 0.29.5", + "wayland-cursor 0.29.5", + "wayland-protocols 0.29.5", +] + [[package]] name = "smithay-client-toolkit" version = "0.18.0" -source = "git+https://github.com/smithay/client-toolkit?rev=2e9bf9f#2e9bf9f31698851ca373e5f1e7ba3e6e804e4db1" +source = "git+https://github.com/smithay/client-toolkit//?rev=e63ab5f#e63ab5f01964bc48766fc4c3bf79cc05dc59874c" dependencies = [ "bitflags 2.4.1", "bytemuck", - "calloop", + "calloop 0.12.3", "calloop-wayland-source", "cursor-icon", "libc", "log", "memmap2 0.9.0", "pkg-config", - "rustix 0.38.26", + "rustix 0.38.27", "thiserror", "wayland-backend 0.3.2", "wayland-client 0.31.1", @@ -4713,7 +5102,7 @@ version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a345c870a1fae0b1b779085e81b51e614767c239e93503588e54c5b17f4b0e8" dependencies = [ - "smithay-client-toolkit 0.16.1", + "smithay-client-toolkit 0.16.1 (registry+https://github.com/rust-lang/crates.io-index)", "wayland-client 0.29.5", ] @@ -4746,17 +5135,17 @@ dependencies = [ "bytemuck", "cfg_aliases", "cocoa", - "core-graphics", + "core-graphics 0.23.1", "drm", "fastrand 2.0.1", - "foreign-types", + "foreign-types 0.5.0", "js-sys", "log", "memmap2 0.9.0", "objc", "raw-window-handle", "redox_syscall 0.4.1", - "rustix 0.38.26", + "rustix 0.38.27", "tiny-xlib", "wasm-bindgen", "wayland-backend 0.3.2", @@ -4764,7 +5153,7 @@ dependencies = [ "wayland-sys 0.31.1", "web-sys", "windows-sys 0.48.0", - "x11rb", + "x11rb 0.12.0", ] [[package]] @@ -4792,6 +5181,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "str-buf" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0" + [[package]] name = "strict-num" version = "0.1.1" @@ -4943,7 +5338,7 @@ dependencies = [ "cfg-if", "fastrand 2.0.1", "redox_syscall 0.4.1", - "rustix 0.38.26", + "rustix 0.38.27", "windows-sys 0.48.0", ] @@ -5025,6 +5420,20 @@ dependencies = [ "time-core", ] +[[package]] +name = "tiny-skia" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df8493a203431061e901613751931f047d1971337153f96d0e5e363d6dbf6a67" +dependencies = [ + "arrayref", + "arrayvec", + "bytemuck", + "cfg-if", + "png", + "tiny-skia-path 0.8.4", +] + [[package]] name = "tiny-skia" version = "0.11.3" @@ -5037,7 +5446,18 @@ dependencies = [ "cfg-if", "log", "png", - "tiny-skia-path", + "tiny-skia-path 0.11.3", +] + +[[package]] +name = "tiny-skia-path" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adbfb5d3f3dd57a0e11d12f4f13d4ebbbc1b5c15b7ab0a156d030b21da5f677c" +dependencies = [ + "arrayref", + "bytemuck", + "strict-num", ] [[package]] @@ -5309,9 +5729,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.13" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416" [[package]] name = "unicode-bidi-mirroring" @@ -5452,7 +5872,7 @@ dependencies = [ "rctree", "strict-num", "svgtypes", - "tiny-skia-path", + "tiny-skia-path 0.11.3", ] [[package]] @@ -5470,6 +5890,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +[[package]] +name = "vec_map" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + [[package]] name = "version-compare" version = "0.1.1" @@ -5995,6 +6421,20 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "window_clipboard" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63287c9c4396ccf5346d035a9b0fcaead9e18377637f5eaa78b7ac65c873ff7d" +dependencies = [ + "clipboard-win", + "clipboard_macos", + "clipboard_wayland", + "clipboard_x11", + "raw-window-handle", + "thiserror", +] + [[package]] name = "windows" version = "0.51.1" @@ -6014,6 +6454,15 @@ dependencies = [ "windows-targets 0.48.5", ] +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + [[package]] name = "windows-sys" version = "0.48.0" @@ -6032,6 +6481,21 @@ dependencies = [ "windows-targets 0.52.0", ] +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -6062,6 +6526,12 @@ dependencies = [ "windows_x86_64_msvc 0.52.0", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -6074,6 +6544,12 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -6086,6 +6562,12 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -6098,6 +6580,12 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -6110,6 +6598,12 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -6122,6 +6616,12 @@ 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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -6134,6 +6634,12 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -6146,15 +6652,72 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +[[package]] +name = "winit" +version = "0.28.6" +source = "git+https://github.com/pop-os/winit.git?branch=master#c6ad672264b2e320cd15a531f67e133d9ecd39bf" +dependencies = [ + "android-activity", + "bitflags 1.3.2", + "cfg_aliases", + "core-foundation", + "core-graphics 0.22.3", + "dispatch", + "instant", + "libc", + "log", + "mio", + "ndk", + "objc2", + "once_cell", + "orbclient", + "percent-encoding", + "raw-window-handle", + "redox_syscall 0.3.5", + "sctk-adwaita", + "smithay-client-toolkit 0.16.1 (git+https://github.com/pop-os/client-toolkit?branch=wayland-resize)", + "wasm-bindgen", + "wayland-client 0.29.5", + "wayland-commons", + "wayland-protocols 0.29.5", + "wayland-scanner 0.29.5", + "web-sys", + "windows-sys 0.45.0", + "x11-dl", +] + [[package]] name = "winnow" -version = "0.5.24" +version = "0.5.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0383266b19108dfc6314a56047aa545a1b4d1be60e799b4dbdd407b56402704b" +checksum = "b67b5f0a4e7a27a64c651977932b9dc5667ca7fc31ac44b03ed37a0cf42fdfff" dependencies = [ "memchr", ] +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "x11rb" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e99be55648b3ae2a52342f9a870c0e138709a3493261ce9b469afe6e4df6d8a" +dependencies = [ + "gethostname 0.2.3", + "nix 0.22.3", + "winapi", + "winapi-wsapoll", +] + [[package]] name = "x11rb" version = "0.12.0" @@ -6162,7 +6725,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a" dependencies = [ "as-raw-xcb-connection", - "gethostname", + "gethostname 0.3.0", "libc", "libloading 0.7.4", "nix 0.26.4", @@ -6340,18 +6903,18 @@ checksum = "dd15f8e0dbb966fd9245e7498c7e9e5055d9e5c8b676b95bd67091cd11a1e697" [[package]] name = "zerocopy" -version = "0.7.28" +version = "0.7.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d6f15f7ade05d2a4935e34a457b936c23dc70a05cc1d97133dc99e7a3fe0f0e" +checksum = "306dca4455518f1f31635ec308b6b3e4eb1b11758cefafc782827d0aa7acb5c7" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.28" +version = "0.7.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbbad221e3f78500350ecbd7dfa4e63ef945c05f4c61cb7f4d3f84cd0bba649b" +checksum = "be912bf68235a88fbefd1b73415cb218405958d1655b2ece9035a19920bdf6ba" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 05a78d89..443e79ff 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -46,5 +46,5 @@ lto = "thin" # [patch."https://github.com/pop-os/libcosmic"] # libcosmic = { path = "../libcosmic" } # cosmic-config = { path = "../libcosmic/cosmic-config" } -# [patch."https://github.com/Smithay/client-toolkit"] +[patch."https://github.com/Smithay/client-toolkit"] sctk = { git = "https://github.com/smithay/client-toolkit//", package = "smithay-client-toolkit", rev = "e63ab5f" } diff --git a/cosmic-app-list/src/app.rs b/cosmic-app-list/src/app.rs index 71e38972..7fedfd1d 100755 --- a/cosmic-app-list/src/app.rs +++ b/cosmic-app-list/src/app.rs @@ -200,7 +200,6 @@ struct DndOffer { struct CosmicAppList { core: cosmic::app::Core, popup: Option<(window::Id, DockItem)>, - surface_id_ctr: u128, subscription_ctr: u32, item_ctr: u32, active_list: Vec, @@ -424,12 +423,11 @@ impl cosmic::Application for CosmicAppList { None => return Command::none(), }; - self.surface_id_ctr += 1; - let new_id = window::Id(self.surface_id_ctr); + let new_id = window::Id::unique(); self.popup = Some((new_id, toplevel_group.clone())); let mut popup_settings = self.core.applet.get_popup_settings( - window::Id(0), + window::Id::MAIN, new_id, None, None, @@ -539,8 +537,7 @@ impl cosmic::Application for CosmicAppList { } }) { - self.surface_id_ctr += 1; - let icon_id = window::Id(self.surface_id_ctr); + let icon_id = window::Id::unique(); self.dnd_source = Some((icon_id, toplevel_group.clone(), DndAction::empty())); return start_drag( vec![MIME_TYPE.to_string()], @@ -549,7 +546,7 @@ impl cosmic::Application for CosmicAppList { } else { DndAction::Copy }, - window::Id(0), + window::Id::MAIN, Some(DndIcon::Custom(icon_id)), Box::new(toplevel_group), ); diff --git a/cosmic-applet-audio/src/main.rs b/cosmic-applet-audio/src/main.rs index d5d30b12..4d5943b8 100644 --- a/cosmic-applet-audio/src/main.rs +++ b/cosmic-applet-audio/src/main.rs @@ -63,7 +63,6 @@ struct Audio { icon_name: String, input_icon_name: String, popup: Option, - id_ctr: u128, timeline: Timeline, config: AudioAppletConfig, player_status: Option, @@ -304,12 +303,11 @@ impl cosmic::Application for Audio { if let Some(conn) = self.pulse_state.connection() { conn.send(pulse::Message::UpdateConnection); } - self.id_ctr += 1; - let new_id = window::Id(self.id_ctr); + let new_id = window::Id::unique(); self.popup.replace(new_id); let mut popup_settings = self.core.applet.get_popup_settings( - window::Id(0), + window::Id::MAIN, new_id, None, None, diff --git a/cosmic-applet-battery/src/app.rs b/cosmic-applet-battery/src/app.rs index 5dc715ca..0e61f0c2 100644 --- a/cosmic-applet-battery/src/app.rs +++ b/cosmic-applet-battery/src/app.rs @@ -66,7 +66,6 @@ struct CosmicBatteryApplet { kbd_brightness: f64, screen_brightness: f64, popup: Option, - id_ctr: u128, screen_sender: Option>, kbd_sender: Option>, power_profile: Power, @@ -224,12 +223,11 @@ impl cosmic::Application for CosmicBatteryApplet { let _ = tx.send(ScreenBacklightRequest::Get); } - self.id_ctr += 1; - let new_id = window::Id(self.id_ctr); + let new_id = window::Id::unique(); self.popup.replace(new_id); let mut popup_settings = self.core.applet.get_popup_settings( - window::Id(0), + window::Id::MAIN, new_id, None, None, diff --git a/cosmic-applet-bluetooth/src/app.rs b/cosmic-applet-bluetooth/src/app.rs index d3cdb7e1..7b07786a 100644 --- a/cosmic-applet-bluetooth/src/app.rs +++ b/cosmic-applet-bluetooth/src/app.rs @@ -41,7 +41,6 @@ struct CosmicBluetoothApplet { core: cosmic::app::Core, icon_name: String, popup: Option, - id_ctr: u128, bluer_state: BluerState, bluer_sender: Option>, // UI state @@ -117,12 +116,11 @@ impl cosmic::Application for CosmicBluetoothApplet { return destroy_popup(p); } else { // TODO request update of state maybe - self.id_ctr += 1; - let new_id = window::Id(self.id_ctr); + let new_id = window::Id::unique(); self.popup.replace(new_id); let mut popup_settings = self.core.applet.get_popup_settings( - window::Id(0), + window::Id::MAIN, new_id, None, None, diff --git a/cosmic-applet-graphics/src/window.rs b/cosmic-applet-graphics/src/window.rs index a3c874f9..294fbeb6 100644 --- a/cosmic-applet-graphics/src/window.rs +++ b/cosmic-applet-graphics/src/window.rs @@ -42,7 +42,6 @@ pub struct Window { core: cosmic::app::Core, popup: Option, graphics_mode: Option, - id_ctr: u128, dbus: Option<(Connection, PowerDaemonProxy<'static>)>, } @@ -113,8 +112,7 @@ impl cosmic::Application for Window { if let Some(p) = self.popup.take() { return destroy_popup(p); } else { - self.id_ctr += 1; - let new_id = window::Id(self.id_ctr); + let new_id = window::Id::unique(); self.popup.replace(new_id); let mut commands = Vec::new(); if let Some((_, proxy)) = self.dbus.as_ref() { @@ -124,7 +122,7 @@ impl cosmic::Application for Window { )); } let popup_settings = self.core.applet.get_popup_settings( - window::Id(0), + window::Id::MAIN, new_id, None, None, diff --git a/cosmic-applet-network/src/app.rs b/cosmic-applet-network/src/app.rs index 08aec7d3..3dd47ee6 100644 --- a/cosmic-applet-network/src/app.rs +++ b/cosmic-applet-network/src/app.rs @@ -88,7 +88,6 @@ struct CosmicNetworkApplet { core: cosmic::app::Core, icon_name: String, popup: Option, - id_ctr: u128, nm_state: NetworkManagerState, // UI state nm_sender: Option>, @@ -226,12 +225,11 @@ impl cosmic::Application for CosmicNetworkApplet { return destroy_popup(p); } else { // TODO request update of state maybe - self.id_ctr += 1; - let new_id = window::Id(self.id_ctr); + let new_id = window::Id::unique(); self.popup.replace(new_id); let mut popup_settings = self.core.applet.get_popup_settings( - window::Id(0), + window::Id::MAIN, new_id, None, None, diff --git a/cosmic-applet-notifications/src/main.rs b/cosmic-applet-notifications/src/main.rs index 3dfcac0b..2dafbc52 100644 --- a/cosmic-applet-notifications/src/main.rs +++ b/cosmic-applet-notifications/src/main.rs @@ -49,7 +49,6 @@ struct Notifications { config_helper: Option, icon_name: String, popup: Option, - id_ctr: u128, // notifications: Vec, timeline: Timeline, dbus_sender: Option>, @@ -187,12 +186,11 @@ impl cosmic::Application for Notifications { if let Some(p) = self.popup.take() { return destroy_popup(p); } else { - self.id_ctr += 1; - let new_id = window::Id(self.id_ctr); + let new_id = window::Id::unique(); self.popup.replace(new_id); let mut popup_settings = self.core.applet.get_popup_settings( - window::Id(0), + window::Id::MAIN, new_id, None, None, diff --git a/cosmic-applet-power/src/main.rs b/cosmic-applet-power/src/main.rs index 21e0f8aa..7ca8fa2b 100644 --- a/cosmic-applet-power/src/main.rs +++ b/cosmic-applet-power/src/main.rs @@ -10,6 +10,7 @@ use cosmic::iced::event::{listen_with, PlatformSpecific}; use cosmic::iced::time; use cosmic::iced::wayland::actions::layer_surface::SctkLayerSurfaceSettings; use cosmic::iced::wayland::popup::{destroy_popup, get_popup}; +use cosmic::iced_futures::event::listen_raw; use cosmic::iced_runtime::core::layout::Limits; use cosmic::iced_sctk::commands::layer_surface::{ destroy_layer_surface, get_layer_surface, Anchor, KeyboardInteractivity, @@ -53,7 +54,6 @@ struct Power { core: cosmic::app::Core, icon_name: String, popup: Option, - id_ctr: u128, action_to_confirm: Option<(window::Id, PowerAction, u8)>, } @@ -128,12 +128,11 @@ impl cosmic::Application for Power { if let Some(p) = self.popup.take() { destroy_popup(p) } else { - self.id_ctr += 1; - let new_id = window::Id(self.id_ctr); + let new_id = window::Id::unique(); self.popup.replace(new_id); let mut popup_settings = self.core.applet.get_popup_settings( - window::Id(0), + window::Id::MAIN, new_id, None, None, @@ -152,8 +151,7 @@ impl cosmic::Application for Power { Command::none() } Message::Action(action) => { - self.id_ctr += 1; - let id = window::Id(self.id_ctr); + let id = window::Id::unique(); self.action_to_confirm = Some((id, action, COUNTDOWN_LENGTH)); get_layer_surface(SctkLayerSurfaceSettings { id, diff --git a/cosmic-applet-status-area/src/components/app.rs b/cosmic-applet-status-area/src/components/app.rs index 4b085ef8..51a9a755 100644 --- a/cosmic-applet-status-area/src/components/app.rs +++ b/cosmic-applet-status-area/src/components/app.rs @@ -34,7 +34,6 @@ struct App { menus: BTreeMap, open_menu: Option, max_menu_id: usize, - max_popup_id: u128, popup: Option, } @@ -45,14 +44,13 @@ impl App { } fn next_popup_id(&mut self) -> window::Id { - self.max_popup_id += 1; - window::Id(self.max_popup_id) + window::Id::unique() } fn resize_window(&self) -> Command { let icon_size = self.core.applet.suggested_size().0 as u32 + APPLET_PADDING * 2; let n = self.menus.len() as u32; - resize_window(window::Id(0), 1.max(icon_size * n), icon_size) + resize_window(window::Id::MAIN, 1.max(icon_size * n), icon_size) } } @@ -144,7 +142,7 @@ impl cosmic::Application for App { if self.popup.is_none() { let id = self.next_popup_id(); let popup_settings = self.core.applet.get_popup_settings( - window::Id(0), + window::Id::MAIN, id, None, None, diff --git a/cosmic-applet-tiling/src/window.rs b/cosmic-applet-tiling/src/window.rs index f72c17b2..29c77a7d 100644 --- a/cosmic-applet-tiling/src/window.rs +++ b/cosmic-applet-tiling/src/window.rs @@ -26,7 +26,6 @@ pub struct Window { core: Core, popup: Option, timeline: Timeline, - id_ctr: u128, tile_windows: bool, active_hint: spin_button::Model, gaps: spin_button::Model, @@ -95,13 +94,12 @@ impl cosmic::Application for Window { return if let Some(p) = self.popup.take() { destroy_popup(p) } else { - self.id_ctr += 1; - let new_id = Id(self.id_ctr); + let new_id = Id::unique(); self.popup.replace(new_id); let mut popup_settings = self.core .applet - .get_popup_settings(Id(0), new_id, None, None, None); + .get_popup_settings(Id::MAIN, new_id, None, None, None); popup_settings.positioner.size_limits = Limits::NONE .max_width(372.0) .min_width(300.0) diff --git a/cosmic-applet-time/src/window.rs b/cosmic-applet-time/src/window.rs index b4aeccb8..d7444d06 100644 --- a/cosmic-applet-time/src/window.rs +++ b/cosmic-applet-time/src/window.rs @@ -34,7 +34,6 @@ enum Every { pub struct Window { core: cosmic::app::Core, popup: Option, - id_ctr: u128, update_at: Every, now: DateTime, rectangle_tracker: Option>, @@ -69,7 +68,6 @@ impl cosmic::Application for Window { Self { core, popup: None, - id_ctr: 0, update_at: Every::Minute, now: Local::now(), rectangle_tracker: None, @@ -126,12 +124,11 @@ impl cosmic::Application for Window { if let Some(p) = self.popup.take() { destroy_popup(p) } else { - self.id_ctr += 1; - let new_id = window::Id(self.id_ctr); + let new_id = window::Id::unique(); self.popup.replace(new_id); let mut popup_settings = self.core.applet.get_popup_settings( - window::Id(0), + window::Id::MAIN, new_id, None, None, diff --git a/cosmic-applet-workspaces/src/components/app.rs b/cosmic-applet-workspaces/src/components/app.rs index 2e03b504..f89f86f2 100644 --- a/cosmic-applet-workspaces/src/components/app.rs +++ b/cosmic-applet-workspaces/src/components/app.rs @@ -5,6 +5,7 @@ use cosmic::iced::mouse::{self, ScrollDelta}; use cosmic::iced::widget::{button, column, container, row, text}; use cosmic::iced::{subscription, Event::Mouse, Length, Subscription}; use cosmic::iced_core::Background; +use cosmic::iced_futures::event::listen_raw; use cosmic::iced_style::application; use cosmic::{applet::cosmic_panel_config::PanelAnchor, font::FONT_BOLD, Command}; use cosmic::{Element, Theme};