diff --git a/Cargo.lock b/Cargo.lock index 92f686fe..eed3fc70 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -173,7 +173,7 @@ dependencies = [ "wayland-backend", "wayland-client", "wayland-protocols 0.31.2", - "zbus 4.2.2", + "zbus 4.3.1", ] [[package]] @@ -266,7 +266,7 @@ dependencies = [ "futures-io", "futures-lite 2.3.0", "parking", - "polling 3.7.1", + "polling 3.7.2", "rustix 0.38.34", "slab", "tracing", @@ -349,14 +349,14 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "async-signal" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "329972aa325176e89114919f2a80fdae4f4c040f66a370b1a1159c6c0f94e7aa" +checksum = "794f185324c2f00e771cd9f1ae8b5ac68be2ca7abb129a87afd6e86d228bc54d" dependencies = [ "async-io 2.3.3", "async-lock 3.4.0", @@ -378,13 +378,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.80" +version = "0.1.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -459,9 +459,9 @@ checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "backtrace" -version = "0.3.72" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" dependencies = [ "addr2line", "cc", @@ -507,9 +507,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" dependencies = [ "serde", ] @@ -544,9 +544,9 @@ dependencies = [ [[package]] name = "bluer" -version = "0.17.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce636932455607d7227fa44d2c6b888a9f5f48e11c0e95fc4d0d793aac71fb98" +checksum = "204d6580f8238447c5d4d6a338f82b573375dae7bf992fec7347a44240a7e6d8" dependencies = [ "custom_debug", "dbus", @@ -559,7 +559,7 @@ dependencies = [ "libc", "log", "macaddr", - "nix 0.27.1", + "nix 0.29.0", "num-derive 0.4.2", "num-traits", "pin-project", @@ -585,9 +585,9 @@ checksum = "64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06" [[package]] name = "bytemuck" -version = "1.16.0" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78834c15cb5d5efe3452d58b1e8ba890dd62d21907f867f383358198e56ebca5" +checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" dependencies = [ "bytemuck_derive", ] @@ -600,7 +600,7 @@ checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -631,9 +631,9 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "log", - "polling 3.7.1", + "polling 3.7.2", "rustix 0.38.34", "slab", "thiserror", @@ -653,9 +653,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.98" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f" +checksum = "eaff6f8ce506b9773fa786672d63fc7a191ffea1be33f72bbd4aeacefca9ffc8" [[package]] name = "cfg-if" @@ -686,28 +686,18 @@ dependencies = [ "js-sys", "num-traits", "wasm-bindgen", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] name = "clipboard-win" -version = "5.3.1" +version = "5.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79f4473f5144e20d9aceaf2972478f06ddf687831eafeeb434fbaf0acc4144ad" +checksum = "15efe7a882b08f34e38556b14f2fb3daa98769d06c7f0c1b076dfd0d983bc892" dependencies = [ "error-code", ] -[[package]] -name = "clipboard_macos" -version = "0.1.0" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-7#a5be70405574e98c292537fd3b01a1352550b9bf" -dependencies = [ - "objc", - "objc-foundation", - "objc_id", -] - [[package]] name = "clipboard_macos" version = "0.1.0" @@ -718,35 +708,16 @@ dependencies = [ "objc_id", ] -[[package]] -name = "clipboard_wayland" -version = "0.2.2" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-7#a5be70405574e98c292537fd3b01a1352550b9bf" -dependencies = [ - "dnd 0.1.0 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-7)", - "mime 0.1.0 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-7)", - "smithay-clipboard", -] - [[package]] name = "clipboard_wayland" version = "0.2.2" source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8#7c59b07b9172d8e0401f7e06609e1050575309c9" dependencies = [ - "dnd 0.1.0 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8)", - "mime 0.1.0 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8)", + "dnd", + "mime 0.1.0", "smithay-clipboard", ] -[[package]] -name = "clipboard_x11" -version = "0.4.2" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-7#a5be70405574e98c292537fd3b01a1352550b9bf" -dependencies = [ - "thiserror", - "x11rb", -] - [[package]] name = "clipboard_x11" version = "0.4.2" @@ -918,7 +889,7 @@ dependencies = [ "anyhow", "cosmic-client-toolkit", "cosmic-protocols", - "freedesktop-desktop-entry 0.6.1", + "freedesktop-desktop-entry 0.6.2", "futures", "i18n-embed 0.14.1", "i18n-embed-fl 0.8.0", @@ -928,7 +899,7 @@ dependencies = [ "memmap2 0.9.4", "once_cell", "rand", - "rust-embed 8.4.0", + "rust-embed 8.5.0", "rustix 0.38.34", "serde", "switcheroo-control", @@ -937,7 +908,7 @@ dependencies = [ "tracing-log", "tracing-subscriber", "url", - "zbus 4.2.2", + "zbus 4.3.1", ] [[package]] @@ -951,7 +922,7 @@ dependencies = [ "libcosmic", "libpulse-binding", "mpris2-zbus", - "rust-embed 8.4.0", + "rust-embed 8.5.0", "serde", "tokio", "tracing", @@ -959,7 +930,7 @@ dependencies = [ "tracing-subscriber", "url", "urlencoding", - "zbus 4.2.2", + "zbus 4.3.1", ] [[package]] @@ -974,13 +945,13 @@ dependencies = [ "i18n-embed-fl 0.8.0", "libcosmic", "once_cell", - "rust-embed 8.4.0", + "rust-embed 8.5.0", "tokio", "tracing", "tracing-log", "tracing-subscriber", "udev", - "zbus 4.2.2", + "zbus 4.3.1", ] [[package]] @@ -996,7 +967,7 @@ dependencies = [ "libcosmic", "once_cell", "rand", - "rust-embed 8.4.0", + "rust-embed 8.5.0", "tokio", "tracing", "tracing-log", @@ -1014,7 +985,7 @@ dependencies = [ "libcosmic", "libpulse-binding", "once_cell", - "rust-embed 8.4.0", + "rust-embed 8.5.0", "serde", "tokio", "tracing", @@ -1034,7 +1005,7 @@ dependencies = [ "libcosmic", "memmap2 0.9.4", "once_cell", - "rust-embed 8.4.0", + "rust-embed 8.5.0", "rustix 0.38.34", "tokio", "tracing", @@ -1055,12 +1026,12 @@ dependencies = [ "i18n-embed-fl 0.8.0", "itertools 0.13.0", "libcosmic", - "rust-embed 8.4.0", + "rust-embed 8.5.0", "tokio", "tracing", "tracing-log", "tracing-subscriber", - "zbus 4.2.2", + "zbus 4.3.1", ] [[package]] @@ -1084,7 +1055,7 @@ dependencies = [ "tracing-log", "tracing-subscriber", "url", - "zbus 4.2.2", + "zbus 4.3.1", ] [[package]] @@ -1096,13 +1067,13 @@ dependencies = [ "libcosmic", "logind-zbus", "once_cell", - "rust-embed 8.4.0", + "rust-embed 8.5.0", "rustix 0.38.34", "tokio", "tracing", "tracing-log", "tracing-subscriber", - "zbus 4.2.2", + "zbus 4.3.1", ] [[package]] @@ -1116,7 +1087,7 @@ dependencies = [ "tracing", "tracing-log", "tracing-subscriber", - "zbus 4.2.2", + "zbus 4.3.1", ] [[package]] @@ -1132,7 +1103,7 @@ dependencies = [ "i18n-embed-fl 0.8.0", "libcosmic", "once_cell", - "rust-embed 8.4.0", + "rust-embed 8.5.0", "tokio", "tracing", "tracing-log", @@ -1150,7 +1121,7 @@ dependencies = [ "icu", "libcosmic", "once_cell", - "rust-embed 8.4.0", + "rust-embed 8.5.0", "tokio", "tracing", "tracing-log", @@ -1169,7 +1140,7 @@ dependencies = [ "i18n-embed-fl 0.8.0", "libcosmic", "once_cell", - "rust-embed 8.4.0", + "rust-embed 8.5.0", "tokio", "tracing", "tracing-log", @@ -1229,7 +1200,7 @@ dependencies = [ "cosmic-settings-daemon", "dirs 5.0.1", "futures-util", - "iced_futures 0.12.0", + "iced_futures", "known-folders", "notify", "once_cell", @@ -1238,7 +1209,7 @@ dependencies = [ "tokio", "tracing", "xdg", - "zbus 4.2.2", + "zbus 4.3.1", ] [[package]] @@ -1252,15 +1223,15 @@ dependencies = [ [[package]] name = "cosmic-dbus-networkmanager" version = "0.1.0" -source = "git+https://github.com/pop-os/dbus-settings-bindings#1fdfcc8045e6732fc54b2c945008e89999a6cf71" +source = "git+https://github.com/pop-os/dbus-settings-bindings#cd21ddcb1b5cbfc80ab84b34d3c8b1ff3d81179a" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "derive_builder", "procfs", "thiserror", "time", - "zbus 4.2.2", - "zvariant 4.1.1", + "zbus 4.3.1", + "zvariant 4.1.2", ] [[package]] @@ -1282,7 +1253,7 @@ dependencies = [ "serde", "tracing", "url", - "zbus 4.2.2", + "zbus 4.3.1", ] [[package]] @@ -1301,7 +1272,7 @@ dependencies = [ [[package]] name = "cosmic-panel-config" version = "0.1.0" -source = "git+https://github.com/pop-os/cosmic-panel#e082d6d40b5781a0d812e5a5f360367be944e6f0" +source = "git+https://github.com/pop-os/cosmic-panel#4496788f8c1f842863b2ffd1bf027af6d5b12f48" dependencies = [ "anyhow", "cosmic-config", @@ -1318,11 +1289,11 @@ name = "cosmic-protocols" version = "0.1.0" source = "git+https://github.com/pop-os/cosmic-protocols?rev=c8d3a1c#c8d3a1c3d40d16235f4720969a54ed570ec7a976" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "wayland-backend", "wayland-client", - "wayland-protocols 0.32.1", - "wayland-protocols-wlr 0.3.1", + "wayland-protocols 0.32.2", + "wayland-protocols-wlr 0.3.2", "wayland-scanner", "wayland-server", ] @@ -1330,43 +1301,42 @@ dependencies = [ [[package]] name = "cosmic-settings-daemon" version = "0.1.0" -source = "git+https://github.com/pop-os/dbus-settings-bindings#1fdfcc8045e6732fc54b2c945008e89999a6cf71" +source = "git+https://github.com/pop-os/dbus-settings-bindings#cd21ddcb1b5cbfc80ab84b34d3c8b1ff3d81179a" dependencies = [ - "zbus 4.2.2", + "zbus 4.3.1", ] [[package]] name = "cosmic-settings-subscriptions" version = "0.1.0" -source = "git+https://github.com/pop-os/cosmic-settings-subscriptions#c19240ad2c9f11ef5cec8ed8c70255c3dc9ae8d4" dependencies = [ "futures", - "iced_futures 0.12.0 (git+https://github.com/pop-os/libcosmic)", + "iced_futures", "libpulse-binding", "log", "rustix 0.38.34", "tokio", "tokio-stream", "upower_dbus", - "zbus 4.2.2", + "zbus 4.3.1", ] [[package]] name = "cosmic-text" -version = "0.11.2" -source = "git+https://github.com/pop-os/cosmic-text.git#8bb45d7aca5b4a109924f3162d670297b6bd4a19" +version = "0.12.0" +source = "git+https://github.com/pop-os/cosmic-text.git#a03ec6b75f0ea8fd6264d6cd05afcec3c2213f8f" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "fontdb", "log", "rangemap", "rayon", "rustc-hash", - "rustybuzz", + "rustybuzz 0.14.1", "self_cell 1.0.4", "swash", "sys-locale", - "ttf-parser", + "ttf-parser 0.21.1", "unicode-bidi", "unicode-linebreak", "unicode-script", @@ -1392,7 +1362,6 @@ dependencies = [ [[package]] name = "cosmic-time" version = "0.4.0" -source = "git+https://github.com/pop-os/cosmic-time#714acf7ebc704a47429491c3fc81335b6e1f474a" dependencies = [ "float-cmp", "libcosmic", @@ -1510,11 +1479,11 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f731440b39c73910e253cb465ec1fac97732b3c7af215639881ec0c2a38f4f69" dependencies = [ - "darling 0.20.9", + "darling 0.20.10", "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", "synstructure", ] @@ -1523,8 +1492,8 @@ name = "d3d12" version = "0.19.0" source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" dependencies = [ - "bitflags 2.5.0", - "libloading 0.8.3", + "bitflags 2.6.0", + "libloading 0.8.4", "winapi", ] @@ -1540,12 +1509,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ - "darling_core 0.20.9", - "darling_macro 0.20.9", + "darling_core 0.20.10", + "darling_macro 0.20.10", ] [[package]] @@ -1564,16 +1533,16 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -1589,13 +1558,13 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ - "darling_core 0.20.9", + "darling_core 0.20.10", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -1707,10 +1676,10 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e8ef033054e131169b8f0f9a7af8f5533a9436fadf3c500ed547f730f07090d" dependencies = [ - "darling 0.20.9", + "darling 0.20.10", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -1772,13 +1741,13 @@ checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" [[package]] name = "displaydoc" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -1787,7 +1756,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" dependencies = [ - "libloading 0.7.4", + "libloading 0.8.4", ] [[package]] @@ -1799,25 +1768,13 @@ dependencies = [ "const-random", ] -[[package]] -name = "dnd" -version = "0.1.0" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-7#a5be70405574e98c292537fd3b01a1352550b9bf" -dependencies = [ - "bitflags 2.5.0", - "mime 0.1.0 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-7)", - "raw-window-handle", - "smithay-client-toolkit 0.19.1", - "smithay-clipboard", -] - [[package]] name = "dnd" version = "0.1.0" source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8#7c59b07b9172d8e0401f7e06609e1050575309c9" dependencies = [ - "bitflags 2.5.0", - "mime 0.1.0 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8)", + "bitflags 2.6.0", + "mime 0.1.0", "raw-window-handle", "smithay-client-toolkit 0.19.1", "smithay-clipboard", @@ -1835,7 +1792,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "bytemuck", "drm-ffi", "drm-fourcc", @@ -1870,9 +1827,9 @@ dependencies = [ [[package]] name = "either" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "endi" @@ -1893,9 +1850,9 @@ dependencies = [ [[package]] name = "enumflags2" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d" +checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" dependencies = [ "enumflags2_derive", "serde", @@ -1903,13 +1860,13 @@ dependencies = [ [[package]] name = "enumflags2_derive" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" +checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -1936,9 +1893,9 @@ checksum = "a0474425d51df81997e2f90a21591180b38eccf27292d755f3e30750225c175b" [[package]] name = "etagere" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff377452246a4a2e0ef3a7e85ce78ed77c7f93c3a4771e1c93d0cc0c69eb411" +checksum = "0e2f1e3be19fb10f549be8c1bf013e8675b4066c445e36eb76d2ebb2f54ee495" dependencies = [ "euclid", "svg_fmt", @@ -2192,7 +2149,7 @@ dependencies = [ "memmap2 0.9.4", "slotmap", "tinyvec", - "ttf-parser", + "ttf-parser 0.20.0", ] [[package]] @@ -2213,7 +2170,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -2256,9 +2213,9 @@ dependencies = [ [[package]] name = "freedesktop-desktop-entry" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77645c830a27554c72e113165fefa4f117ed9a45228b535f05df3e1ad4d13426" +checksum = "e33809936d2fa9ac78750c5c04696a7aabdb09f928454957c77a2c8247f5ff98" dependencies = [ "dirs 5.0.1", "gettext-rs", @@ -2377,7 +2334,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -2542,7 +2499,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "gpu-alloc-types", ] @@ -2552,7 +2509,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", ] [[package]] @@ -2574,7 +2531,7 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "gpu-descriptor-types", "hashbrown", ] @@ -2585,7 +2542,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", ] [[package]] @@ -2630,10 +2587,10 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "com", "libc", - "libloading 0.7.4", + "libloading 0.8.4", "thiserror", "widestring", "winapi", @@ -2657,6 +2614,12 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + [[package]] name = "hex" version = "0.4.3" @@ -2721,7 +2684,7 @@ dependencies = [ "locale_config", "log", "parking_lot 0.12.3", - "rust-embed 8.4.0", + "rust-embed 8.5.0", "thiserror", "unic-langid", "walkdir", @@ -2744,7 +2707,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.10.0", - "syn 2.0.66", + "syn 2.0.70", "unic-langid", ] @@ -2765,7 +2728,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.10.0", - "syn 2.0.66", + "syn 2.0.70", "unic-langid", ] @@ -2779,7 +2742,7 @@ dependencies = [ "i18n-config", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -2809,17 +2772,17 @@ dependencies = [ name = "iced" version = "0.12.0" dependencies = [ - "dnd 0.1.0 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8)", + "dnd", "iced_accessibility", - "iced_core 0.12.0", - "iced_futures 0.12.0", + "iced_core", + "iced_futures", "iced_renderer", "iced_sctk", "iced_widget", "image 0.24.9", - "mime 0.1.0 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8)", + "mime 0.1.0", "thiserror", - "window_clipboard 0.4.1 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8)", + "window_clipboard", ] [[package]] @@ -2834,11 +2797,11 @@ dependencies = [ name = "iced_core" version = "0.12.0" dependencies = [ - "bitflags 2.5.0", - "dnd 0.1.0 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8)", + "bitflags 2.6.0", + "dnd", "iced_accessibility", "log", - "mime 0.1.0 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8)", + "mime 0.1.0", "num-traits", "palette", "raw-window-handle", @@ -2847,25 +2810,7 @@ dependencies = [ "smol_str", "thiserror", "web-time", - "window_clipboard 0.4.1 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8)", - "xxhash-rust", -] - -[[package]] -name = "iced_core" -version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#f820eb7ffe8ad6e5931f481469eeb79d1a68ab50" -dependencies = [ - "bitflags 2.5.0", - "dnd 0.1.0 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-7)", - "log", - "mime 0.1.0 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-7)", - "num-traits", - "raw-window-handle", - "smol_str", - "thiserror", - "web-time", - "window_clipboard 0.4.1 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-7)", + "window_clipboard", "xxhash-rust", ] @@ -2874,36 +2819,24 @@ name = "iced_futures" version = "0.12.0" dependencies = [ "futures", - "iced_core 0.12.0", + "iced_core", "log", "tokio", "wasm-bindgen-futures", "wasm-timer", ] -[[package]] -name = "iced_futures" -version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic#f820eb7ffe8ad6e5931f481469eeb79d1a68ab50" -dependencies = [ - "futures", - "iced_core 0.12.0 (git+https://github.com/pop-os/libcosmic)", - "log", - "wasm-bindgen-futures", - "wasm-timer", -] - [[package]] name = "iced_graphics" version = "0.12.0" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "bytemuck", "cosmic-text", "glam", "half", - "iced_core 0.12.0", - "iced_futures 0.12.0", + "iced_core", + "iced_futures", "image 0.24.9", "kamadak-exif", "log", @@ -2931,13 +2864,13 @@ dependencies = [ name = "iced_runtime" version = "0.12.0" dependencies = [ - "dnd 0.1.0 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8)", + "dnd", "iced_accessibility", - "iced_core 0.12.0", - "iced_futures 0.12.0", + "iced_core", + "iced_futures", "smithay-client-toolkit 0.19.1", "thiserror", - "window_clipboard 0.4.1 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8)", + "window_clipboard", ] [[package]] @@ -2947,7 +2880,7 @@ dependencies = [ "enum-repr", "float-cmp", "futures", - "iced_futures 0.12.0", + "iced_futures", "iced_graphics", "iced_runtime", "iced_style", @@ -2958,8 +2891,8 @@ dependencies = [ "thiserror", "tracing", "wayland-backend", - "wayland-protocols 0.32.1", - "window_clipboard 0.4.1 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8)", + "wayland-protocols 0.32.2", + "window_clipboard", "xkbcommon", "xkbcommon-dl", "xkeysym", @@ -2969,7 +2902,7 @@ dependencies = [ name = "iced_style" version = "0.12.0" dependencies = [ - "iced_core 0.12.0", + "iced_core", "once_cell", "palette", ] @@ -2994,7 +2927,7 @@ dependencies = [ name = "iced_wgpu" version = "0.12.0" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "bytemuck", "futures", "glam", @@ -3010,7 +2943,7 @@ dependencies = [ "smithay-client-toolkit 0.19.1", "wayland-backend", "wayland-client", - "wayland-protocols 0.32.1", + "wayland-protocols 0.32.2", "wayland-sys", "wgpu", ] @@ -3019,7 +2952,7 @@ dependencies = [ name = "iced_widget" version = "0.12.0" dependencies = [ - "dnd 0.1.0 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8)", + "dnd", "iced_renderer", "iced_runtime", "iced_style", @@ -3028,7 +2961,7 @@ dependencies = [ "smithay-client-toolkit 0.19.1", "thiserror", "unicode-segmentation", - "window_clipboard 0.4.1 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8)", + "window_clipboard", ] [[package]] @@ -3057,9 +2990,9 @@ dependencies = [ [[package]] name = "icu_calendar" -version = "1.5.0" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4231cddf3dcbfc21e04bb52768f18e11a077d2935774eabdf7b239bb83bf3882" +checksum = "7265b2137f9a36f7634a308d91f984574bbdba8cfd95ceffe1c345552275a8ff" dependencies = [ "calendrical_calculations", "displaydoc", @@ -3080,9 +3013,9 @@ checksum = "8e009b7f0151ee6fb28c40b1283594397e0b7183820793e9ace3dcd13db126d0" [[package]] name = "icu_casemap" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7701c9ff229dae365623cfb1b24c86552fe3a8e82877f9a75400b95452a9c02" +checksum = "9ff0c8ae9f8d31b12e27fc385ff9ab1f3cd9b17417c665c49e4ec958c37da75f" dependencies = [ "displaydoc", "icu_casemap_data", @@ -3139,9 +3072,9 @@ dependencies = [ [[package]] name = "icu_datetime" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea57d14f11efa0425216b4e183db61dd23e1bb1357a86009308de18812bb860e" +checksum = "d115efb85e08df3fd77e77f52e7e087545a783fffba8be80bfa2102f306b1780" dependencies = [ "displaydoc", "either", @@ -3335,9 +3268,9 @@ checksum = "9e3e8f775b215d45838814a090a2227247a7431d74e9156407d9c37f6ef0f208" [[package]] name = "icu_properties" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f8ac670d7422d7f76b32e17a5db556510825b29ec9154f235977c9caba61036" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" dependencies = [ "displaydoc", "icu_collections", @@ -3379,7 +3312,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -3512,7 +3445,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7911ce3db9c10c5ab4a35c49af778a5f9a827bd0f7371d9be56175d8dd2740d0" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "input-sys", "io-lifetimes 1.0.11", "libc", @@ -3560,7 +3493,7 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", "windows-sys 0.48.0", ] @@ -3629,7 +3562,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" dependencies = [ "libc", - "libloading 0.8.3", + "libloading 0.8.4", "pkg-config", ] @@ -3679,9 +3612,9 @@ dependencies = [ [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "lebe" @@ -3713,8 +3646,8 @@ dependencies = [ "freedesktop-desktop-entry 0.5.2", "freedesktop-icons", "iced", - "iced_core 0.12.0", - "iced_futures 0.12.0", + "iced_core", + "iced_futures", "iced_renderer", "iced_runtime", "iced_sctk", @@ -3737,7 +3670,7 @@ dependencies = [ "tracing", "unicode-segmentation", "url", - "zbus 4.2.2", + "zbus 4.3.1", ] [[package]] @@ -3761,12 +3694,12 @@ dependencies = [ [[package]] name = "libloading" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" +checksum = "e310b3a6b5907f99202fcdb4960ff45b93735d7c7d96b760fcff8db2dc0e103d" dependencies = [ "cfg-if", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -3808,7 +3741,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "libc", ] @@ -3871,9 +3804,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "logind-zbus" @@ -3882,7 +3815,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e77231dda256523272d8168cf57a9f214ccef06d385c126ce64df662ca5721e" dependencies = [ "serde", - "zbus 4.2.2", + "zbus 4.3.1", ] [[package]] @@ -3972,9 +3905,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.2" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memmap2" @@ -4018,7 +3951,7 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "block", "core-graphics-types", "foreign-types", @@ -4027,14 +3960,6 @@ dependencies = [ "paste", ] -[[package]] -name = "mime" -version = "0.1.0" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-7#a5be70405574e98c292537fd3b01a1352550b9bf" -dependencies = [ - "smithay-clipboard", -] - [[package]] name = "mime" version = "0.1.0" @@ -4051,9 +3976,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "miniz_oxide" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" dependencies = [ "adler", "simd-adler32", @@ -4074,14 +3999,14 @@ dependencies = [ [[package]] name = "mpris2-zbus" version = "0.1.0" -source = "git+https://github.com/pop-os/dbus-settings-bindings#1fdfcc8045e6732fc54b2c945008e89999a6cf71" +source = "git+https://github.com/pop-os/dbus-settings-bindings#cd21ddcb1b5cbfc80ab84b34d3c8b1ff3d81179a" dependencies = [ "futures-util", "serde", "thiserror", "time", - "zbus 4.2.2", - "zvariant 4.1.1", + "zbus 4.3.1", + "zvariant 4.1.2", ] [[package]] @@ -4097,7 +4022,7 @@ source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b802 dependencies = [ "arrayvec", "bit-set", - "bitflags 2.5.0", + "bitflags 2.6.0", "codespan-reporting", "hexf-parse", "indexmap", @@ -4128,20 +4053,20 @@ version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "cfg-if", "libc", ] [[package]] name = "nix" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "cfg-if", - "cfg_aliases 0.1.1", + "cfg_aliases 0.2.1", "libc", "memoffset 0.9.1", ] @@ -4152,7 +4077,7 @@ version = "6.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "crossbeam-channel", "filetime", "fsevent-sys", @@ -4191,9 +4116,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ "num-integer", "num-traits", @@ -4233,7 +4158,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -4283,7 +4208,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", ] @@ -4328,9 +4253,9 @@ dependencies = [ [[package]] name = "object" -version = "0.35.0" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e" +checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" dependencies = [ "memchr", ] @@ -4388,7 +4313,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -4419,7 +4344,7 @@ dependencies = [ "by_address", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -4471,9 +4396,9 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.1", + "redox_syscall 0.5.2", "smallvec", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -4518,7 +4443,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -4553,7 +4478,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -4616,13 +4541,13 @@ dependencies = [ [[package]] name = "polling" -version = "3.7.1" +version = "3.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6a007746f34ed64099e88783b0ae369eaa3da6392868ba262e2af9b8fbaea1" +checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" dependencies = [ "cfg-if", "concurrent-queue", - "hermit-abi", + "hermit-abi 0.4.0", "pin-project-lite", "rustix 0.38.34", "tracing", @@ -4698,9 +4623,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.85" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] @@ -4711,7 +4636,7 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "731e0d9356b0c25f16f33b5be79b1c57b562f141ebfcdb0ad8ac2c13a24293b4" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "hex", "lazy_static", "procfs-core", @@ -4724,7 +4649,7 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "hex", ] @@ -4745,9 +4670,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.31.0" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" +checksum = "6f24d770aeca0eacb81ac29dfbc55ebcc09312fdd1f8bbecdc7e4a84e000e3b4" dependencies = [ "memchr", ] @@ -4865,11 +4790,11 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" +checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", ] [[package]] @@ -4885,14 +4810,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.4" +version = "1.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.6", - "regex-syntax 0.8.3", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", ] [[package]] @@ -4915,13 +4840,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.3", + "regex-syntax 0.8.4", ] [[package]] @@ -4932,9 +4857,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "renderdoc-sys" @@ -4984,9 +4909,9 @@ dependencies = [ [[package]] name = "rgb" -version = "0.8.37" +version = "0.8.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05aaa8004b64fd573fc9d002f4e632d51ad4f026c2b5ba95fcb6c2f32c2c47d8" +checksum = "1aee83dc281d5a3200d37b299acd13b81066ea126a7f16f0eae70fc9aed241d9" dependencies = [ "bytemuck", ] @@ -4998,7 +4923,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" dependencies = [ "base64", - "bitflags 2.5.0", + "bitflags 2.6.0", "serde", "serde_derive", ] @@ -5022,12 +4947,12 @@ dependencies = [ [[package]] name = "rust-embed" -version = "8.4.0" +version = "8.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19549741604902eb99a7ed0ee177a0663ee1eda51a29f71401f166e47e77806a" +checksum = "fa66af4a4fdd5e7ebc276f115e895611a34739a9c1c01028383d612d550953c0" dependencies = [ - "rust-embed-impl 8.4.0", - "rust-embed-utils 8.4.0", + "rust-embed-impl 8.5.0", + "rust-embed-utils 8.5.0", "walkdir", ] @@ -5040,20 +4965,20 @@ dependencies = [ "proc-macro2", "quote", "rust-embed-utils 7.8.1", - "syn 2.0.66", + "syn 2.0.70", "walkdir", ] [[package]] name = "rust-embed-impl" -version = "8.4.0" +version = "8.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb9f96e283ec64401f30d3df8ee2aaeb2561f34c824381efa24a35f79bf40ee4" +checksum = "6125dbc8867951125eec87294137f4e9c2c96566e61bf72c45095a7c77761478" dependencies = [ "proc-macro2", "quote", - "rust-embed-utils 8.4.0", - "syn 2.0.66", + "rust-embed-utils 8.5.0", + "syn 2.0.70", "walkdir", ] @@ -5069,9 +4994,9 @@ dependencies = [ [[package]] name = "rust-embed-utils" -version = "8.4.0" +version = "8.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38c74a686185620830701348de757fd36bef4aa9680fd23c49fc539ddcc1af32" +checksum = "2e5347777e9aacb56039b0e1f28785929a8a3b709e87482e7442c72e7c12529d" dependencies = [ "sha2", "walkdir", @@ -5119,7 +5044,7 @@ version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "errno", "libc", "linux-raw-sys 0.4.14", @@ -5138,13 +5063,29 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0ae5692c5beaad6a9e22830deeed7874eae8a4e3ba4076fb48e12c56856222c" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", + "bytemuck", + "smallvec", + "ttf-parser 0.20.0", + "unicode-bidi-mirroring 0.1.0", + "unicode-ccc 0.1.2", + "unicode-properties", + "unicode-script", +] + +[[package]] +name = "rustybuzz" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfb9cf8877777222e4a3bc7eb247e398b56baba500c38c1c46842431adc8b55c" +dependencies = [ + "bitflags 2.6.0", "bytemuck", "libm", "smallvec", - "ttf-parser", - "unicode-bidi-mirroring", - "unicode-ccc", + "ttf-parser 0.21.1", + "unicode-bidi-mirroring 0.2.0", + "unicode-ccc 0.2.0", "unicode-properties", "unicode-script", ] @@ -5203,9 +5144,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.203" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" dependencies = [ "serde_derive", ] @@ -5224,20 +5165,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.203" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] name = "serde_json" -version = "1.0.117" +version = "1.0.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" +checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" dependencies = [ "indexmap", "itoa", @@ -5253,7 +5194,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -5332,6 +5273,16 @@ version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" +[[package]] +name = "skrifa" +version = "0.19.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ab45fb68b53576a43d4fc0e9ec8ea64e29a4d2cc7f44506964cb75f288222e9" +dependencies = [ + "bytemuck", + "read-fonts", +] + [[package]] name = "slab" version = "0.4.9" @@ -5361,7 +5312,7 @@ name = "smithay-client-toolkit" version = "0.18.0" source = "git+https://github.com/smithay/client-toolkit//?rev=3bed072#3bed072b966022f5f929d12f3aff089b1ace980b" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "bytemuck", "calloop", "calloop-wayland-source", @@ -5389,7 +5340,7 @@ version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "837d3067369e24aeda699a5d9fc5aa14ca14a84dd70aeed7156bfa04a5605b32" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "bytemuck", "calloop", "calloop-wayland-source", @@ -5404,8 +5355,8 @@ dependencies = [ "wayland-client", "wayland-csd-frame", "wayland-cursor", - "wayland-protocols 0.32.1", - "wayland-protocols-wlr 0.3.1", + "wayland-protocols 0.32.2", + "wayland-protocols-wlr 0.3.2", "wayland-scanner", "xkbcommon", "xkeysym", @@ -5496,7 +5447,7 @@ version = "0.3.0+sdk-1.3.268.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", ] [[package]] @@ -5534,9 +5485,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "strum" -version = "0.26.2" +version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" dependencies = [ "strum_macros", ] @@ -5551,7 +5502,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -5572,11 +5523,11 @@ dependencies = [ [[package]] name = "swash" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "682a612b50baf09e8a039547ecf49e6c155690dcb751b1bcb19c93cdeb3d42d4" +checksum = "4d7773d67fe3373048cf840bfcc54ec3207cfc1e95c526b287ef2eb5eff9faf6" dependencies = [ - "read-fonts", + "skrifa", "yazi", "zeno", ] @@ -5584,9 +5535,9 @@ dependencies = [ [[package]] name = "switcheroo-control" version = "0.1.0" -source = "git+https://github.com/pop-os/dbus-settings-bindings#1fdfcc8045e6732fc54b2c945008e89999a6cf71" +source = "git+https://github.com/pop-os/dbus-settings-bindings#cd21ddcb1b5cbfc80ab84b34d3c8b1ff3d81179a" dependencies = [ - "zbus 4.2.2", + "zbus 4.3.1", ] [[package]] @@ -5602,9 +5553,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.66" +version = "2.0.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" +checksum = "2f0209b68b3613b093e0ec905354eccaedcfe83b8cb37cbdeae64026c3064c16" dependencies = [ "proc-macro2", "quote", @@ -5619,7 +5570,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -5692,7 +5643,7 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -5789,7 +5740,7 @@ checksum = "1d52f22673960ad13af14ff4025997312def1223bfa7c8e4949d099e6b3d5d1c" dependencies = [ "as-raw-xcb-connection", "ctor-lite", - "libloading 0.8.3", + "libloading 0.8.4", "pkg-config", "tracing", ] @@ -5806,9 +5757,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -5847,7 +5798,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -5879,7 +5830,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.14", + "toml_edit 0.22.15", ] [[package]] @@ -5915,9 +5866,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.14" +version = "0.22.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" +checksum = "d59a3a72298453f564e2b111fa896f8d07fabb36f51f06d7e875fc5e0b5a3ef1" dependencies = [ "indexmap", "serde", @@ -5945,7 +5896,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -5993,6 +5944,12 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" +[[package]] +name = "ttf-parser" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8" + [[package]] name = "type-map" version = "0.5.0" @@ -6062,12 +6019,24 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56d12260fb92d52f9008be7e4bca09f584780eb2266dc8fecc6a192bec561694" +[[package]] +name = "unicode-bidi-mirroring" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23cb788ffebc92c5948d0e997106233eeb1d8b9512f93f41651f52b6c5f5af86" + [[package]] name = "unicode-ccc" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1" +[[package]] +name = "unicode-ccc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df77b101bcc4ea3d78dafc5ad7e4f58ceffe0b2b16bf446aeb50b6cb4157656" + [[package]] name = "unicode-ident" version = "1.0.12" @@ -6128,18 +6097,18 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "upower_dbus" version = "0.3.2" -source = "git+https://github.com/pop-os/dbus-settings-bindings#1fdfcc8045e6732fc54b2c945008e89999a6cf71" +source = "git+https://github.com/pop-os/dbus-settings-bindings#cd21ddcb1b5cbfc80ab84b34d3c8b1ff3d81179a" dependencies = [ "serde", "serde_repr", - "zbus 4.2.2", + "zbus 4.3.1", ] [[package]] name = "url" -version = "2.5.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", "idna", @@ -6195,7 +6164,7 @@ dependencies = [ "fontdb", "kurbo", "log", - "rustybuzz", + "rustybuzz 0.12.1", "unicode-bidi", "unicode-script", "unicode-vo", @@ -6228,9 +6197,9 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "uuid" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" +checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" dependencies = [ "getrandom", ] @@ -6290,7 +6259,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", "wasm-bindgen-shared", ] @@ -6324,7 +6293,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -6352,9 +6321,9 @@ dependencies = [ [[package]] name = "wayland-backend" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34e9e6b6d4a2bb4e7e69433e0b35c7923b95d4dc8503a84d25ec917a4bbfdf07" +checksum = "269c04f203640d0da2092d1b8d89a2d081714ae3ac2f1b53e99f205740517198" dependencies = [ "cc", "downcast-rs", @@ -6366,11 +6335,11 @@ dependencies = [ [[package]] name = "wayland-client" -version = "0.31.3" +version = "0.31.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e63801c85358a431f986cffa74ba9599ff571fc5774ac113ed3b490c19a1133" +checksum = "08bd0f46c069d3382a36c8666c1b9ccef32b8b04f41667ca1fef06a1adcc2982" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "rustix 0.38.34", "wayland-backend", "wayland-scanner", @@ -6382,16 +6351,16 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "cursor-icon", "wayland-backend", ] [[package]] name = "wayland-cursor" -version = "0.31.3" +version = "0.31.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a206e8b2b53b1d3fcb9428fec72bc278ce539e2fa81fe2bfc1ab27703d5187b9" +checksum = "09414bcf0fd8d9577d73e9ac4659ebc45bcc9cff1980a350543ad8e50ee263b2" dependencies = [ "rustix 0.38.34", "wayland-client", @@ -6404,7 +6373,7 @@ version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "wayland-backend", "wayland-client", "wayland-scanner", @@ -6413,11 +6382,11 @@ dependencies = [ [[package]] name = "wayland-protocols" -version = "0.32.1" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83d0f1056570486e26a3773ec633885124d79ae03827de05ba6c85f79904026c" +checksum = "1794d82d869f38439d15c24b26f06f6c8603d27d47b4f786d5197c99044de415" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "wayland-backend", "wayland-client", "wayland-scanner", @@ -6430,7 +6399,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "wayland-backend", "wayland-client", "wayland-protocols 0.31.2", @@ -6440,23 +6409,23 @@ dependencies = [ [[package]] name = "wayland-protocols-wlr" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7dab47671043d9f5397035975fe1cac639e5bca5cc0b3c32d09f01612e34d24" +checksum = "fa43c961473aed713d44c1f616f775186249dfca657f256d8841ca0690366aba" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "wayland-backend", "wayland-client", - "wayland-protocols 0.32.1", + "wayland-protocols 0.32.2", "wayland-scanner", "wayland-server", ] [[package]] name = "wayland-scanner" -version = "0.31.2" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67da50b9f80159dec0ea4c11c13e24ef9e7574bd6ce24b01860a175010cea565" +checksum = "edf466fc49a4feb65a511ca403fec3601494d0dee85dbf37fff6fa0dd4eec3b6" dependencies = [ "proc-macro2", "quick-xml", @@ -6465,11 +6434,11 @@ dependencies = [ [[package]] name = "wayland-server" -version = "0.31.2" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63e89118bd072ba6ce0f9c2c92fa41f72d1d78a138d2abc497a80a8264565559" +checksum = "a29060303e79e4c3d44936efdcf00941a78c86850bf67a88078dd1d6c99702b9" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "downcast-rs", "io-lifetimes 2.0.3", "rustix 0.38.34", @@ -6479,9 +6448,9 @@ dependencies = [ [[package]] name = "wayland-sys" -version = "0.31.2" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "105b1842da6554f91526c14a2a2172897b7f745a805d62af4ce698706be79c12" +checksum = "4a6754825230fa5b27bafaa28c30b3c9e72c55530581220cef401fa422c0fae7" dependencies = [ "dlib", "log", @@ -6546,7 +6515,7 @@ source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b802 dependencies = [ "arrayvec", "bit-vec", - "bitflags 2.5.0", + "bitflags 2.6.0", "cfg_aliases 0.1.1", "codespan-reporting", "indexmap", @@ -6573,7 +6542,7 @@ dependencies = [ "arrayvec", "ash", "bit-set", - "bitflags 2.5.0", + "bitflags 2.6.0", "block", "cfg_aliases 0.1.1", "core-graphics-types", @@ -6587,7 +6556,7 @@ dependencies = [ "js-sys", "khronos-egl", "libc", - "libloading 0.8.3", + "libloading 0.8.4", "log", "metal", "naga", @@ -6612,7 +6581,7 @@ name = "wgpu-types" version = "0.19.0" source = "git+https://github.com/gfx-rs/wgpu?rev=20fda69#20fda698341efbdc870b8027d6d49f5bf3f36109" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "js-sys", "web-sys", ] @@ -6654,32 +6623,17 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "window_clipboard" -version = "0.4.1" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-7#a5be70405574e98c292537fd3b01a1352550b9bf" -dependencies = [ - "clipboard-win", - "clipboard_macos 0.1.0 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-7)", - "clipboard_wayland 0.2.2 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-7)", - "clipboard_x11 0.4.2 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-7)", - "dnd 0.1.0 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-7)", - "mime 0.1.0 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-7)", - "raw-window-handle", - "thiserror", -] - [[package]] name = "window_clipboard" version = "0.4.1" source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8#7c59b07b9172d8e0401f7e06609e1050575309c9" dependencies = [ "clipboard-win", - "clipboard_macos 0.1.0 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8)", - "clipboard_wayland 0.2.2 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8)", - "clipboard_x11 0.4.2 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8)", - "dnd 0.1.0 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8)", - "mime 0.1.0 (git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-8)", + "clipboard_macos", + "clipboard_wayland", + "clipboard_x11", + "dnd", + "mime 0.1.0", "raw-window-handle", "thiserror", ] @@ -6691,7 +6645,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ "windows-core", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -6700,7 +6654,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -6718,7 +6672,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -6738,18 +6692,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -6760,9 +6714,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -6772,9 +6726,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -6784,15 +6738,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -6802,9 +6756,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -6814,9 +6768,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -6826,9 +6780,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -6838,9 +6792,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" @@ -6884,7 +6838,7 @@ dependencies = [ "as-raw-xcb-connection", "gethostname", "libc", - "libloading 0.8.3", + "libloading 0.8.4", "once_cell", "rustix 0.38.34", "x11rb-protocol", @@ -6910,12 +6864,12 @@ checksum = "213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546" [[package]] name = "xdg-home" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e" +checksum = "ca91dcf8f93db085f3a0a29358cd0b9d670915468f4290e8b85d118a34211ab8" dependencies = [ "libc", - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -6954,7 +6908,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "dlib", "log", "once_cell", @@ -6963,9 +6917,9 @@ dependencies = [ [[package]] name = "xkeysym" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621" +checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" dependencies = [ "bytemuck", ] @@ -6984,9 +6938,9 @@ checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9" [[package]] name = "xxhash-rust" -version = "0.8.10" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927da81e25be1e1a2901d59b81b37dd2efd1fc9c9345a55007f09bf5a2d3ee03" +checksum = "63658493314859b4dfdf3fb8c1defd61587839def09582db50b8a4e93afca6bb" [[package]] name = "yazi" @@ -7014,7 +6968,7 @@ checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", "synstructure", ] @@ -7056,9 +7010,9 @@ dependencies = [ [[package]] name = "zbus" -version = "4.2.2" +version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "989c3977a7aafa97b12b9a35d21cdcff9b0d2289762b14683f45d66b1ba6c48f" +checksum = "851238c133804e0aa888edf4a0229481c753544ca12a60fd1c3230c8a500fe40" dependencies = [ "async-broadcast 0.7.1", "async-executor", @@ -7076,7 +7030,7 @@ dependencies = [ "futures-sink", "futures-util", "hex", - "nix 0.28.0", + "nix 0.29.0", "ordered-stream", "rand", "serde", @@ -7088,9 +7042,9 @@ dependencies = [ "uds_windows", "windows-sys 0.52.0", "xdg-home", - "zbus_macros 4.2.2", + "zbus_macros 4.3.1", "zbus_names 3.0.0", - "zvariant 4.1.1", + "zvariant 4.1.2", ] [[package]] @@ -7109,14 +7063,14 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "4.2.2" +version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe9de53245dcf426b7be226a4217dd5e339080e5d46e64a02d6e5dcbf90fca1" +checksum = "8d5a3f12c20bd473be3194af6b49d50d7bb804ef3192dc70eddedb26b85d9da7" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", "zvariant_utils 2.0.0", ] @@ -7139,7 +7093,7 @@ checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c" dependencies = [ "serde", "static_assertions", - "zvariant 4.1.1", + "zvariant 4.1.2", ] [[package]] @@ -7150,22 +7104,22 @@ checksum = "dd15f8e0dbb966fd9245e7498c7e9e5055d9e5c8b676b95bd67091cd11a1e697" [[package]] name = "zerocopy" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -7185,7 +7139,7 @@ checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", "synstructure", ] @@ -7202,9 +7156,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.10.2" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2cc8827d6c0994478a15c53f374f46fbd41bea663d809b14744bc42e6b109c" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" dependencies = [ "yoke", "zerofrom", @@ -7213,13 +7167,13 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] [[package]] @@ -7247,16 +7201,16 @@ dependencies = [ [[package]] name = "zvariant" -version = "4.1.1" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aa6d31a02fbfb602bfde791de7fedeb9c2c18115b3d00f3a36e489f46ffbbc7" +checksum = "1724a2b330760dc7d2a8402d841119dc869ef120b139d29862d6980e9c75bfc9" dependencies = [ "endi", "enumflags2", "serde", "static_assertions", "url", - "zvariant_derive 4.1.1", + "zvariant_derive 4.1.2", ] [[package]] @@ -7274,14 +7228,14 @@ dependencies = [ [[package]] name = "zvariant_derive" -version = "4.1.1" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "642bf1b6b6d527988b3e8193d20969d53700a36eac734d21ae6639db168701c8" +checksum = "55025a7a518ad14518fb243559c058a2e5b848b015e31f1d90414f36e3317859" dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", "zvariant_utils 2.0.0", ] @@ -7304,5 +7258,5 @@ checksum = "fc242db087efc22bd9ade7aa7809e4ba828132edc312871584a6b4391bdf8786" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.70", ] diff --git a/Cargo.toml b/Cargo.toml index b1089c30..8a61577d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,11 +26,18 @@ cctk = { git = "https://github.com/pop-os/cosmic-protocols", package = "cosmic-c cosmic-protocols = { git = "https://github.com/pop-os/cosmic-protocols", default-features = false, features = [ "client", ], rev = "c8d3a1c" } -cosmic-settings-subscriptions = { git = "https://github.com/pop-os/cosmic-settings-subscriptions" } -cosmic-time = { git = "https://github.com/pop-os/cosmic-time", default-features = false, features = [ +# cosmic-settings-subscriptions = { git = "https://github.com/pop-os/cosmic-settings-subscriptions" } +cosmic-settings-subscriptions = { path = "../cosmic-settings-subscriptions" } +# cosmic-time = { git = "https://github.com/pop-os/cosmic-time", default-features = false, features = [ +# "libcosmic", +# "once_cell", +# ] } +cosmic-time = { path = "../cosmic-time", default-features = false, features = [ "libcosmic", "once_cell", ] } + + futures = "0.3" futures-util = "0.3" i18n-embed = { version = "0.14.1", features = [ @@ -38,7 +45,7 @@ i18n-embed = { version = "0.14.1", features = [ "desktop-requester", ] } i18n-embed-fl = "0.8" -libcosmic = { git = "https://github.com/pop-os/libcosmic", default-features = false, features = [ +libcosmic = { path = "../libcosmic", features = [ "applet", "applet-token", "tokio", @@ -76,3 +83,8 @@ sctk = { git = "https://github.com/smithay/client-toolkit//", package = "smithay libcosmic = { path = "../libcosmic" } cosmic-config = { path = "../libcosmic/cosmic-config" } cosmic-theme = { path = "../libcosmic/cosmic-theme" } +iced = { path = "../libcosmic/iced" } +cosmic-time = { path = "../cosmic-time", default-features = false, features = [ + "libcosmic", + "once_cell", +] } diff --git a/cosmic-app-list/data/com.system76.CosmicAppList.desktop b/cosmic-app-list/data/com.system76.CosmicAppList.desktop index 9188c182..bcb36ed2 100644 --- a/cosmic-app-list/data/com.system76.CosmicAppList.desktop +++ b/cosmic-app-list/data/com.system76.CosmicAppList.desktop @@ -13,5 +13,5 @@ X-CosmicApplet=true X-MinimizeApplet=5 # Indicate that the applet should be shrunk if the panel is too small to fit it X-OverflowPriority=100 -X-OverflowMinSize=4 +X-OverflowMinSize=5 X-HostWaylandDisplay=true diff --git a/cosmic-app-list/src/app.rs b/cosmic-app-list/src/app.rs index b61a4d6c..a5bbf1f1 100755 --- a/cosmic-app-list/src/app.rs +++ b/cosmic-app-list/src/app.rs @@ -24,8 +24,8 @@ use cosmic::{ }, cosmic_config::{Config, CosmicConfigEntry}, desktop::IconSource, - iced, iced::{ + self, event::listen_with, wayland::{ actions::data_device::{DataFromMimeType, DndIcon}, @@ -113,13 +113,30 @@ impl AppletIconData { } } -type DockItemId = u32; +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] +pub enum DockItemId { + Item(u32), + ActiveOverflow, + FavoritesOverflow, +} + +impl From for DockItemId { + fn from(id: u32) -> Self { + DockItemId::Item(id) + } +} + +impl From for DockItemId { + fn from(id: usize) -> Self { + DockItemId::Item(id as u32) + } +} #[derive(Debug, Clone)] struct DockItem { // ID used internally in the applet. Each dock item // have an unique id - id: DockItemId, + id: u32, toplevels: Vec<(ZcosmicToplevelHandleV1, ToplevelInfo, Option)>, // Information found in the .desktop file desktop_info: DesktopEntry<'static>, @@ -148,12 +165,13 @@ impl DockItem { fn as_icon( &self, applet: &Context, - rectangle_tracker: Option<&RectangleTracker>, + rectangle_tracker: Option<&RectangleTracker>, interaction_enabled: bool, dnd_source_enabled: bool, gpus: Option<&[Gpu]>, is_focused: bool, dot_border_radius: [f32; 4], + window_id: window::Id, ) -> Element<'_, Message> { let Self { toplevels, @@ -258,14 +276,15 @@ impl DockItem { } else if toplevels.len() == 1 { toplevels.first().map(|t| Message::Toggle(t.0.clone())) } else { - Some(Message::TopLevelListPopup(*id)) + Some(Message::TopLevelListPopup((*id).into(), window_id)) }) .width(Length::Shrink) .height(Length::Shrink), ) - .on_right_release(Message::Popup(*id)) + .on_right_release(Message::Popup((*id).into(), window_id)) .on_middle_release({ - launch_on_preferred_gpu(desktop_info, gpus).unwrap_or_else(|| Message::Popup(*id)) + launch_on_preferred_gpu(desktop_info, gpus) + .unwrap_or_else(|| Message::Popup((*id).into(), window_id)) }) .into() } else { @@ -275,7 +294,7 @@ impl DockItem { let icon_button = if dnd_source_enabled && interaction_enabled { dnd_source(icon_button) .drag_threshold(16.) - .on_drag(|_, _| Message::StartDrag(*id)) + .on_drag(|_, _| Message::StartDrag((*id).into())) .on_cancelled(Message::DragFinished) .on_finished(Message::DragFinished) } else { @@ -283,7 +302,7 @@ impl DockItem { }; if let Some(tracker) = rectangle_tracker { - tracker.container(*id, icon_button).into() + tracker.container((*id).into(), icon_button).into() } else { icon_button.into() } @@ -296,10 +315,18 @@ struct DndOffer { preview_index: usize, } +#[derive(Debug, Clone)] +pub struct Popup { + parent: window::Id, + id: window::Id, + dock_item: DockItem, + popup_type: PopupType, +} + #[derive(Clone, Default)] struct CosmicAppList { core: cosmic::app::Core, - popup: Option<(window::Id, DockItemId, PopupType)>, + popup: Option, subscription_ctr: u32, item_ctr: u32, active_list: Vec, @@ -316,9 +343,11 @@ struct CosmicAppList { active_workspaces: Vec, output_list: HashMap, locales: Vec, + overflow_favorites_popup: Option, + overflow_active_popup: Option, } -#[derive(Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub enum PopupType { RightClickMenu, TopLevelList, @@ -328,10 +357,10 @@ pub enum PopupType { #[derive(Debug, Clone)] enum Message { Wayland(WaylandUpdate), - PinApp(DockItemId), - UnpinApp(DockItemId), - Popup(DockItemId), - TopLevelListPopup(DockItemId), + PinApp(u32), + UnpinApp(u32), + Popup(u32, window::Id), + TopLevelListPopup(u32, window::Id), GpuRequest(Option>), CloseRequested(window::Id), ClosePopup, @@ -343,7 +372,7 @@ enum Message { NewSeat(WlSeat), RemovedSeat(WlSeat), Rectangle(RectangleUpdate), - StartDrag(DockItemId), + StartDrag(u32), DragFinished, DndEnter(f32, f32), DndExit, @@ -354,6 +383,8 @@ enum Message { StopListeningForDnd, IncrementSubscriptionCtr, ConfigUpdated(AppListConfig), + OpenFavorites, + OpenActive, } fn index_in_list( @@ -643,9 +674,23 @@ impl cosmic::Application for CosmicAppList { message: Self::Message, ) -> iced::Command> { match message { - Message::Popup(id) => { - if let Some((popup_id, _toplevel, _)) = self.popup.take() { - return destroy_popup(popup_id); + Message::Popup(id, parent_window_id) => { + if let Some(Popup { + parent, + id: popup_id, + .. + }) = self.popup.take() + { + if parent == parent_window_id { + return destroy_popup(popup_id); + } else { + self.overflow_active_popup = None; + self.overflow_favorites_popup = None; + return Command::batch(vec![ + destroy_popup(popup_id), + destroy_popup(parent), + ]); + } } if let Some(toplevel_group) = self .active_list @@ -653,16 +698,25 @@ impl cosmic::Application for CosmicAppList { .chain(self.pinned_list.iter()) .find(|t| t.id == id) { - let rectangle = match self.rectangles.get(&toplevel_group.id) { + let rectangle = match self.rectangles.get(&toplevel_group.id.into()) { Some(r) => r, - None => return Command::none(), + None => { + tracing::error!("No rectangle found for toplevel group"); + return Command::none(); + } }; + dbg!("create popup2"); let new_id = window::Id::unique(); - self.popup = Some((new_id, toplevel_group.id, PopupType::RightClickMenu)); + self.popup = Some(Popup { + parent: parent_window_id, + id: new_id, + dock_item: toplevel_group.clone(), + popup_type: PopupType::RightClickMenu, + }); let mut popup_settings = self.core.applet.get_popup_settings( - window::Id::MAIN, + parent_window_id, new_id, None, None, @@ -687,9 +741,23 @@ impl cosmic::Application for CosmicAppList { return Command::batch([gpu_update, get_popup(popup_settings)]); } } - Message::TopLevelListPopup(id) => { - if let Some((popup_id, _toplevel, _)) = self.popup.take() { - return destroy_popup(popup_id); + Message::TopLevelListPopup(id, parent_window_id) => { + if let Some(Popup { + parent, + id: popup_id, + .. + }) = self.popup.take() + { + if parent == parent_window_id { + return destroy_popup(popup_id); + } else { + self.overflow_active_popup = None; + self.overflow_favorites_popup = None; + return Command::batch(vec![ + destroy_popup(popup_id), + destroy_popup(parent), + ]); + } } if let Some(toplevel_group) = self .active_list @@ -703,16 +771,21 @@ impl cosmic::Application for CosmicAppList { } } - let rectangle = match self.rectangles.get(&toplevel_group.id) { + let rectangle = match self.rectangles.get(&toplevel_group.id.into()) { Some(r) => r, None => return Command::none(), }; let new_id = window::Id::unique(); - self.popup = Some((new_id, toplevel_group.id, PopupType::TopLevelList)); + self.popup = Some(Popup { + parent: parent_window_id, + id: new_id, + dock_item: toplevel_group.clone(), + popup_type: PopupType::TopLevelList, + }); let mut popup_settings = self.core.applet.get_popup_settings( - window::Id::MAIN, + parent_window_id, new_id, None, None, @@ -764,7 +837,7 @@ impl cosmic::Application for CosmicAppList { ); self.pinned_list.push(entry); } - if let Some((popup_id, _toplevel, _)) = self.popup.take() { + if let Some(Popup { id: popup_id, .. }) = self.popup.take() { return destroy_popup(popup_id); } } @@ -777,12 +850,12 @@ impl cosmic::Application for CosmicAppList { &Config::new(APP_ID, AppListConfig::VERSION).unwrap(), ); - self.rectangles.remove(&entry.id); + self.rectangles.remove(&entry.id.into()); if !entry.toplevels.is_empty() { self.active_list.push(entry); } } - if let Some((popup_id, _toplevel, _)) = self.popup.take() { + if let Some(Popup { id: popup_id, .. }) = self.popup.take() { return destroy_popup(popup_id); } } @@ -791,7 +864,7 @@ impl cosmic::Application for CosmicAppList { let _ = tx.send(WaylandRequest::Toplevel(ToplevelRequest::Activate(handle))); } if let Some(p) = self.popup.take() { - return destroy_popup(p.0); + return destroy_popup(p.id); } } Message::Toggle(handle) => { @@ -805,7 +878,7 @@ impl cosmic::Application for CosmicAppList { )); } if let Some(p) = self.popup.take() { - return destroy_popup(p.0); + return destroy_popup(p.id); } } Message::Quit(id) => { @@ -823,7 +896,7 @@ impl cosmic::Application for CosmicAppList { } } } - if let Some((popup_id, _toplevel, _)) = self.popup.take() { + if let Some(Popup { id: popup_id, .. }) = self.popup.take() { return destroy_popup(popup_id); } } @@ -1155,7 +1228,7 @@ impl cosmic::Application for CosmicAppList { Message::Ignore => {} Message::ClosePopup => { if let Some(p) = self.popup.take() { - return destroy_popup(p.0); + return destroy_popup(p.id); } } Message::StartListeningForDnd => { @@ -1205,13 +1278,87 @@ impl cosmic::Application for CosmicAppList { .collect(); } Message::CloseRequested(id) => { - if Some(id) == self.popup.as_ref().map(|p| p.0) { + if Some(id) == self.popup.as_ref().map(|p| p.id) { self.popup = None; } + if self.overflow_active_popup.is_some_and(|p| p == id) { + self.overflow_active_popup = None; + } + if self.overflow_favorites_popup.is_some_and(|p| p == id) { + self.overflow_favorites_popup = None; + } } Message::GpuRequest(gpus) => { self.gpus = gpus; } + Message::OpenActive => { + let create_new = self.overflow_active_popup.is_none(); + let mut cmds = vec![self.close_popups()]; + + // create a popup with the active list + if create_new { + let new_id = window::Id::unique(); + self.overflow_active_popup = Some(new_id); + let rectangle = self.rectangles.get(&DockItemId::ActiveOverflow); + let mut popup_settings = self.core.applet.get_popup_settings( + window::Id::MAIN, + new_id, + None, + None, + None, + ); + if let Some(iced::Rectangle { + x, + y, + width, + height, + }) = rectangle + { + popup_settings.positioner.anchor_rect = iced::Rectangle:: { + x: *x as i32, + y: *y as i32, + width: *width as i32, + height: *height as i32, + }; + } + cmds.push(get_popup(popup_settings)); + } + return Command::batch(cmds); + } + Message::OpenFavorites => { + let create_new = self.overflow_favorites_popup.is_none(); + let mut cmds = vec![self.close_popups()]; + + // create a popup with the favorites list + if create_new { + let new_id = window::Id::unique(); + self.overflow_favorites_popup = Some(new_id); + let rectangle = self.rectangles.get(&DockItemId::FavoritesOverflow); + let mut popup_settings = self.core.applet.get_popup_settings( + window::Id::MAIN, + new_id, + None, + None, + None, + ); + if let Some(iced::Rectangle { + x, + y, + width, + height, + }) = rectangle + { + popup_settings.positioner.anchor_rect = iced::Rectangle:: { + x: *x as i32, + y: *y as i32, + width: *width as i32, + height: *height as i32, + }; + } + cmds.push(get_popup(popup_settings)); + } + return Command::batch(cmds); + } } Command::none() @@ -1226,9 +1373,29 @@ impl cosmic::Application for CosmicAppList { PanelAnchor::Top | PanelAnchor::Bottom => true, PanelAnchor::Left | PanelAnchor::Right => false, }; - let mut favorites: Vec<_> = self - .pinned_list + let (favorite_popup_cutoff, active_popup_cutoff) = self.panel_overflow_lengths(); + let mut favorite_to_remove = if let Some(cutoff) = favorite_popup_cutoff { + if cutoff < self.pinned_list.len() { + self.pinned_list.len() - cutoff + 1 + } else { + 0 + } + } else { + 0 + }; + let favorites: Vec<_> = (&mut self.pinned_list.iter().rev()) + .filter(|f| { + if favorite_to_remove > 0 && f.toplevels.is_empty() { + favorite_to_remove -= 1; + false + } else { + true + } + }) + .collect(); + let mut favorites: Vec<_> = favorites[favorite_to_remove..] .iter() + .rev() .map(|dock_item| { dock_item.as_icon( &self.core.applet, @@ -1241,10 +1408,34 @@ impl cosmic::Application for CosmicAppList { .iter() .any(|y| focused_item.contains(&y.0)), theme.cosmic().radius_xs(), + window::Id::MAIN, ) }) .collect(); + if favorite_popup_cutoff.is_some() { + // button to show more favorites + let icon = match self.core.applet.anchor { + PanelAnchor::Bottom => "go-up-symbolic", + PanelAnchor::Left => "go-next-symbolic", + PanelAnchor::Right => "go-previous-symbolic", + PanelAnchor::Top => "go-down-symbolic", + }; + let btn = self + .core + .applet + .icon_button(icon) + .on_press(Message::OpenFavorites); + let btn: Element<_> = if let Some(rectangle_tracker) = self.rectangle_tracker.as_ref() { + rectangle_tracker + .container(DockItemId::FavoritesOverflow, btn) + .into() + } else { + btn.into() + }; + favorites.push(btn); + } + if let Some((item, index)) = self .dnd_offer .as_ref() @@ -1260,6 +1451,7 @@ impl cosmic::Application for CosmicAppList { self.gpus.as_deref(), item.toplevels.iter().any(|y| focused_item.contains(&y.0)), dot_radius, + window::Id::MAIN, ), ); } else if self.is_listening_for_dnd && self.pinned_list.is_empty() { @@ -1274,8 +1466,15 @@ impl cosmic::Application for CosmicAppList { ); } - let mut active: Vec<_> = self - .active_list + let mut active: Vec<_> = self.active_list[..active_popup_cutoff + .map(|n| { + if n < self.active_list.len() { + n.saturating_sub(1) + } else { + n + } + }) + .unwrap_or(self.active_list.len())] .iter() .map(|dock_item| { dock_item.as_icon( @@ -1289,9 +1488,34 @@ impl cosmic::Application for CosmicAppList { .iter() .any(|y| focused_item.contains(&y.0)), dot_radius, + window::Id::MAIN, ) }) .collect(); + + if active_popup_cutoff.is_some_and(|n| n < self.active_list.len()) { + // button to show more active + let icon = match self.core.applet.anchor { + PanelAnchor::Bottom => "go-up-symbolic", + PanelAnchor::Left => "go-next-symbolic", + PanelAnchor::Right => "go-previous-symbolic", + PanelAnchor::Top => "go-down-symbolic", + }; + let btn = self + .core + .applet + .icon_button(icon) + .on_press(Message::OpenActive); + let btn: Element<_> = if let Some(rectangle_tracker) = self.rectangle_tracker.as_ref() { + rectangle_tracker + .container(DockItemId::ActiveOverflow, btn) + .into() + } else { + btn.into() + }; + active.push(btn); + } + let window_size = self.core.applet.configure.as_ref(); let max_num = if self.core.applet.is_horizontal() { let suggested_width = self.core.applet.suggested_size(false).0 @@ -1412,12 +1636,18 @@ impl cosmic::Application for CosmicAppList { } fn view_window(&self, id: window::Id) -> Element { + let theme = self.core.system_theme(); + if let Some((_, item, _)) = self.dnd_source.as_ref().filter(|s| s.0 == id) { IconSource::from_unknown(item.desktop_info.icon().unwrap_or_default()) .as_cosmic_icon() .size(self.core.applet.suggested_size(false).0) .into() - } else if let Some((_popup_id, id, popup_type)) = self.popup.as_ref().filter(|p| id == p.0) + } else if let Some(Popup { + dock_item: DockItem { id, .. }, + popup_type, + .. + }) = self.popup.as_ref().filter(|p| id == p.id) { let ( DockItem { @@ -1599,6 +1829,144 @@ impl cosmic::Application for CosmicAppList { } }, } + } else if self + .overflow_active_popup + .as_ref() + .is_some_and(|overflow_id| overflow_id == &id) + { + let (_favorite_popup_cutoff, active_popup_cutoff) = self.panel_overflow_lengths(); + + let focused_item = self.currently_active_toplevel(); + let dot_radius = theme.cosmic().radius_xs(); + // show the overflow popup for active list + let active: Vec<_> = self.active_list[active_popup_cutoff + .map(|n| { + if n < self.active_list.len() { + n.saturating_sub(1) + } else { + n - 1 + } + }) + .unwrap_or(self.active_list.len() - 1)..] + .iter() + .map(|dock_item| { + dock_item.as_icon( + &self.core.applet, + self.rectangle_tracker.as_ref(), + self.popup.is_none(), + self.config.enable_drag_source, + self.gpus.as_deref(), + dock_item + .toplevels + .iter() + .any(|y| focused_item.contains(&y.0)), + dot_radius, + id, + ) + }) + .collect(); + let content = match &self.core.applet.anchor { + PanelAnchor::Left | PanelAnchor::Right => container( + Column::with_children(active) + .spacing(4.0) + .align_items(Alignment::Center) + .width(Length::Shrink) + .height(Length::Shrink), + ), + PanelAnchor::Top | PanelAnchor::Bottom => container( + Row::with_children(active) + .spacing(4.0) + .align_items(Alignment::Center) + .width(Length::Shrink) + .height(Length::Shrink), + ), + }; + // send clear popup on press content if there is an active popup + let content: Element<_> = if self.popup.is_some() { + mouse_area(content) + .on_right_release(Message::ClosePopup) + .on_press(Message::ClosePopup) + .into() + } else { + content.into() + }; + self.core.applet.popup_container(content).into() + } else if self + .overflow_favorites_popup + .as_ref() + .is_some_and(|popup_id| popup_id == &id) + { + let (favorite_popup_cutoff, _active_popup_cutoff) = self.panel_overflow_lengths(); + + let focused_item = self.currently_active_toplevel(); + let dot_radius = theme.cosmic().radius_xs(); + // show the overflow popup for favorites list + let mut favorite_to_remove = if let Some(cutoff) = favorite_popup_cutoff { + if cutoff < self.pinned_list.len() { + self.pinned_list.len() - cutoff + 1 + } else { + 0 + } + } else { + 0 + }; + let mut favorites_extra = Vec::with_capacity(favorite_to_remove); + let mut favorites: Vec<_> = (&mut self.pinned_list.iter().rev()) + .filter(|f| { + if favorite_to_remove > 0 && f.toplevels.is_empty() { + favorite_to_remove -= 1; + true + } else { + favorites_extra.push(*f); + false + } + }) + .collect(); + favorites.extend(favorites_extra[..favorite_to_remove].into_iter().cloned()); + let favorites: Vec<_> = favorites + .iter() + .rev() + .map(|dock_item| { + dock_item.as_icon( + &self.core.applet, + self.rectangle_tracker.as_ref(), + self.popup.is_none(), + self.config.enable_drag_source, + self.gpus.as_deref(), + dock_item + .toplevels + .iter() + .any(|y| focused_item.contains(&y.0)), + dot_radius, + id, + ) + }) + .collect(); + let content = match &self.core.applet.anchor { + PanelAnchor::Left | PanelAnchor::Right => container( + Column::with_children(favorites) + .spacing(4.0) + .align_items(Alignment::Center) + .width(Length::Shrink) + .height(Length::Shrink), + ), + PanelAnchor::Top | PanelAnchor::Bottom => container( + Row::with_children(favorites) + .spacing(4.0) + .align_items(Alignment::Center) + .width(Length::Shrink) + .height(Length::Shrink), + ), + }; + let content: Element<_> = if self.popup.is_some() { + mouse_area(content) + .on_right_release(Message::ClosePopup) + .on_press(Message::ClosePopup) + .into() + } else { + content.into() + }; + self.core.applet.popup_container(content).into() } else { let suggested = self.core.applet.suggested_size(false); iced::widget::row!() @@ -1665,6 +2033,84 @@ impl cosmic::Application for CosmicAppList { } impl CosmicAppList { + /// Close any open popups. + fn close_popups(&mut self) -> Command> { + let mut commands = Vec::new(); + if let Some(popup) = self.popup.take() { + commands.push(destroy_popup(popup.id)); + } + if let Some(popup) = self.overflow_active_popup.take() { + commands.push(destroy_popup(popup)); + } + if let Some(popup) = self.overflow_favorites_popup.take() { + commands.push(destroy_popup(popup)); + } + Command::batch(commands) + } + /// Returns the length of the group in the favorite list after which items are displayed in a popup. + /// Shrink the favorite list until it only has active windows, or until it fits in the length provided. + fn panel_overflow_lengths(&self) -> (Option, Option) { + let mut favorite_index; + let mut active_index = None; + let Some(max_major_axis_len) = self.core.applet.configure.as_ref().and_then(|c| { + // if we have a configure for width and height, we're in a overflow popup + match self.core.applet.anchor { + PanelAnchor::Top | PanelAnchor::Bottom => c.new_size.0, + PanelAnchor::Left | PanelAnchor::Right => c.new_size.1, + } + }) else { + return (None, active_index); + }; + let mut max_major_axis_len = max_major_axis_len.get(); + // tracing::error!("{} {}", max_major_axis_len, self.pinned_list.len()); + // subtract the divider width + max_major_axis_len -= 1; + let applet_icon = AppletIconData::new(&self.core.applet); + + let button_total_size = self.core.applet.suggested_size(true).0 + + self.core.applet.suggested_padding(true) * 2 + + applet_icon.icon_spacing as u16; + + let favorite_active_cnt = self + .pinned_list + .iter() + .filter(|t| !t.toplevels.is_empty()) + .count(); + + // initial calculation of favorite_index + let btn_count = max_major_axis_len / button_total_size as u32; + if btn_count >= self.pinned_list.len() as u32 + self.active_list.len() as u32 { + return (None, active_index); + } else { + favorite_index = (btn_count as usize).min(favorite_active_cnt).max(2); + } + // tracing::error!( + // "{}, {}, {}, {}", + // btn_count, + // button_total_size, + // favorite_active_cnt, + // favorite_index + // ); + // calculation of active_index based on favorite_index if there is still not enough space + let active_index_max = (btn_count as i32) + - (self.pinned_list.len() as i32).saturating_sub(favorite_index as i32); + if active_index_max >= self.active_list.len() as i32 { + active_index = Some(self.active_list.len()); + } else { + active_index = Some((active_index_max.max(2) as usize).min(self.active_list.len())); + } + + // final calculation of favorite_index if there is still not enough space + if let Some(active_index) = active_index { + let favorite_index_max = (btn_count as i32) - active_index as i32; + favorite_index = favorite_index_max.max(2) as usize; + } else { + favorite_index = (btn_count as usize).min(self.pinned_list.len()); + } + // tracing::error!("{} {} {:?}", btn_count, favorite_index, active_index); + return (Some(favorite_index), active_index); + } + fn currently_active_toplevel(&self) -> Vec { if self.active_workspaces.is_empty() { return Vec::new();