From 836c0e378ba5e896e57bdfce2b4eb901d5041645 Mon Sep 17 00:00:00 2001 From: Ashley Wulber Date: Mon, 6 Oct 2025 16:35:20 -0400 Subject: [PATCH] applet overlap chore: mpris dep fix: dock buttons improv: battery and audio improvements feat: overlapping padding fix: input source text button fix: apply panel spacing to app tray chore: update libcosmic fix: spacing and padding fix(minimize): hide when empty --- Cargo.lock | 762 ++++++++---------- Cargo.toml | 5 +- cosmic-app-list/src/app.rs | 56 +- .../com.system76.CosmicAppletA11y.desktop | 1 + cosmic-applet-audio/Cargo.toml | 3 +- .../com.system76.CosmicAppletAudio.desktop | 1 + cosmic-applet-audio/src/lib.rs | 69 +- .../com.system76.CosmicAppletBattery.desktop | 1 + cosmic-applet-battery/src/app.rs | 31 +- ...com.system76.CosmicAppletBluetooth.desktop | 1 + cosmic-applet-bluetooth/src/app.rs | 7 - ....system76.CosmicAppletInputSources.desktop | 1 + cosmic-applet-input-sources/src/lib.rs | 85 +- cosmic-applet-minimize/src/lib.rs | 52 +- cosmic-applet-minimize/src/wayland_handler.rs | 15 +- cosmic-applet-minimize/src/window_image.rs | 7 +- .../com.system76.CosmicAppletNetwork.desktop | 1 + ...system76.CosmicAppletNotifications.desktop | 1 + .../com.system76.CosmicAppletPower.desktop | 1 + .../src/components/app.rs | 22 +- .../com.system76.CosmicAppletTiling.desktop | 1 + .../com.system76.CosmicAppletTime.desktop | 1 + cosmic-applet-time/src/window.rs | 10 +- .../src/components/app.rs | 10 +- cosmic-panel-button/src/lib.rs | 57 +- rust-toolchain.toml | 2 +- 26 files changed, 627 insertions(+), 576 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d7e3b558..49d2e874 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -119,9 +119,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] @@ -145,7 +145,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" dependencies = [ "android-properties", - "bitflags 2.9.4", + "bitflags 2.10.0", "cc", "cesu8", "jni", @@ -438,7 +438,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -473,7 +473,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -549,7 +549,7 @@ dependencies = [ "derive_utils", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -580,7 +580,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" dependencies = [ "annotate-snippets", - "bitflags 2.9.4", + "bitflags 2.10.0", "cexpr", "clang-sys", "itertools 0.12.1", @@ -591,7 +591,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -617,11 +617,11 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.9.4" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -701,9 +701,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.12.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" +checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" dependencies = [ "memchr", "regex-automata", @@ -739,7 +739,7 @@ checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -762,9 +762,9 @@ checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" [[package]] name = "calendrical_calculations" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53c5d386a9f2c8b97e1a036420bcf937db4e5c9df33eb0232025008ced6104c0" +checksum = "3a0b39595c6ee54a8d0900204ba4c401d0ab4eb45adaf07178e8d017541529e7" dependencies = [ "core_maths", "displaydoc", @@ -776,7 +776,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "log", "polling 3.11.0", "rustix 0.38.44", @@ -790,7 +790,7 @@ version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb9f6e1368bd4621d2c86baa7e37de77a938adf5221e5dd3d6133340101b309e" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "polling 3.11.0", "rustix 1.1.2", "slab", @@ -823,9 +823,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.41" +version = "1.2.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac9fe6cdbb24b6ade63616c0a0688e45bb56732262c158df3c0c4bea4ca47cb7" +checksum = "35900b6c8d709fb1d854671ae27aeaa9eec2f8b01b364e1619a40da3e6fe2afe" dependencies = [ "find-msvc-tools", "jobserver", @@ -1127,7 +1127,7 @@ dependencies = [ "image", "itertools 0.14.0", "libcosmic", - "memmap2 0.9.8", + "memmap2 0.9.9", "rust-embed", "rustc-hash 2.1.1", "rustix 1.1.2", @@ -1256,7 +1256,7 @@ dependencies = [ "i18n-embed-fl", "image", "libcosmic", - "memmap2 0.9.8", + "memmap2 0.9.9", "rust-embed", "rustix 1.1.2", "tokio", @@ -1436,7 +1436,7 @@ name = "cosmic-client-toolkit" version = "0.1.0" source = "git+https://github.com/pop-os/cosmic-protocols//?branch=main#d0e95be25e423cfe523b11111a3666ed7aaf0dc4" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "cosmic-protocols", "libc", "smithay-client-toolkit 0.20.0", @@ -1457,12 +1457,12 @@ dependencies = [ [[package]] name = "cosmic-config" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#6204784f202c19b675c5a0c8a56865e3f1d9bd69" +source = "git+https://github.com/pop-os/libcosmic//?branch=shrinkable-applets#86388cc0e0fb45b4d09540055e0f01739f8cf1f7" dependencies = [ "atomicwrites", "cosmic-config-derive", "cosmic-settings-daemon", - "dirs 6.0.0", + "dirs", "futures-util", "iced_futures", "known-folders", @@ -1471,17 +1471,17 @@ dependencies = [ "serde", "tokio", "tracing", - "xdg 3.0.0", + "xdg", "zbus 5.12.0", ] [[package]] name = "cosmic-config-derive" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#6204784f202c19b675c5a0c8a56865e3f1d9bd69" +source = "git+https://github.com/pop-os/libcosmic//?branch=shrinkable-applets#86388cc0e0fb45b4d09540055e0f01739f8cf1f7" dependencies = [ "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -1497,7 +1497,7 @@ name = "cosmic-dbus-networkmanager" version = "0.1.0" source = "git+https://github.com/pop-os/dbus-settings-bindings#b2337437d70b3db7a56211a43aa1632306711b2d" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "derive_builder", "procfs", "time", @@ -1507,21 +1507,21 @@ dependencies = [ [[package]] name = "cosmic-freedesktop-icons" -version = "0.3.0" -source = "git+https://github.com/pop-os/freedesktop-icons#8a05c322c482ff3c69cf34bacfee98907ac45307" +version = "0.4.0" +source = "git+https://github.com/pop-os/freedesktop-icons#689c60d428f46dc59316eafa22297e196afa4b15" dependencies = [ - "dirs 5.0.1", + "dirs", "ini_core", - "memmap2 0.9.8", + "memmap2 0.9.9", "thiserror 2.0.17", "tracing", - "xdg 2.5.2", + "xdg", ] [[package]] name = "cosmic-notifications-config" version = "0.1.0" -source = "git+https://github.com/pop-os/cosmic-notifications#07d40a7fdd89e59d6f102afa08343c0c5c70039d" +source = "git+https://github.com/pop-os/cosmic-notifications#c5e561e26461ca95c95dd2e44e55c67d5d532a91" dependencies = [ "cosmic-config", "serde", @@ -1530,7 +1530,7 @@ dependencies = [ [[package]] name = "cosmic-notifications-util" version = "0.1.0" -source = "git+https://github.com/pop-os/cosmic-notifications#07d40a7fdd89e59d6f102afa08343c0c5c70039d" +source = "git+https://github.com/pop-os/cosmic-notifications#c5e561e26461ca95c95dd2e44e55c67d5d532a91" dependencies = [ "fast_image_resize", "libcosmic", @@ -1556,7 +1556,7 @@ dependencies = [ [[package]] name = "cosmic-panel-config" version = "0.1.0" -source = "git+https://github.com/pop-os/cosmic-panel#f1a947605243a79c4a4a0813fa234fa21440c859" +source = "git+https://github.com/pop-os/cosmic-panel?branch=shrinkable-applets#70c0ef9d13517dfa5a8ccc2ae72834bb50ae9ec2" dependencies = [ "anyhow", "cosmic-config", @@ -1572,7 +1572,7 @@ name = "cosmic-protocols" version = "0.1.0" source = "git+https://github.com/pop-os/cosmic-protocols//?branch=main#d0e95be25e423cfe523b11111a3666ed7aaf0dc4" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -1584,7 +1584,7 @@ dependencies = [ [[package]] name = "cosmic-settings-config" version = "0.1.0" -source = "git+https://github.com/pop-os/cosmic-settings-daemon#68331387e4336c37ce2300bea8638257feab449a" +source = "git+https://github.com/pop-os/cosmic-settings-daemon#fbd4adede269681c07cd273f417f9296feabc26e" dependencies = [ "cosmic-config", "ron", @@ -1631,10 +1631,10 @@ dependencies = [ [[package]] name = "cosmic-text" -version = "0.14.2" -source = "git+https://github.com/pop-os/cosmic-text.git#cffdea2b334e7830a5fd6f95bf5e1784014442a8" +version = "0.15.0" +source = "git+https://github.com/pop-os/cosmic-text.git#9339446cfa9b7f0110094a97764dccc09cfa98a2" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "fontdb 0.23.0", "harfrust", "linebender_resource_handle", @@ -1655,12 +1655,12 @@ dependencies = [ [[package]] name = "cosmic-theme" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#6204784f202c19b675c5a0c8a56865e3f1d9bd69" +source = "git+https://github.com/pop-os/libcosmic//?branch=shrinkable-applets#86388cc0e0fb45b4d09540055e0f01739f8cf1f7" dependencies = [ "almost", "cosmic-config", "csscolorparser", - "dirs 6.0.0", + "dirs", "palette", "ron", "serde", @@ -1763,7 +1763,7 @@ dependencies = [ "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", "synstructure", ] @@ -1773,7 +1773,7 @@ version = "22.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bdbd1f579714e3c809ebd822c81ef148b1ceaeb3d535352afc73fd0c4c6a0017" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "libloading", "winapi", ] @@ -1809,7 +1809,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -1823,7 +1823,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -1834,7 +1834,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core 0.20.11", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -1845,7 +1845,7 @@ checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ "darling_core 0.21.3", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -1889,9 +1889,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a41953f86f8a05768a6cda24def994fd2f424b04ec5c719cf89989779f199071" +checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" dependencies = [ "powerfmt", "serde_core", @@ -1926,7 +1926,7 @@ dependencies = [ "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -1936,7 +1936,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -1948,7 +1948,7 @@ dependencies = [ "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -1959,7 +1959,7 @@ checksum = "ccfae181bab5ab6c5478b2ccb69e4c68a02f8c3ec72f6616bfec9dbc599d2ee0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -1972,34 +1972,13 @@ dependencies = [ "crypto-common", ] -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys 0.4.1", -] - [[package]] name = "dirs" version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" dependencies = [ - "dirs-sys 0.5.0", -] - -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users 0.4.6", - "windows-sys 0.48.0", + "dirs-sys", ] [[package]] @@ -2010,7 +1989,7 @@ checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" dependencies = [ "libc", "option-ext", - "redox_users 0.5.2", + "redox_users", "windows-sys 0.61.2", ] @@ -2026,7 +2005,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.6.2", "libc", "objc2 0.6.3", @@ -2040,7 +2019,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -2057,7 +2036,7 @@ name = "dnd" version = "0.1.0" source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13-2#6b9faab87bea9cebec6ae036906fd67fed254f5f" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "mime 0.1.0", "raw-window-handle", "smithay-client-toolkit 0.19.2", @@ -2066,9 +2045,9 @@ dependencies = [ [[package]] name = "document-features" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d" +checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" dependencies = [ "litrs", ] @@ -2090,7 +2069,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "bytemuck", "drm-ffi 0.7.1", "drm-fourcc", @@ -2103,7 +2082,7 @@ version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "80bc8c5c6c2941f70a55c15f8d9f00f9710ebda3ffda98075f996a0e6c92756f" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "bytemuck", "drm-ffi 0.9.0", "drm-fourcc", @@ -2193,7 +2172,7 @@ checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -2334,9 +2313,9 @@ checksum = "52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127" [[package]] name = "fixed_decimal" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35943d22b2f19c0cb198ecf915910a8158e94541c89dcc63300d7799d46c2c5e" +checksum = "35eabf480f94d69182677e37571d3be065822acfafd12f2f085db44fbbcc8e57" dependencies = [ "displaydoc", "smallvec", @@ -2345,9 +2324,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.1.4" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc5a4e564e38c699f2880d3fda590bedc2e69f3f84cd48b457bd892ce61d0aa9" +checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" dependencies = [ "crc32fast", "miniz_oxide", @@ -2396,9 +2375,9 @@ dependencies = [ [[package]] name = "fluent-langneg" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c4ad0989667548f06ccd0e306ed56b61bd4d35458d54df5ec7587c0e8ed5e94" +checksum = "7eebbe59450baee8282d71676f3bfed5689aeab00b27545e83e5f14b1195e8b0" dependencies = [ "unic-langid", ] @@ -2451,7 +2430,7 @@ checksum = "e32eac81c1135c1df01d4e6d4233c47ba11f6a6d07f33e0bba09d18797077770" dependencies = [ "fontconfig-parser", "log", - "memmap2 0.9.8", + "memmap2 0.9.9", "slotmap", "tinyvec", "ttf-parser 0.21.1", @@ -2465,7 +2444,7 @@ checksum = "457e789b3d1202543297a350643cf459f836cade38934e7a4cf6a39e7cde2905" dependencies = [ "fontconfig-parser", "log", - "memmap2 0.9.8", + "memmap2 0.9.9", "slotmap", "tinyvec", "ttf-parser 0.25.1", @@ -2489,7 +2468,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -2519,7 +2498,7 @@ dependencies = [ "memchr", "thiserror 2.0.17", "unicase", - "xdg 3.0.0", + "xdg", ] [[package]] @@ -2616,7 +2595,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -2772,7 +2751,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "gpu-alloc-types", ] @@ -2782,7 +2761,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", ] [[package]] @@ -2804,7 +2783,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "gpu-descriptor-types", "hashbrown 0.15.5", ] @@ -2815,7 +2794,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", ] [[package]] @@ -2851,7 +2830,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92c020db12c71d8a12a3fe7607873cade3a01a6287e29d540c8723276221b9d8" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "bytemuck", "core_maths", "read-fonts", @@ -2885,7 +2864,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "com", "libc", "libloading", @@ -2980,7 +2959,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.106", + "syn 2.0.109", "unic-langid", ] @@ -2994,7 +2973,7 @@ dependencies = [ "i18n-config", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -3024,7 +3003,7 @@ dependencies = [ [[package]] name = "iced" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic#6204784f202c19b675c5a0c8a56865e3f1d9bd69" +source = "git+https://github.com/pop-os/libcosmic//?branch=shrinkable-applets#86388cc0e0fb45b4d09540055e0f01739f8cf1f7" dependencies = [ "dnd", "iced_accessibility", @@ -3042,7 +3021,7 @@ dependencies = [ [[package]] name = "iced_accessibility" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#6204784f202c19b675c5a0c8a56865e3f1d9bd69" +source = "git+https://github.com/pop-os/libcosmic//?branch=shrinkable-applets#86388cc0e0fb45b4d09540055e0f01739f8cf1f7" dependencies = [ "accesskit", "accesskit_winit", @@ -3051,9 +3030,9 @@ dependencies = [ [[package]] name = "iced_core" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic#6204784f202c19b675c5a0c8a56865e3f1d9bd69" +source = "git+https://github.com/pop-os/libcosmic//?branch=shrinkable-applets#86388cc0e0fb45b4d09540055e0f01739f8cf1f7" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "bytes", "cosmic-client-toolkit", "dnd", @@ -3075,7 +3054,7 @@ dependencies = [ [[package]] name = "iced_futures" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic#6204784f202c19b675c5a0c8a56865e3f1d9bd69" +source = "git+https://github.com/pop-os/libcosmic//?branch=shrinkable-applets#86388cc0e0fb45b4d09540055e0f01739f8cf1f7" dependencies = [ "futures", "iced_core", @@ -3101,9 +3080,9 @@ dependencies = [ [[package]] name = "iced_graphics" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic#6204784f202c19b675c5a0c8a56865e3f1d9bd69" +source = "git+https://github.com/pop-os/libcosmic//?branch=shrinkable-applets#86388cc0e0fb45b4d09540055e0f01739f8cf1f7" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "bytemuck", "cosmic-text", "half", @@ -3123,7 +3102,7 @@ dependencies = [ [[package]] name = "iced_renderer" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic#6204784f202c19b675c5a0c8a56865e3f1d9bd69" +source = "git+https://github.com/pop-os/libcosmic//?branch=shrinkable-applets#86388cc0e0fb45b4d09540055e0f01739f8cf1f7" dependencies = [ "iced_graphics", "iced_tiny_skia", @@ -3135,7 +3114,7 @@ dependencies = [ [[package]] name = "iced_runtime" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic#6204784f202c19b675c5a0c8a56865e3f1d9bd69" +source = "git+https://github.com/pop-os/libcosmic//?branch=shrinkable-applets#86388cc0e0fb45b4d09540055e0f01739f8cf1f7" dependencies = [ "bytes", "cosmic-client-toolkit", @@ -3150,7 +3129,7 @@ dependencies = [ [[package]] name = "iced_tiny_skia" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic#6204784f202c19b675c5a0c8a56865e3f1d9bd69" +source = "git+https://github.com/pop-os/libcosmic//?branch=shrinkable-applets#86388cc0e0fb45b4d09540055e0f01739f8cf1f7" dependencies = [ "bytemuck", "cosmic-text", @@ -3166,10 +3145,10 @@ dependencies = [ [[package]] name = "iced_wgpu" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic#6204784f202c19b675c5a0c8a56865e3f1d9bd69" +source = "git+https://github.com/pop-os/libcosmic//?branch=shrinkable-applets#86388cc0e0fb45b4d09540055e0f01739f8cf1f7" dependencies = [ "as-raw-xcb-connection", - "bitflags 2.9.4", + "bitflags 2.10.0", "bytemuck", "cosmic-client-toolkit", "futures", @@ -3197,7 +3176,7 @@ dependencies = [ [[package]] name = "iced_widget" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic#6204784f202c19b675c5a0c8a56865e3f1d9bd69" +source = "git+https://github.com/pop-os/libcosmic//?branch=shrinkable-applets#86388cc0e0fb45b4d09540055e0f01739f8cf1f7" dependencies = [ "cosmic-client-toolkit", "dnd", @@ -3216,7 +3195,7 @@ dependencies = [ [[package]] name = "iced_winit" version = "0.14.0-dev" -source = "git+https://github.com/pop-os/libcosmic#6204784f202c19b675c5a0c8a56865e3f1d9bd69" +source = "git+https://github.com/pop-os/libcosmic//?branch=shrinkable-applets#86388cc0e0fb45b4d09540055e0f01739f8cf1f7" dependencies = [ "cosmic-client-toolkit", "dnd", @@ -3244,9 +3223,9 @@ dependencies = [ [[package]] name = "icu" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab13fe39da5da564b88228e9f08815c9d0efbe9ec244e72b149d9994e10f1054" +checksum = "67ab713dd86fa032cb5487f9ac3a85d47b5dcf4c7b8c7dd00210b3cadd6a6551" dependencies = [ "icu_calendar", "icu_casemap", @@ -3268,9 +3247,9 @@ dependencies = [ [[package]] name = "icu_calendar" -version = "2.0.5" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f6c40ba6481ed7ddd358437af0f000eb9f661345845977d9d1b38e606374e1f" +checksum = "d6f0e52e009b6b16ba9c0693578796f2dd4aaa59a7f8f920423706714a89ac4e" dependencies = [ "calendrical_calculations", "displaydoc", @@ -3279,24 +3258,23 @@ dependencies = [ "icu_locale_core", "icu_provider", "ixdtf", + "serde", "tinystr", - "writeable", "zerovec", ] [[package]] name = "icu_calendar_data" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7219c8639ab936713a87b571eed2bc2615aa9137e8af6eb221446ee5644acc18" +checksum = "527f04223b17edfe0bd43baf14a0cb1b017830db65f3950dc00224860a9a446d" [[package]] name = "icu_casemap" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dc5e74b3c9d7b63e0d7c5fd54ee8c135705df2ea2aa558082dd555dc9747a97" +checksum = "d4ca9983e8bf51223c2f89014fa4eaa9e9b336c47f3af0d000538f86f841fba1" dependencies = [ - "displaydoc", "icu_casemap_data", "icu_collections", "icu_locale_core", @@ -3309,17 +3287,16 @@ dependencies = [ [[package]] name = "icu_casemap_data" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7584067558ab4c60c95d1ac2abd1588689cb4bcd4e099507f62dae86ae8d2c0" +checksum = "98d4663d0f99b301033a19e0acf94e9d2fa4b107638580165e5a6ccc49ad1450" [[package]] name = "icu_collator" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ad4c6a556938dfd31f75a8c54141079e8821dc697ffb799cfe0f0fa11f2edc" +checksum = "32eed11a5572f1088b63fa21dc2e70d4a865e5739fc2d10abc05be93bae97019" dependencies = [ - "displaydoc", "icu_collator_data", "icu_collections", "icu_locale", @@ -3335,18 +3312,19 @@ dependencies = [ [[package]] name = "icu_collator_data" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d880b8e680799eabd90c054e1b95526cd48db16c95269f3c89fb3117e1ac92c5" +checksum = "5ab06f0e83a613efddba3e4913e00e43ed4001fae651cb7d40fc7e66b83b6fb9" [[package]] name = "icu_collections" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" dependencies = [ "displaydoc", "potential_utf", + "serde", "yoke", "zerofrom", "zerovec", @@ -3354,12 +3332,11 @@ dependencies = [ [[package]] name = "icu_datetime" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0790c15e3d6ae3303365fa2337b4f6469de257916141110d14dcaf73f1d31ac5" +checksum = "1b9d49f41ded8e63761b6b4c3120dfdc289415a1ed10107db6198eb311057ca5" dependencies = [ "displaydoc", - "either", "fixed_decimal", "icu_calendar", "icu_datetime_data", @@ -3371,7 +3348,6 @@ dependencies = [ "icu_provider", "icu_time", "potential_utf", - "smallvec", "tinystr", "writeable", "zerovec", @@ -3379,39 +3355,37 @@ dependencies = [ [[package]] name = "icu_datetime_data" -version = "2.0.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83791ac10bb7b774f130bb81fa89c4059de710dcef53caa0b86e645212d6d54c" +checksum = "0bf2a384725c67fcd32d27737bc7ba9dc5fe21311dfe3ba530f4b4d53e72bacc" [[package]] name = "icu_decimal" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fec61c43fdc4e368a9f450272833123a8ef0d7083a44597660ce94d791b8a2e2" +checksum = "a38c52231bc348f9b982c1868a2af3195199623007ba2c7650f432038f5b3e8e" dependencies = [ - "displaydoc", "fixed_decimal", "icu_decimal_data", "icu_locale", "icu_locale_core", "icu_provider", "serde", - "tinystr", "writeable", "zerovec", ] [[package]] name = "icu_decimal_data" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b70963bc35f9bdf1bc66a5c1f458f4991c1dc71760e00fa06016b2c76b2738d5" +checksum = "2905b4044eab2dd848fe84199f9195567b63ab3a93094711501363f63546fef7" [[package]] name = "icu_experimental" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebe3d7e64892a434b08d5a58b53127e47a095ff780305f563c8c01798a1051b0" +checksum = "f4ffa4d60b9cb8b024082afaf9e94d853184e483ec69322c74dc437bf8a882a5" dependencies = [ "displaydoc", "either", @@ -3436,24 +3410,22 @@ dependencies = [ "smallvec", "tinystr", "writeable", - "zerofrom", "zerotrie", "zerovec", ] [[package]] name = "icu_experimental_data" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b60d32ba5610adfc2083f5a759f55d9a9082ebf72750f126cb1630844eea1acf" +checksum = "2578ea93f0373bb28800f7d1100e7e771c4d248d0d3759250fed08fa27694139" [[package]] name = "icu_list" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e26f94ec776bb8b28cedc7dcf91033b822c5cb4c1783cf7a3f796fc168aa0c8b" +checksum = "d3a0b7b126e2fc42777d3c348611553d540bd3683caa39b387c5dd1036bb21a8" dependencies = [ - "displaydoc", "icu_list_data", "icu_locale", "icu_provider", @@ -3465,17 +3437,16 @@ dependencies = [ [[package]] name = "icu_list_data" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a456a2412458ca45e181d9d51c5090ef8cd90f5692e11d34bafab3b3be1c76b" +checksum = "51044c242fe2a882cc0a464314bbdb9f441556a1cb238fb527fc47355ec2827b" [[package]] name = "icu_locale" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ae5921528335e91da1b6c695dbf1ec37df5ac13faa3f91e5640be93aa2fbefd" +checksum = "532b11722e350ab6bf916ba6eb0efe3ee54b932666afec989465f9243fe6dd60" dependencies = [ - "displaydoc", "icu_collections", "icu_locale_core", "icu_locale_data", @@ -3487,12 +3458,13 @@ dependencies = [ [[package]] name = "icu_locale_core" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" dependencies = [ "displaydoc", "litemap", + "serde", "tinystr", "writeable", "zerovec", @@ -3500,17 +3472,16 @@ dependencies = [ [[package]] name = "icu_locale_data" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fdef0c124749d06a743c69e938350816554eb63ac979166590e2b4ee4252765" +checksum = "f03e2fcaefecdf05619f3d6f91740e79ab969b4dd54f77cbf546b1d0d28e3147" [[package]] name = "icu_normalizer" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" dependencies = [ - "displaydoc", "icu_collections", "icu_normalizer_data", "icu_properties", @@ -3524,18 +3495,19 @@ dependencies = [ [[package]] name = "icu_normalizer_data" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" [[package]] name = "icu_pattern" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "983825f401e6bc4a13c45d552ffd9ad6f3f6b6bc0ec03f31d6835a90a46deb1f" +checksum = "7a7ff8c0ff6f61cdce299dcb54f557b0a251adbc78f6f0c35a21332c452b4a1b" dependencies = [ "displaydoc", "either", + "serde", "writeable", "yoke", "zerovec", @@ -3543,11 +3515,10 @@ dependencies = [ [[package]] name = "icu_plurals" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fd83a65f58b6f28e1f3da8c6ada6b415ee3ad5cb480b75bdb669f34d72dd179" +checksum = "4f9cfe49f5b1d1163cc58db451562339916a9ca5cbcaae83924d41a0bf839474" dependencies = [ - "displaydoc", "fixed_decimal", "icu_locale", "icu_plurals_data", @@ -3557,42 +3528,41 @@ dependencies = [ [[package]] name = "icu_plurals_data" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ec552d761eaf4a1c39ad28936e0af77a41bf01ff756ea54be4f8bfc21c265d7" +checksum = "f018a98dccf7f0eb02ba06ac0ff67d102d8ded80734724305e924de304e12ff0" [[package]] name = "icu_properties" -version = "2.0.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" +checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99" dependencies = [ - "displaydoc", "icu_collections", "icu_locale_core", "icu_properties_data", "icu_provider", - "potential_utf", + "serde", "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "2.0.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" +checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899" [[package]] name = "icu_provider" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" dependencies = [ "displaydoc", "icu_locale_core", + "serde", "stable_deref_trait", - "tinystr", "writeable", "yoke", "zerofrom", @@ -3602,15 +3572,13 @@ dependencies = [ [[package]] name = "icu_segmenter" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e185fc13b6401c138cf40db12b863b35f5edf31b88192a545857b41aeaf7d3d3" +checksum = "43da5e7e9b540df15e53ca27f69b50e36e01b652584b40b3335ed65d18303834" dependencies = [ "core_maths", - "displaydoc", "icu_collections", "icu_locale", - "icu_locale_core", "icu_provider", "icu_segmenter_data", "potential_utf", @@ -3620,15 +3588,15 @@ dependencies = [ [[package]] name = "icu_segmenter_data" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5360a2fbe97f617c4f8b944356dedb36d423f7da7f13c070995cf89e59f01220" +checksum = "6ebbb7321d9e21d25f5660366cb6c08201d0175898a3a6f7a41ee9685af21c80" [[package]] name = "icu_time" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10d01a4a2dcbc5e5180ef113920e7461d0e9caaddb3567d81c4eca262efe55c0" +checksum = "8242b00da3b3b6678f731437a11c8833a43c821ae081eca60ba1b7579d45b6d8" dependencies = [ "calendrical_calculations", "displaydoc", @@ -3638,17 +3606,15 @@ dependencies = [ "icu_time_data", "ixdtf", "serde", - "tinystr", - "writeable", "zerotrie", "zerovec", ] [[package]] name = "icu_time_data" -version = "2.0.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8472be4410d26a03d7208cae3a76c798dd6766e8226ab977cd8b2d349a6dbf08" +checksum = "3e10b0e5e87a2c84bd5fa407705732052edebe69291d347d0c3033785470edbf" [[package]] name = "ident_case" @@ -3720,9 +3686,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.11.4" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5" +checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f" dependencies = [ "equivalent", "hashbrown 0.16.0", @@ -3745,7 +3711,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "inotify-sys", "libc", ] @@ -3765,7 +3731,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbdc09524a91f9cacd26f16734ff63d7dc650daffadd2b6f84d17a285bd875a9" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "input-sys", "libc", "log", @@ -3843,12 +3809,9 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "ixdtf" -version = "0.5.0" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8289f7f711a1a51f80e2e368355d023042ca55d8d554fd5e953f01464c15842d" -dependencies = [ - "displaydoc", -] +checksum = "84de9d95a6d2547d9b77ee3f25fa0ee32e3c3a6484d47a55adebc0439c077992" [[package]] name = "jni" @@ -3890,9 +3853,9 @@ checksum = "00810f1d8b74be64b13dbf3db89ac67740615d6c891f0e7b6179326533011a07" [[package]] name = "js-sys" -version = "0.3.81" +version = "0.3.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305" +checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" dependencies = [ "once_cell", "wasm-bindgen", @@ -3995,7 +3958,7 @@ checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" [[package]] name = "libcosmic" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic#6204784f202c19b675c5a0c8a56865e3f1d9bd69" +source = "git+https://github.com/pop-os/libcosmic//?branch=shrinkable-applets#86388cc0e0fb45b4d09540055e0f01739f8cf1f7" dependencies = [ "apply", "ashpd 0.12.0", @@ -4074,7 +4037,7 @@ version = "2.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "909eb3049e16e373680fe65afe6e2a722ace06b671250cc4849557bc57d6a397" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "libc", "libpulse-sys", "num-derive", @@ -4101,7 +4064,7 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "libc", "redox_syscall 0.5.18", ] @@ -4112,7 +4075,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65f3a4b81b2a2d8c7f300643676202debd1b7c929dbf5c9bb89402ea11d19810" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "cc", "convert_case", "cookie-factory", @@ -4176,15 +4139,15 @@ checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" [[package]] name = "litemap" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" [[package]] name = "litrs" -version = "0.4.2" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5e54036fe321fd421e10d732f155734c4e4afd610dd556d9a82833ab3ee0bed" +checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" [[package]] name = "locale_config" @@ -4323,9 +4286,9 @@ dependencies = [ [[package]] name = "memmap2" -version = "0.9.8" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843a98750cd611cc2965a8213b53b43e715f13c37a9e096c6408e69990961db7" +checksum = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490" dependencies = [ "libc", ] @@ -4354,7 +4317,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "block", "core-graphics-types", "foreign-types", @@ -4395,21 +4358,21 @@ dependencies = [ [[package]] name = "mio" -version = "1.0.4" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" +checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" dependencies = [ "libc", "log", "wasi", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "moxcms" -version = "0.7.7" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c588e11a3082784af229e23e8e4ecf5bcc6fbe4f69101e0421ce8d79da7f0b40" +checksum = "0fbdd3d7436f8b5e892b8b7ea114271ff0fa00bc5acae845d53b07d498616ef6" dependencies = [ "num-traits", "pxfm", @@ -4418,7 +4381,7 @@ dependencies = [ [[package]] name = "mpris2-zbus" version = "0.1.0" -source = "git+https://github.com/pop-os/dbus-settings-bindings#b2337437d70b3db7a56211a43aa1632306711b2d" +source = "git+https://github.com/pop-os/dbus-settings-bindings?branch=precise-capturing#531fb30e2a7f794af6f8d656d630e8364c688d46" dependencies = [ "futures-util", "serde", @@ -4442,11 +4405,11 @@ checksum = "8bd5a652b6faf21496f2cfd88fc49989c8db0825d1f6746b1a71a6ede24a63ad" dependencies = [ "arrayvec", "bit-set", - "bitflags 2.9.4", + "bitflags 2.10.0", "cfg_aliases 0.1.1", "codespan-reporting", "hexf-parse", - "indexmap 2.11.4", + "indexmap 2.12.0", "log", "rustc-hash 1.1.0", "spirv", @@ -4461,7 +4424,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "jni-sys", "log", "ndk-sys 0.6.0+11769913", @@ -4512,7 +4475,7 @@ version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "cfg-if", "libc", ] @@ -4523,7 +4486,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "cfg-if", "cfg_aliases 0.2.1", "libc", @@ -4535,7 +4498,7 @@ version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "cfg-if", "cfg_aliases 0.2.1", "libc", @@ -4558,7 +4521,7 @@ version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "fsevent-sys", "inotify", "kqueue", @@ -4609,7 +4572,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -4654,9 +4617,9 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a" +checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" dependencies = [ "num_enum_derive", "rustversion", @@ -4664,14 +4627,14 @@ dependencies = [ [[package]] name = "num_enum_derive" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d" +checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -4725,7 +4688,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.5.1", "libc", "objc2 0.5.2", @@ -4741,7 +4704,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.6.2", "objc2 0.6.3", "objc2-foundation 0.3.2", @@ -4753,7 +4716,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.5.1", "objc2 0.5.2", "objc2-core-location", @@ -4777,7 +4740,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -4789,7 +4752,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "dispatch2", "objc2 0.6.3", ] @@ -4830,7 +4793,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.5.1", "dispatch", "libc", @@ -4843,7 +4806,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "objc2 0.6.3", "objc2-core-foundation", ] @@ -4866,7 +4829,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -4878,7 +4841,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -4901,7 +4864,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.5.1", "objc2 0.5.2", "objc2-cloud-kit", @@ -4933,7 +4896,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.5.1", "objc2 0.5.2", "objc2-core-location", @@ -4963,9 +4926,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "orbclient" -version = "0.3.48" +version = "0.3.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba0b26cec2e24f08ed8bb31519a9333140a6599b867dac464bb150bdb796fd43" +checksum = "247ad146e19b9437f8604c21f8652423595cf710ad108af40e77d3ae6e96b827" dependencies = [ "libredox", ] @@ -5001,7 +4964,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -5035,7 +4998,7 @@ dependencies = [ "by_address", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -5143,7 +5106,7 @@ dependencies = [ "phf_shared 0.11.3", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -5187,7 +5150,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -5220,7 +5183,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08e645ba5c45109106d56610b3ee60eb13a6f2beb8b74f8dc8186cf261788dda" dependencies = [ "anyhow", - "bitflags 2.9.4", + "bitflags 2.10.0", "libc", "libspa", "libspa-sys", @@ -5266,7 +5229,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "crc32fast", "fdeflate", "flate2", @@ -5311,11 +5274,12 @@ checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3" [[package]] name = "potential_utf" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" dependencies = [ - "serde", + "serde_core", + "writeable", "zerovec", ] @@ -5378,14 +5342,14 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] name = "proc-macro2" -version = "1.0.101" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" +checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" dependencies = [ "unicode-ident", ] @@ -5398,7 +5362,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", "version_check", "yansi", ] @@ -5409,7 +5373,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "procfs-core", "rustix 1.1.2", ] @@ -5420,7 +5384,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "hex", ] @@ -5450,9 +5414,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.41" +version = "1.0.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1" +checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" dependencies = [ "proc-macro2", ] @@ -5566,18 +5530,7 @@ version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.9.4", -] - -[[package]] -name = "redox_users" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" -dependencies = [ - "getrandom 0.2.16", - "libredox", - "thiserror 1.0.69", + "bitflags 2.10.0", ] [[package]] @@ -5608,7 +5561,7 @@ checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -5702,7 +5655,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db09040cc89e461f1a265139777a2bde7f8d8c67c4936f700c63ce3e2904d468" dependencies = [ "base64", - "bitflags 2.9.4", + "bitflags 2.10.0", "serde", "serde_derive", "unicode-ident", @@ -5716,9 +5669,9 @@ checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" [[package]] name = "rust-embed" -version = "8.7.2" +version = "8.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "025908b8682a26ba8d12f6f2d66b987584a4a87bc024abc5bbc12553a8cd178a" +checksum = "947d7f3fad52b283d261c4c99a084937e2fe492248cb9a68a8435a861b8798ca" dependencies = [ "rust-embed-impl", "rust-embed-utils", @@ -5727,22 +5680,22 @@ dependencies = [ [[package]] name = "rust-embed-impl" -version = "8.7.2" +version = "8.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6065f1a4392b71819ec1ea1df1120673418bf386f50de1d6f54204d836d4349c" +checksum = "5fa2c8c9e8711e10f9c4fd2d64317ef13feaab820a4c51541f1a8c8e2e851ab2" dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.106", + "syn 2.0.109", "walkdir", ] [[package]] name = "rust-embed-utils" -version = "8.7.2" +version = "8.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6cc0c81648b20b70c491ff8cce00c1c3b223bb8ed2b5d41f0e54c6c4c0a3594" +checksum = "60b161f275cb337fe0a44d924a5f4df0ed69c2c39519858f931ce61c779d3475" dependencies = [ "sha2", "walkdir", @@ -5780,7 +5733,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "errno", "libc", "linux-raw-sys 0.4.15", @@ -5793,7 +5746,7 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "errno", "libc", "linux-raw-sys 0.11.0", @@ -5812,7 +5765,7 @@ version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfb9cf8877777222e4a3bc7eb247e398b56baba500c38c1c46842431adc8b55c" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "bytemuck", "smallvec", "ttf-parser 0.21.1", @@ -5851,9 +5804,9 @@ dependencies = [ [[package]] name = "schemars" -version = "1.0.4" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" +checksum = "9558e172d4e8533736ba97870c4b2cd63f84b382a3d6eb063da41b91cce17289" dependencies = [ "dyn-clone", "ref-cast", @@ -5881,16 +5834,16 @@ checksum = "b6277f0217056f77f1d8f49f2950ac6c278c0d607c45f5ee99328d792ede24ec" dependencies = [ "ab_glyph", "log", - "memmap2 0.9.8", + "memmap2 0.9.9", "smithay-client-toolkit 0.19.2", "tiny-skia", ] [[package]] name = "self_cell" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f7d95a54511e0c7be3f51e8867aa8cf35148d7b9445d44de2f943e2b206e749" +checksum = "16c2f82143577edb4921b71ede051dac62ca3c16084e918bf7b40c96ae10eb33" [[package]] name = "serde" @@ -5931,7 +5884,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -5940,7 +5893,7 @@ version = "1.0.145" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" dependencies = [ - "indexmap 2.11.4", + "indexmap 2.12.0", "itoa", "memchr", "ryu", @@ -5956,7 +5909,7 @@ checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -5970,17 +5923,17 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.15.0" +version = "3.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6093cd8c01b25262b84927e0f7151692158fab02d961e04c979d3903eba7ecc5" +checksum = "aa66c845eee442168b2c8134fec70ac50dc20e760769c8ba0ad1319ca1959b04" dependencies = [ "base64", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.11.4", + "indexmap 2.12.0", "schemars 0.9.0", - "schemars 1.0.4", + "schemars 1.1.0", "serde_core", "serde_json", "serde_with_macros", @@ -5989,14 +5942,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.15.0" +version = "3.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7e6c180db0816026a61afa1cff5344fb7ebded7e4d3062772179f2501481c27" +checksum = "b91a903660542fced4e99881aa481bdbaec1634568ee02e0b8bd57c64cb38955" dependencies = [ "darling 0.21.3", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -6103,13 +6056,13 @@ version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "calloop 0.13.0", "calloop-wayland-source 0.3.0", "cursor-icon", "libc", "log", - "memmap2 0.9.8", + "memmap2 0.9.9", "rustix 0.38.44", "thiserror 1.0.69", "wayland-backend", @@ -6128,14 +6081,14 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0512da38f5e2b31201a93524adb8d3136276fa4fe4aafab4e1f727a82b534cc0" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "bytemuck", "calloop 0.14.3", "calloop-wayland-source 0.4.1", "cursor-icon", "libc", "log", - "memmap2 0.9.8", + "memmap2 0.9.9", "pkg-config", "rustix 1.1.2", "thiserror 2.0.17", @@ -6207,7 +6160,7 @@ dependencies = [ "foreign-types", "js-sys", "log", - "memmap2 0.9.8", + "memmap2 0.9.9", "objc", "raw-window-handle", "redox_syscall 0.5.18", @@ -6228,7 +6181,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.9.4", + "bitflags 2.10.0", ] [[package]] @@ -6277,7 +6230,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -6328,9 +6281,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.106" +version = "2.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" +checksum = "2f17c7e013e88258aa9543dcbe81aca68a667a9ac37cd69c9fbc07858bfe0e2f" dependencies = [ "proc-macro2", "quote", @@ -6345,7 +6298,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -6442,7 +6395,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -6453,7 +6406,7 @@ checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -6545,11 +6498,12 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" dependencies = [ "displaydoc", + "serde_core", "zerovec", ] @@ -6594,7 +6548,7 @@ checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -6653,7 +6607,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.11.4", + "indexmap 2.12.0", "toml_datetime 0.6.11", "winnow 0.5.40", ] @@ -6664,7 +6618,7 @@ version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.11.4", + "indexmap 2.12.0", "serde", "serde_spanned", "toml_datetime 0.6.11", @@ -6677,7 +6631,7 @@ version = "0.23.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" dependencies = [ - "indexmap 2.11.4", + "indexmap 2.12.0", "toml_datetime 0.7.3", "toml_parser", "winnow 0.7.13", @@ -6712,7 +6666,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -6852,9 +6806,9 @@ checksum = "1df77b101bcc4ea3d78dafc5ad7e4f58ceffe0b2b16bf446aeb50b6cb4157656" [[package]] name = "unicode-ident" -version = "1.0.19" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" [[package]] name = "unicode-linebreak" @@ -6864,9 +6818,9 @@ checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" [[package]] name = "unicode-properties" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" +checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d" [[package]] name = "unicode-script" @@ -6985,9 +6939,9 @@ checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "version-compare" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" +checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e" [[package]] name = "version_check" @@ -7028,9 +6982,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.104" +version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d" +checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" dependencies = [ "cfg-if", "once_cell", @@ -7039,25 +6993,11 @@ dependencies = [ "wasm-bindgen-shared", ] -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.104" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn 2.0.106", - "wasm-bindgen-shared", -] - [[package]] name = "wasm-bindgen-futures" -version = "0.4.54" +version = "0.4.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e038d41e478cc73bae0ff9b36c60cff1c98b8f38f8d7e8061e79ee63608ac5c" +checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0" dependencies = [ "cfg-if", "js-sys", @@ -7068,9 +7008,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.104" +version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119" +checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7078,22 +7018,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.104" +version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7" +checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" dependencies = [ + "bumpalo", "proc-macro2", "quote", - "syn 2.0.106", - "wasm-bindgen-backend", + "syn 2.0.109", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.104" +version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1" +checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" dependencies = [ "unicode-ident", ] @@ -7133,7 +7073,7 @@ version = "0.31.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c66a47e840dc20793f2264eb4b3e4ecb4b75d91c0dd4af04b456128e0bdd449d" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "rustix 1.1.2", "wayland-backend", "wayland-scanner", @@ -7145,7 +7085,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "cursor-icon", "wayland-backend", ] @@ -7167,7 +7107,7 @@ version = "0.32.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "efa790ed75fbfd71283bd2521a1cfdc022aabcc28bdcff00851f9e4ae88d9901" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "wayland-backend", "wayland-client", "wayland-scanner", @@ -7180,7 +7120,7 @@ version = "20250721.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40a1f863128dcaaec790d7b4b396cc9b9a7a079e878e18c47e6c2d2c5a8dcbb1" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7193,7 +7133,7 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dfe33d551eb8bffd03ff067a8b44bb963919157841a99957151299a6307d19c" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7206,7 +7146,7 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a07a14257c077ab3279987c4f8bb987851bf57081b93710381daea94f2c2c032" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7219,7 +7159,7 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "efd94963ed43cf9938a090ca4f7da58eb55325ec8200c3848963e98dc25b78ec" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7244,7 +7184,7 @@ version = "0.31.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcbd4f3aba6c9fba70445ad2a484c0ef0356c1a9459b1e8e435bedc1971a6222" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "downcast-rs", "rustix 1.1.2", "wayland-backend", @@ -7265,9 +7205,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.81" +version = "0.3.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9367c417a924a74cae129e6a2ae3b47fabb1f8995595ab474029da749a8be120" +checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1" dependencies = [ "js-sys", "wasm-bindgen", @@ -7322,10 +7262,10 @@ checksum = "0348c840d1051b8e86c3bcd31206080c5e71e5933dabd79be1ce732b0b2f089a" dependencies = [ "arrayvec", "bit-vec", - "bitflags 2.9.4", + "bitflags 2.10.0", "cfg_aliases 0.1.1", "document-features", - "indexmap 2.11.4", + "indexmap 2.12.0", "log", "naga", "once_cell", @@ -7349,7 +7289,7 @@ dependencies = [ "arrayvec", "ash", "bit-set", - "bitflags 2.9.4", + "bitflags 2.10.0", "block", "cfg_aliases 0.1.1", "core-graphics-types", @@ -7390,7 +7330,7 @@ version = "22.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc9d91f0e2c4b51434dfa6db77846f2793149d8e73f800fa2e41f52b8eac3c5d" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "js-sys", "web-sys", ] @@ -7509,7 +7449,7 @@ checksum = "942ac266be9249c84ca862f0a164a39533dc2f6f33dc98ec89c8da99b82ea0bd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -7520,7 +7460,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -7531,7 +7471,7 @@ checksum = "da33557140a288fae4e1d5f8873aaf9eb6613a9cf82c3e070223ff177f598b60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -7542,7 +7482,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -7883,7 +7823,7 @@ dependencies = [ "ahash", "android-activity", "atomic-waker", - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.5.1", "bytemuck", "calloop 0.13.0", @@ -7895,7 +7835,7 @@ dependencies = [ "dpi", "js-sys", "libc", - "memmap2 0.9.8", + "memmap2 0.9.9", "ndk", "objc2 0.5.2", "objc2-app-kit 0.2.2", @@ -7958,9 +7898,9 @@ checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" [[package]] name = "writeable" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" dependencies = [ "either", ] @@ -8004,12 +7944,6 @@ version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bec9e4a500ca8864c5b47b8b482a73d62e4237670e5b5f1d6b9e3cae50f28f2b" -[[package]] -name = "xdg" -version = "2.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546" - [[package]] name = "xdg" version = "3.0.0" @@ -8029,7 +7963,7 @@ dependencies = [ [[package]] name = "xdg-shell-wrapper-config" version = "0.1.0" -source = "git+https://github.com/pop-os/cosmic-panel#f1a947605243a79c4a4a0813fa234fa21440c859" +source = "git+https://github.com/pop-os/cosmic-panel?branch=shrinkable-applets#70c0ef9d13517dfa5a8ccc2ae72834bb50ae9ec2" dependencies = [ "serde", "wayland-protocols-wlr", @@ -8063,7 +7997,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d66ca9352cbd4eecbbc40871d8a11b4ac8107cfc528a6e14d7c19c69d0e1ac9" dependencies = [ "libc", - "memmap2 0.9.8", + "memmap2 0.9.9", "xkeysym", ] @@ -8074,7 +8008,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7a974f48060a14e95705c01f24ad9c3345022f4d97441b8a36beb7ed5c4a02d" dependencies = [ "libc", - "memmap2 0.9.8", + "memmap2 0.9.9", "xkeysym", ] @@ -8084,7 +8018,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "dlib", "log", "once_cell", @@ -8102,9 +8036,9 @@ dependencies = [ [[package]] name = "xml-rs" -version = "0.8.27" +version = "0.8.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fd8403733700263c6eb89f192880191f1b83e332f7a20371ddcf421c4a337c7" +checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f" [[package]] name = "xmlwriter" @@ -8135,11 +8069,10 @@ checksum = "e01738255b5a16e78bbb83e7fbba0a1e7dd506905cfc53f4622d89015a03fbb5" [[package]] name = "yoke" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" dependencies = [ - "serde", "stable_deref_trait", "yoke-derive", "zerofrom", @@ -8147,13 +8080,13 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", "synstructure", ] @@ -8251,7 +8184,7 @@ dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", "zbus_names 4.2.0", "zvariant 5.8.0", "zvariant_utils 3.2.1", @@ -8303,7 +8236,7 @@ checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -8323,15 +8256,15 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", "synstructure", ] [[package]] name = "zerotrie" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" dependencies = [ "displaydoc", "yoke", @@ -8340,10 +8273,11 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.4" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" dependencies = [ + "serde", "yoke", "zerofrom", "zerovec-derive", @@ -8351,13 +8285,13 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", ] [[package]] @@ -8426,7 +8360,7 @@ dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.109", "zvariant_utils 3.2.1", ] @@ -8450,6 +8384,6 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.106", + "syn 2.0.109", "winnow 0.7.13", ] diff --git a/Cargo.toml b/Cargo.toml index a8c35094..b020beb5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -72,7 +72,10 @@ lto = "thin" [workspace.metadata.cargo-machete] ignored = ["libcosmic"] -# [patch."https://github.com/pop-os/libcosmic"] +[patch."https://github.com/pop-os/libcosmic"] +cosmic-config = { git = "https://github.com/pop-os/libcosmic//", branch = "shrinkable-applets" } +libcosmic = { git = "https://github.com/pop-os/libcosmic//", branch = "shrinkable-applets" } +iced_futures = { git = "https://github.com/pop-os/libcosmic//", branch = "shrinkable-applets" } # cosmic-config = { path = "../libcosmic/cosmic-config" } # libcosmic = { path = "../libcosmic" } # iced_futures = { path = "../libcosmic/iced/futures" } diff --git a/cosmic-app-list/src/app.rs b/cosmic-app-list/src/app.rs index 266e10be..5cea2b8a 100755 --- a/cosmic-app-list/src/app.rs +++ b/cosmic-app-list/src/app.rs @@ -79,8 +79,13 @@ static DND_FAVORITES: u64 = u64::MAX; impl AppletIconData { fn new(applet: &Context) -> Self { let icon_size = applet.suggested_size(false).0; - let padding = applet.suggested_padding(false); - let icon_spacing = 4.0; + let (major_padding, cross_padding) = applet.suggested_padding(false); + let (h_padding, v_padding) = if applet.is_horizontal() { + (major_padding as f32, cross_padding as f32) + } else { + (cross_padding as f32, major_padding as f32) + }; + let icon_spacing = applet.spacing as f32; let (dot_radius, bar_size) = match applet.size { Size::Hardcoded(_) => (2.0, 8.0), @@ -98,14 +103,31 @@ impl AppletIconData { } } }; - - let padding = padding as f32; - let padding = match applet.anchor { - PanelAnchor::Top => [padding - (dot_radius * 2. + 1.), padding, padding, padding], - PanelAnchor::Bottom => [padding, padding, padding - (dot_radius * 2. + 1.), padding], - PanelAnchor::Left => [padding, padding, padding, padding - (dot_radius * 2. + 1.)], - PanelAnchor::Right => [padding, padding - (dot_radius * 2. + 1.), padding, padding], + PanelAnchor::Top => [ + v_padding - (dot_radius * 2. + 1.), + h_padding, + v_padding, + h_padding, + ], + PanelAnchor::Bottom => [ + v_padding, + h_padding, + v_padding - (dot_radius * 2. + 1.), + h_padding, + ], + PanelAnchor::Left => [ + v_padding, + h_padding, + v_padding, + h_padding - (dot_radius * 2. + 1.), + ], + PanelAnchor::Right => [ + v_padding, + h_padding - (dot_radius * 2. + 1.), + v_padding, + h_padding, + ], }; AppletIconData { icon_size, @@ -920,7 +942,7 @@ impl cosmic::Application for CosmicAppList { } Message::DndEnter(x, y) => { let item_size = self.core.applet.suggested_size(false).0 - + 2 * self.core.applet.suggested_padding(false); + + 2 * self.core.applet.suggested_padding(false).0; let pos_in_list = match self.core.applet.anchor { PanelAnchor::Top | PanelAnchor::Bottom => x as f32, PanelAnchor::Left | PanelAnchor::Right => y as f32, @@ -942,7 +964,7 @@ impl cosmic::Application for CosmicAppList { } Message::DndMotion(x, y) => { let item_size = self.core.applet.suggested_size(false).0 - + 2 * self.core.applet.suggested_padding(false); + + 2 * self.core.applet.suggested_padding(false).0; let pos_in_list = match self.core.applet.anchor { PanelAnchor::Top | PanelAnchor::Bottom => x as f32, PanelAnchor::Left | PanelAnchor::Right => y as f32, @@ -1350,7 +1372,7 @@ impl cosmic::Application for CosmicAppList { }; } let applet_suggested_size = self.core.applet.suggested_size(false).0 - + 2 * self.core.applet.suggested_padding(false); + + 2 * self.core.applet.suggested_padding(false).0; let (_favorite_popup_cutoff, active_popup_cutoff) = self.panel_overflow_lengths(); let popup_applet_count = @@ -1407,7 +1429,7 @@ impl cosmic::Application for CosmicAppList { }; } let applet_suggested_size = self.core.applet.suggested_size(false).0 - + 2 * self.core.applet.suggested_padding(false); + + 2 * self.core.applet.suggested_padding(false).0; let (favorite_popup_cutoff, _active_popup_cutoff) = self.panel_overflow_lengths(); let popup_applet_count = @@ -1573,7 +1595,7 @@ impl cosmic::Application for CosmicAppList { icon::from_name("starred-symbolic.symbolic") .size(self.core.applet.suggested_size(false).0), ) - .padding(self.core.applet.suggested_padding(false)) + .padding(self.core.applet.suggested_padding(false).1) // TODO .into(), ); } @@ -1643,13 +1665,13 @@ impl cosmic::Application for CosmicAppList { let window_size = self.core.applet.suggested_bounds.as_ref(); let max_num = if self.core.applet.is_horizontal() { let suggested_width = self.core.applet.suggested_size(false).0 - + self.core.applet.suggested_padding(false) * 2; + + self.core.applet.suggested_padding(false).0 * 2; window_size .map(|w| w.width) .map_or(u32::MAX, |b| (b / suggested_width as f32) as u32) as usize } else { let suggested_height = self.core.applet.suggested_size(false).1 - + self.core.applet.suggested_padding(false) * 2; + + self.core.applet.suggested_padding(false).0 * 2; window_size .map(|w| w.height) .map_or(u32::MAX, |b| (b / suggested_height as f32) as u32) as usize @@ -2247,7 +2269,7 @@ impl CosmicAppList { 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 + + self.core.applet.suggested_padding(true).0 * 2 + applet_icon.icon_spacing as u16; let favorite_active_cnt = self diff --git a/cosmic-applet-a11y/data/com.system76.CosmicAppletA11y.desktop b/cosmic-applet-a11y/data/com.system76.CosmicAppletA11y.desktop index 89f85f7b..9c838739 100644 --- a/cosmic-applet-a11y/data/com.system76.CosmicAppletA11y.desktop +++ b/cosmic-applet-a11y/data/com.system76.CosmicAppletA11y.desktop @@ -21,6 +21,7 @@ Icon=preferences-desktop-accessibility-symbolic StartupNotify=true NoDisplay=true X-CosmicApplet=true +X-CosmicShrinkable=true # Indicates that the auto-hover click should go to the "end" of the hover popup X-CosmicHoverPopup=Auto X-OverflowPriority=10 diff --git a/cosmic-applet-audio/Cargo.toml b/cosmic-applet-audio/Cargo.toml index 0ef5e6e8..91c5a900 100644 --- a/cosmic-applet-audio/Cargo.toml +++ b/cosmic-applet-audio/Cargo.toml @@ -11,7 +11,8 @@ i18n-embed-fl.workspace = true i18n-embed.workspace = true libcosmic.workspace = true libpulse-binding = "2.30.1" -mpris2-zbus = { git = "https://github.com/pop-os/dbus-settings-bindings" } +mpris2-zbus = { git = "https://github.com/pop-os/dbus-settings-bindings", branch = "precise-capturing" } +# mpris2-zbus = { path = "../../dbus-settings-bindings/mpris2" } rust-embed.workspace = true serde.workspace = true tokio.workspace = true diff --git a/cosmic-applet-audio/data/com.system76.CosmicAppletAudio.desktop b/cosmic-applet-audio/data/com.system76.CosmicAppletAudio.desktop index de6cce09..346aaebb 100644 --- a/cosmic-applet-audio/data/com.system76.CosmicAppletAudio.desktop +++ b/cosmic-applet-audio/data/com.system76.CosmicAppletAudio.desktop @@ -22,6 +22,7 @@ Icon=com.system76.CosmicAppletAudio-symbolic StartupNotify=true NoDisplay=true X-CosmicApplet=true +X-CosmicShrinkable=true # Indicates that the auto-hover click should go to the "end" of the hover popup X-CosmicHoverPopup=End X-OverflowPriority=10 diff --git a/cosmic-applet-audio/src/lib.rs b/cosmic-applet-audio/src/lib.rs index d84102ea..ab9374b4 100644 --- a/cosmic-applet-audio/src/lib.rs +++ b/cosmic-applet-audio/src/lib.rs @@ -12,8 +12,9 @@ use config::{AudioAppletConfig, amplification_sink, amplification_source}; use cosmic::{ Element, Renderer, Task, Theme, app, applet::{ + column as applet_column, cosmic_panel_config::PanelAnchor, - menu_button, menu_control_padding, padded_control, + menu_button, menu_control_padding, padded_control, row as applet_row, token::subscription::{TokenRequest, TokenUpdate, activation_token_subscription}, }, cctk::sctk::reexports::calloop, @@ -166,10 +167,16 @@ pub enum Message { Surface(surface::Action), } +// TODO +// mouse area with on enter and a stack widget for all buttons +// most recently entered button is on top +// position is a multiple of button size +// on leave of applet, popup button is on top again + impl Audio { - fn playback_buttons(&self) -> Option> { + fn playback_buttons(&self) -> Vec> { + let mut elements: Vec> = Vec::new(); if self.player_status.is_some() && self.config.show_media_controls_in_top_panel { - let mut elements = Vec::with_capacity(3); if self .player_status .as_ref() @@ -205,18 +212,8 @@ impl Audio { .into(), ) } - - Some(match self.core.applet.anchor { - PanelAnchor::Left | PanelAnchor::Right => Column::with_children(elements) - .align_x(Alignment::Center) - .into(), - PanelAnchor::Top | PanelAnchor::Bottom => Row::with_children(elements) - .align_y(Alignment::Center) - .into(), - }) - } else { - None } + elements } fn go_previous(&self, icon_size: u16) -> Option> { @@ -724,21 +721,37 @@ impl cosmic::Application for Audio { self.core .applet - .autosize_window(if let Some(Some(playback_buttons)) = playback_buttons { - match self.core.applet.anchor { - PanelAnchor::Left | PanelAnchor::Right => Element::from( - Column::with_children([playback_buttons, btn.into()]) - .align_x(Alignment::Center), - ), - PanelAnchor::Top | PanelAnchor::Bottom => { - Row::with_children([playback_buttons, btn.into()]) - .align_y(Alignment::Center) - .into() + .autosize_window( + if let Some(playback_buttons) = playback_buttons + && !playback_buttons.is_empty() + { + match self.core.applet.anchor { + PanelAnchor::Left | PanelAnchor::Right => Element::from( + applet_column::Column::with_children(playback_buttons) + .push(btn) + .align_x(Alignment::Center) + // TODO configurable variable from the panel? + .spacing( + -(self.core.applet.suggested_padding(true).0 as f32) + * self.core.applet.padding_overlap, + ), + ), + PanelAnchor::Top | PanelAnchor::Bottom => { + applet_row::Row::with_children(playback_buttons) + .push(btn) + .align_y(Alignment::Center) + // TODO configurable variable from the panel? + .spacing( + -(self.core.applet.suggested_padding(true).0 as f32) + * self.core.applet.padding_overlap, + ) + .into() + } } - } - } else { - btn.into() - }) + } else { + btn.into() + }, + ) .into() } diff --git a/cosmic-applet-battery/data/com.system76.CosmicAppletBattery.desktop b/cosmic-applet-battery/data/com.system76.CosmicAppletBattery.desktop index 40793648..bc043c8c 100644 --- a/cosmic-applet-battery/data/com.system76.CosmicAppletBattery.desktop +++ b/cosmic-applet-battery/data/com.system76.CosmicAppletBattery.desktop @@ -21,5 +21,6 @@ Icon=com.system76.CosmicAppletBattery-symbolic StartupNotify=true NoDisplay=true X-CosmicApplet=true +X-CosmicShrinkable=true X-CosmicHoverPopup=Start X-OverflowPriority=10 diff --git a/cosmic-applet-battery/src/app.rs b/cosmic-applet-battery/src/app.rs index c60bf85e..0ceb36fe 100644 --- a/cosmic-applet-battery/src/app.rs +++ b/cosmic-applet-battery/src/app.rs @@ -484,7 +484,7 @@ impl cosmic::Application for CosmicBatteryApplet { } fn view(&self) -> Element<'_, Message> { - let btn = self + let btn: Element<'_, Message> = self .core .applet .icon_button(&self.icon_name) @@ -508,17 +508,24 @@ impl cosmic::Application for CosmicBatteryApplet { shadow: Shadow::default(), icon_color: Some(Color::TRANSPARENT), } - }))) - .into(); + }))); + let (dot_align_x, dot_align_y) = match self.core.applet.anchor { + PanelAnchor::Left => (Alignment::Start, Alignment::Center), + PanelAnchor::Right => (Alignment::End, Alignment::Center), + PanelAnchor::Top => (Alignment::Center, Alignment::Start), + PanelAnchor::Bottom => (Alignment::Center, Alignment::End), + }; - match self.core.applet.anchor { - PanelAnchor::Left | PanelAnchor::Right => Column::with_children([btn, dot]) - .align_x(Alignment::Center) - .into(), - PanelAnchor::Top | PanelAnchor::Bottom => Row::with_children([btn, dot]) - .align_y(Alignment::Center) - .into(), - } + cosmic::iced::widget::stack![ + btn, + container(dot) + .width(Length::Fill) + .height(Length::Fill) + .align_y(dot_align_y) + .align_x(dot_align_x) + .padding(2.0) + ] + .into() }; self.core.applet.autosize_window(content).into() @@ -790,7 +797,7 @@ impl cosmic::Application for CosmicBatteryApplet { if gpu.toggled && !self.core.applet.suggested_bounds.as_ref().is_some_and(|c| { let suggested_size = self.core.applet.suggested_size(true); - let padding = self.core.applet.suggested_padding(true); + let padding = self.core.applet.suggested_padding(true).1; let w = suggested_size.0 + 2 * padding; let h = suggested_size.1 + 2 * padding; // if we have a configure for width and height, we're in a overflow popup diff --git a/cosmic-applet-bluetooth/data/com.system76.CosmicAppletBluetooth.desktop b/cosmic-applet-bluetooth/data/com.system76.CosmicAppletBluetooth.desktop index 592fcc66..ab2f4100 100644 --- a/cosmic-applet-bluetooth/data/com.system76.CosmicAppletBluetooth.desktop +++ b/cosmic-applet-bluetooth/data/com.system76.CosmicAppletBluetooth.desktop @@ -12,5 +12,6 @@ Icon=com.system76.CosmicAppletBluetooth-symbolic StartupNotify=true NoDisplay=true X-CosmicApplet=true +X-CosmicShrinkable=true X-CosmicHoverPopup=Auto X-OverflowPriority=10 diff --git a/cosmic-applet-bluetooth/src/app.rs b/cosmic-applet-bluetooth/src/app.rs index f930e0d3..386f4d42 100644 --- a/cosmic-applet-bluetooth/src/app.rs +++ b/cosmic-applet-bluetooth/src/app.rs @@ -204,13 +204,6 @@ impl cosmic::Application for CosmicBluetoothApplet { ) => { // my headphones seem to always request this // doesn't seem to be defined in the UX mockups - // dbg!( - // "request service authorization", - // d.name, - // bluer::id::Service::try_from(service) - // .map(|s| s.to_string()) - // .unwrap_or_else(|_| "unknown".to_string()) - // ); } }, }, diff --git a/cosmic-applet-input-sources/data/com.system76.CosmicAppletInputSources.desktop b/cosmic-applet-input-sources/data/com.system76.CosmicAppletInputSources.desktop index d6f8eb36..dabd43bb 100644 --- a/cosmic-applet-input-sources/data/com.system76.CosmicAppletInputSources.desktop +++ b/cosmic-applet-input-sources/data/com.system76.CosmicAppletInputSources.desktop @@ -21,5 +21,6 @@ Icon=com.system76.CosmicAppletInputSources-symbolic StartupNotify=true NoDisplay=true X-CosmicApplet=true +X-CosmicShrinkable=true X-CosmicHoverPopup=Auto X-OverflowPriority=10 diff --git a/cosmic-applet-input-sources/src/lib.rs b/cosmic-applet-input-sources/src/lib.rs index 64de4cf7..6ad03498 100644 --- a/cosmic-applet-input-sources/src/lib.rs +++ b/cosmic-applet-input-sources/src/lib.rs @@ -11,7 +11,7 @@ use cosmic::{ cosmic_config::{self, ConfigSet, CosmicConfigEntry}, cosmic_theme::Spacing, iced::{ - Task, + Rectangle, Task, platform_specific::shell::commands::popup::{destroy_popup, get_popup}, widget::{column, row}, window::Id, @@ -20,11 +20,17 @@ use cosmic::{ iced_runtime::{Appearance, core::window}, prelude::*, surface, theme, - widget::{self, horizontal_space, vertical_space}, + widget::{ + self, autosize, horizontal_space, + rectangle_tracker::{RectangleTracker, RectangleUpdate, rectangle_tracker_subscription}, + vertical_space, + }, }; use cosmic_comp_config::CosmicCompConfig; +use std::sync::LazyLock; use xkb_data::KeyboardLayout; +static AUTOSIZE_MAIN_ID: LazyLock = LazyLock::new(|| widget::Id::new("autosize-main")); pub const ID: &str = "com.system76.CosmicAppletInputSources"; pub fn run() -> cosmic::iced::Result { @@ -77,6 +83,8 @@ pub struct Window { comp_config_handler: Option, layouts: Vec, active_layouts: Vec, + rectangle_tracker: Option>, + rectangle: Rectangle, } #[derive(Clone, Debug)] @@ -87,6 +95,7 @@ pub enum Message { SetActiveLayout(usize), KeyboardSettings, Surface(surface::Action), + Rectangle(RectangleUpdate), } #[derive(Debug)] @@ -119,6 +128,8 @@ impl cosmic::Application for Window { popup: None, comp_config: flags.comp_config, active_layouts: Vec::new(), + rectangle_tracker: None, + rectangle: Rectangle::default(), }; (window, Task::none()) } @@ -194,6 +205,14 @@ impl cosmic::Application for Window { cosmic::app::Action::Surface(a), )); } + Message::Rectangle(u) => match u { + RectangleUpdate::Rectangle(r) => { + self.rectangle = r.1; + } + RectangleUpdate::Init(tracker) => { + self.rectangle_tracker = Some(tracker); + } + }, } Task::none() @@ -205,31 +224,18 @@ impl cosmic::Application for Window { .first() .map_or("", |l| l.layout.as_str()), ); - - cosmic::widget::button::custom( - row!( - column!( - input_source_text, - horizontal_space().width(Length::Fixed( - (self.core.applet.suggested_size(true).0 - + 2 * self.core.applet.suggested_padding(true)) - as f32 - )) - ) - .width(Length::Shrink) - .height(Length::Shrink) - .align_x(Alignment::Center), - vertical_space().height(Length::Fixed( - (self.core.applet.suggested_size(true).1 - + 2 * self.core.applet.suggested_padding(true)) as f32 - )) - ) - .align_y(Alignment::Center) - .width(Length::Shrink) - .height(Length::Shrink), + let button = self + .core + .applet + .text_button(input_source_text, Message::TogglePopup); + autosize::autosize( + if let Some(tracker) = self.rectangle_tracker.as_ref() { + Element::from(tracker.container(0, button).ignore_bounds(true)) + } else { + button.into() + }, + AUTOSIZE_MAIN_ID.clone(), ) - .on_press_down(Message::TogglePopup) - .class(cosmic::theme::Button::AppletIcon) .into() } @@ -263,18 +269,21 @@ impl cosmic::Application for Window { } fn subscription(&self) -> Subscription { - self.core - .watch_config("com.system76.CosmicComp") - .map(|update| { - if !update.errors.is_empty() { - tracing::error!( - "errors loading config {:?}: {:?}", - update.keys, - update.errors - ); - } - Message::CompConfig(Box::new(update.config)) - }) + Subscription::batch(vec![ + rectangle_tracker_subscription(0).map(|e| Message::Rectangle(e.1)), + self.core + .watch_config("com.system76.CosmicComp") + .map(|update| { + if !update.errors.is_empty() { + tracing::error!( + "errors loading config {:?}: {:?}", + update.keys, + update.errors + ); + } + Message::CompConfig(Box::new(update.config)) + }), + ]) } fn style(&self) -> Option { diff --git a/cosmic-applet-minimize/src/lib.rs b/cosmic-applet-minimize/src/lib.rs index b76ebeab..e836290d 100644 --- a/cosmic-applet-minimize/src/lib.rs +++ b/cosmic-applet-minimize/src/lib.rs @@ -74,7 +74,7 @@ impl Minimize { return index; }; let button_total_size = self.core.applet.suggested_size(true).0 - + self.core.applet.suggested_padding(true) * 2 + + self.core.applet.suggested_padding(true).0 * 2 + 4; let btn_count = max_major_axis_len / button_total_size as u32; if btn_count >= self.apps.len() as u32 { @@ -143,8 +143,11 @@ impl cosmic::Application for Minimize { }; app.update_desktop_entries(); - - (app, Task::none()) + let t = iced::window::minimize::>( + app.core.main_window_id().unwrap(), + true, + ); + (app, t) } fn core(&self) -> &cosmic::app::Core { @@ -205,11 +208,22 @@ impl cosmic::Application for Minimize { } self.apps = apps; + + return iced::window::maximize(self.core.main_window_id().unwrap(), true); } ToplevelUpdate::Remove(handle) => { + let prev_was_empty = self.apps.is_empty(); self.apps .retain(|a| a.toplevel_info.foreign_toplevel != handle); self.apps.shrink_to_fit(); + let changed = prev_was_empty != self.apps.is_empty(); + if self.apps.is_empty() && changed { + // hide the window + return iced::window::minimize( + self.core.main_window_id().unwrap(), + true, + ); + } } }, WaylandUpdate::Image(handle, img) => { @@ -241,7 +255,7 @@ impl cosmic::Application for Minimize { self.overflow_popup = Some(new_id); let icon_size = self.core.applet.suggested_size(true).0 as u32 - + 2 * self.core.applet.suggested_padding(true) as u32; + + 2 * self.core.applet.suggested_padding(true).1 as u32; let spacing = self.core.system_theme().cosmic().space_xxs() as u32; let major_axis_len = (icon_size + spacing) * (pos.saturating_sub(1) as u32); let rectangle = match self.core.applet.anchor { @@ -293,9 +307,16 @@ impl cosmic::Application for Minimize { } }); let (width, _) = self.core.applet.suggested_size(false); - let padding = self.core.applet.suggested_padding(false); + let (major_padding, cross_padding) = self.core.applet.suggested_padding(false); + let padding = if matches!( + self.core.applet.anchor, + PanelAnchor::Top | PanelAnchor::Bottom + ) { + (major_padding, cross_padding) + } else { + (cross_padding, major_padding) + }; let theme = self.core.system_theme().cosmic(); - let space_xxs = theme.space_xxs(); let icon_buttons = self.apps[..max_icon_count].iter().map(|app| { self.core .applet @@ -332,6 +353,7 @@ impl cosmic::Application for Minimize { None }; + let spacing = self.core.applet.spacing; // TODO optional dividers on ends if detects app list neighbor // not sure the best way to tell if there is an adjacent app-list let icon_buttons = icon_buttons.chain(overflow_btn); @@ -343,14 +365,14 @@ impl cosmic::Application for Minimize { .align_y(cosmic::iced_core::Alignment::Center) .height(Length::Shrink) .width(Length::Shrink) - .spacing(space_xxs) + .spacing(spacing as f32) .into() } else { Column::with_children(icon_buttons) .align_x(cosmic::iced_core::Alignment::Center) .height(Length::Shrink) .width(Length::Shrink) - .spacing(space_xxs) + .spacing(spacing as f32) .into() }; @@ -388,7 +410,15 @@ impl cosmic::Application for Minimize { } }); let (width, _) = self.core.applet.suggested_size(false); - let padding = self.core.applet.suggested_padding(false); + let (major_padding, cross_padding) = self.core.applet.suggested_padding(false); + let padding = if matches!( + self.core.applet.anchor, + PanelAnchor::Top | PanelAnchor::Bottom + ) { + (major_padding, cross_padding) + } else { + (cross_padding, major_padding) + }; let theme = self.core.system_theme().cosmic(); let space_xxs = theme.space_xxs(); let icon_buttons = self.apps[max_icon_count..].iter().map(|app| { @@ -429,15 +459,13 @@ impl cosmic::Application for Minimize { Row::with_children(icon_buttons) .align_y(cosmic::iced_core::Alignment::Center) .height(Length::Shrink) - .width(Length::Shrink) - .spacing(space_xxs), + .width(Length::Shrink), ) } else { Column::with_children(icon_buttons) .align_x(cosmic::iced_core::Alignment::Center) .height(Length::Shrink) .width(Length::Shrink) - .spacing(space_xxs) .into() }, ) diff --git a/cosmic-applet-minimize/src/wayland_handler.rs b/cosmic-applet-minimize/src/wayland_handler.rs index 56fcb0a1..648a0770 100644 --- a/cosmic-applet-minimize/src/wayland_handler.rs +++ b/cosmic-applet-minimize/src/wayland_handler.rs @@ -20,7 +20,7 @@ use cctk::{ }, toplevel_info::{ToplevelInfoHandler, ToplevelInfoState}, toplevel_management::{ToplevelManagerHandler, ToplevelManagerState}, - wayland_client::{self, WEnum, protocol::wl_seat::WlSeat}, + wayland_client::{self, WEnum, delegate_noop, protocol::wl_seat::WlSeat}, }; use cosmic::{ cctk::{ @@ -557,21 +557,10 @@ impl Dispatch for AppData { } } -impl Dispatch for AppData { - fn event( - _app_data: &mut Self, - _buffer: &wl_buffer::WlBuffer, - _event: wl_buffer::Event, - (): &(), - _: &Connection, - _qh: &QueueHandle, - ) { - } -} - sctk::delegate_shm!(AppData); sctk::delegate_seat!(AppData); sctk::delegate_registry!(AppData); cctk::delegate_toplevel_info!(AppData); cctk::delegate_toplevel_manager!(AppData); cctk::delegate_screencopy!(AppData); +delegate_noop!(AppData: ignore wl_buffer::WlBuffer); diff --git a/cosmic-applet-minimize/src/window_image.rs b/cosmic-applet-minimize/src/window_image.rs index e7ae9a43..82e8794d 100644 --- a/cosmic-applet-minimize/src/window_image.rs +++ b/cosmic-applet-minimize/src/window_image.rs @@ -26,7 +26,7 @@ where icon: &fde::IconSource, size: f32, on_press: Msg, - padding: u16, + padding: (u16, u16), ) -> Self { let border = 1.0; Self { @@ -63,8 +63,9 @@ where .height(Length::Shrink) .width(Length::Shrink), ) - .center(Length::Fixed(size + padding as f32 * 2.0)) - .padding(padding), + .center_x(Length::Fixed(size + padding.0 as f32 * 2.0)) + .center_y(Length::Fixed(size + padding.1 as f32 * 2.0)) + .padding([padding.0 as f32, padding.1 as f32]), ) .on_press(on_press) .width(Length::Shrink) diff --git a/cosmic-applet-network/data/com.system76.CosmicAppletNetwork.desktop b/cosmic-applet-network/data/com.system76.CosmicAppletNetwork.desktop index 4bc3ecc2..501b8a7e 100644 --- a/cosmic-applet-network/data/com.system76.CosmicAppletNetwork.desktop +++ b/cosmic-applet-network/data/com.system76.CosmicAppletNetwork.desktop @@ -21,5 +21,6 @@ Icon=com.system76.CosmicAppletNetwork-symbolic StartupNotify=true NoDisplay=true X-CosmicApplet=true +X-CosmicShrinkable=true X-CosmicHoverPopup=Auto X-OverflowPriority=10 diff --git a/cosmic-applet-notifications/data/com.system76.CosmicAppletNotifications.desktop b/cosmic-applet-notifications/data/com.system76.CosmicAppletNotifications.desktop index ee30cc84..ed0b87b9 100644 --- a/cosmic-applet-notifications/data/com.system76.CosmicAppletNotifications.desktop +++ b/cosmic-applet-notifications/data/com.system76.CosmicAppletNotifications.desktop @@ -20,6 +20,7 @@ Keywords=COSMIC;Iced; Icon=com.system76.CosmicAppletNotifications-symbolic NoDisplay=true X-CosmicApplet=true +X-CosmicShrinkable=true X-NotificationsApplet=true X-CosmicHoverPopup=Auto X-OverflowPriority=10 diff --git a/cosmic-applet-power/data/com.system76.CosmicAppletPower.desktop b/cosmic-applet-power/data/com.system76.CosmicAppletPower.desktop index e1797268..31cc01bf 100644 --- a/cosmic-applet-power/data/com.system76.CosmicAppletPower.desktop +++ b/cosmic-applet-power/data/com.system76.CosmicAppletPower.desktop @@ -20,5 +20,6 @@ Icon=com.system76.CosmicAppletPower-symbolic StartupNotify=true NoDisplay=true X-CosmicApplet=true +X-CosmicShrinkable=true X-CosmicHoverPopup=Auto X-OverflowPriority=10 diff --git a/cosmic-applet-status-area/src/components/app.rs b/cosmic-applet-status-area/src/components/app.rs index e957971d..224f4324 100644 --- a/cosmic-applet-status-area/src/components/app.rs +++ b/cosmic-applet-status-area/src/components/app.rs @@ -56,7 +56,7 @@ impl App { fn resize_window(&self) -> app::Task { let icon_size = self.core.applet.suggested_size(true).0 as u32 - + self.core.applet.suggested_padding(true) as u32 * 2; + + self.core.applet.suggested_padding(true).1 as u32 * 2; let n = self.menus.len() as u32; window::resize( self.core.main_window_id().unwrap(), @@ -73,8 +73,8 @@ impl App { } })?; - let button_total_size = - self.core.applet.suggested_size(true).0 + self.core.applet.suggested_padding(true) * 2; + let button_total_size = self.core.applet.suggested_size(true).0 + + self.core.applet.suggested_padding(true).1 * 2; let menu_count = self.menus.len(); @@ -250,11 +250,11 @@ impl cosmic::Application for App { PanelAnchor::Left | PanelAnchor::Right ) { let suggested_size = self.core.applet.suggested_size(false).1 - + 2 * self.core.applet.suggested_padding(false); + + 2 * self.core.applet.suggested_padding(false).1; popup_settings.positioner.anchor_rect.y = i as i32 * suggested_size as i32; } else { let suggested_size = self.core.applet.suggested_size(false).0 - + 2 * self.core.applet.suggested_padding(false); + + 2 * self.core.applet.suggested_padding(false).1; popup_settings.positioner.anchor_rect.x = i as i32 * suggested_size as i32; } cmds.push(get_popup(popup_settings)); @@ -332,11 +332,11 @@ impl cosmic::Application for App { PanelAnchor::Left | PanelAnchor::Right ) { let suggested_size = self.core.applet.suggested_size(false).1 - + 2 * self.core.applet.suggested_padding(false); + + 2 * self.core.applet.suggested_padding(false).1; popup_settings.positioner.anchor_rect.y = i as i32 * suggested_size as i32; } else { let suggested_size = self.core.applet.suggested_size(false).0 - + 2 * self.core.applet.suggested_padding(false); + + 2 * self.core.applet.suggested_padding(false).1; popup_settings.positioner.anchor_rect.x = i as i32 * suggested_size as i32; } cmds.push(get_popup(popup_settings)); @@ -369,12 +369,12 @@ impl cosmic::Application for App { PanelAnchor::Left | PanelAnchor::Right ) { let suggested_size = self.core.applet.suggested_size(false).1 - + 2 * self.core.applet.suggested_padding(false); + + 2 * self.core.applet.suggested_padding(false).1; popup_settings.positioner.anchor_rect.y = overflow_index as i32 * suggested_size as i32; } else { let suggested_size = self.core.applet.suggested_size(false).0 - + 2 * self.core.applet.suggested_padding(false); + + 2 * self.core.applet.suggested_padding(false).1; popup_settings.positioner.anchor_rect.x = overflow_index as i32 * suggested_size as i32; } @@ -418,11 +418,11 @@ impl cosmic::Application for App { PanelAnchor::Left | PanelAnchor::Right ) { let suggested_size = self.core.applet.suggested_size(false).1 - + 2 * self.core.applet.suggested_padding(false); + + 2 * self.core.applet.suggested_padding(false).1; popup_settings.positioner.anchor_rect.y = i as i32 * suggested_size as i32; } else { let suggested_size = self.core.applet.suggested_size(false).0 - + 2 * self.core.applet.suggested_padding(false); + + 2 * self.core.applet.suggested_padding(false).1; popup_settings.positioner.anchor_rect.x = i as i32 * suggested_size as i32; } cmds.push(get_popup(popup_settings)); diff --git a/cosmic-applet-tiling/data/com.system76.CosmicAppletTiling.desktop b/cosmic-applet-tiling/data/com.system76.CosmicAppletTiling.desktop index 696be31a..2c8a10c6 100644 --- a/cosmic-applet-tiling/data/com.system76.CosmicAppletTiling.desktop +++ b/cosmic-applet-tiling/data/com.system76.CosmicAppletTiling.desktop @@ -21,5 +21,6 @@ Icon=com.system76.CosmicAppletTiling-symbolic StartupNotify=true NoDisplay=true X-CosmicApplet=true +X-CosmicShrinkable=true X-HostWaylandDisplay=true X-CosmicHoverPopup=Auto diff --git a/cosmic-applet-time/data/com.system76.CosmicAppletTime.desktop b/cosmic-applet-time/data/com.system76.CosmicAppletTime.desktop index ac8af85b..771cf07d 100644 --- a/cosmic-applet-time/data/com.system76.CosmicAppletTime.desktop +++ b/cosmic-applet-time/data/com.system76.CosmicAppletTime.desktop @@ -19,6 +19,7 @@ Keywords=COSMIC;Iced; Icon=com.system76.CosmicAppletTime-symbolic NoDisplay=true X-CosmicApplet=true +X-CosmicShrinkable=true X-HostWaylandDisplay=true X-CosmicHoverPopup=Auto # No shrink priority, as this applet is always visible when configured diff --git a/cosmic-applet-time/src/window.rs b/cosmic-applet-time/src/window.rs index aa47b1ae..04d05590 100644 --- a/cosmic-applet-time/src/window.rs +++ b/cosmic-applet-time/src/window.rs @@ -226,7 +226,8 @@ impl Window { date_time_col, horizontal_space().width(Length::Fixed( (self.core.applet.suggested_size(true).0 - + 2 * self.core.applet.suggested_padding(true)) as f32 + + 2 * self.core.applet.suggested_padding(true).1) + as f32 )) ) .align_x(Alignment::Center), @@ -282,7 +283,8 @@ impl Window { self.core.applet.text(formatted_date), container(vertical_space().height(Length::Fixed( (self.core.applet.suggested_size(true).1 - + 2 * self.core.applet.suggested_padding(true)) as f32 + + 2 * self.core.applet.suggested_padding(true).1) + as f32 ))) ) .align_y(Alignment::Center), @@ -662,9 +664,9 @@ impl cosmic::Application for Window { self.vertical_layout() }) .padding(if horizontal { - [0, self.core.applet.suggested_padding(true)] + [0, self.core.applet.suggested_padding(true).0] } else { - [self.core.applet.suggested_padding(true), 0] + [self.core.applet.suggested_padding(true).0, 0] }) .on_press_down(Message::TogglePopup) .class(cosmic::theme::Button::AppletIcon); diff --git a/cosmic-applet-workspaces/src/components/app.rs b/cosmic-applet-workspaces/src/components/app.rs index b3a73e40..32e2c32e 100644 --- a/cosmic-applet-workspaces/src/components/app.rs +++ b/cosmic-applet-workspaces/src/components/app.rs @@ -74,7 +74,7 @@ impl IcedWorkspacesApplet { return index; }; let button_total_size = self.core.applet.suggested_size(true).0 - + self.core.applet.suggested_padding(true) * 2 + + self.core.applet.suggested_padding(true).1 * 2 + 4; let btn_count = max_major_axis_len / button_total_size as u32; if btn_count >= self.workspaces.len() as u32 { @@ -219,8 +219,8 @@ impl cosmic::Application for IcedWorkspacesApplet { self.core.applet.anchor, PanelAnchor::Top | PanelAnchor::Bottom ); - let suggested_total = - self.core.applet.suggested_size(true).0 + self.core.applet.suggested_padding(true) * 2; + let suggested_total = self.core.applet.suggested_size(true).0 + + self.core.applet.suggested_padding(true).1 * 2; let suggested_window_size = self.core.applet.suggested_window_size(); let popup_index = self.popup_index().unwrap_or(self.workspaces.len()); @@ -245,9 +245,9 @@ impl cosmic::Application for IcedWorkspacesApplet { .align_y(Alignment::Center), ) .padding(if horizontal { - [0, self.core.applet.suggested_padding(true)] + [0, self.core.applet.suggested_padding(true).1] } else { - [self.core.applet.suggested_padding(true), 0] + [self.core.applet.suggested_padding(true).1, 0] }) .on_press( if w.state.contains(ext_workspace_handle_v1::State::Active) { diff --git a/cosmic-panel-button/src/lib.rs b/cosmic-panel-button/src/lib.rs index bbb31729..8b94c8aa 100644 --- a/cosmic-panel-button/src/lib.rs +++ b/cosmic-panel-button/src/lib.rs @@ -41,6 +41,47 @@ enum Msg { Surface(surface::Action), } +impl Button { + pub fn icon_button_from_handle<'a, Message: Clone + 'static>( + &self, + icon: cosmic::widget::icon::Handle, + ) -> cosmic::widget::Button<'a, Message> { + let theme = cosmic::theme::active(); + let theme = theme.cosmic(); + + let suggested = self.core.applet.suggested_size(icon.symbolic); + let (major_padding, applet_padding_minor_axis) = + self.core.applet.suggested_padding(icon.symbolic); + let (horizontal_padding, vertical_padding) = if self.core.applet.is_horizontal() { + (major_padding, applet_padding_minor_axis) + } else { + (applet_padding_minor_axis, major_padding) + }; + let symbolic = icon.symbolic; + + cosmic::widget::button::custom( + cosmic::widget::layer_container( + cosmic::widget::icon(icon) + .class(if symbolic { + cosmic::theme::Svg::Custom(std::rc::Rc::new(|theme| { + cosmic::iced_widget::svg::Style { + color: Some(theme.cosmic().background.on.into()), + } + })) + } else { + cosmic::theme::Svg::default() + }) + .width(Length::Fixed(suggested.0 as f32)) + .height(Length::Fixed(suggested.1 as f32)), + ) + .center(Length::Fill), + ) + .width(Length::Fixed((suggested.0 + 2 * horizontal_padding) as f32)) + .height(Length::Fixed((suggested.1 + 2 * vertical_padding) as f32)) + .class(cosmic::theme::Button::AppletIcon) + } +} + impl cosmic::Application for Button { type Message = Msg; type Executor = cosmic::SingleThreadExecutor; @@ -124,13 +165,11 @@ impl cosmic::Application for Button { { cosmic::Element::from( self.core.applet.applet_tooltip::( - self.core - .applet - .icon_button_from_handle( - cosmic::widget::icon::from_name(self.desktop.icon.clone().unwrap()) - .handle(), - ) - .on_press_down(Msg::Press), + self.icon_button_from_handle( + cosmic::widget::icon::from_name(self.desktop.icon.clone().unwrap()) + .handle(), + ) + .on_press_down(Msg::Press), self.desktop.name.clone(), false, Msg::Surface, @@ -142,13 +181,13 @@ impl cosmic::Application for Button { self.core.applet.text(&self.desktop.name), vertical_space().height(Length::Fixed( (self.core.applet.suggested_size(true).1 - + 2 * self.core.applet.suggested_padding(true)) + + 2 * self.core.applet.suggested_padding(true).1) as f32 )) ) .align_y(iced::Alignment::Center); cosmic::widget::button::custom(content) - .padding([0, self.core.applet.suggested_padding(true)]) + .padding([0, self.core.applet.suggested_padding(true).0]) .class(cosmic::theme::Button::AppletIcon) .on_press_down(Msg::Press) .into() diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 00822fdf..ff100edc 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "1.85.1" +channel = "1.90.0"