fix(panel): update defaults with shrinkable applets appearance fixes

This commit is contained in:
Ashley Wulber 2025-11-11 14:33:21 -05:00 committed by GitHub
parent 8fd1f281da
commit 41e90bde33
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 265 additions and 179 deletions

267
Cargo.lock generated
View file

@ -327,7 +327,7 @@ checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -568,7 +568,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -603,7 +603,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -679,7 +679,7 @@ dependencies = [
"derive_utils",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -759,7 +759,7 @@ dependencies = [
"regex",
"rustc-hash 1.1.0",
"shlex",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -913,7 +913,7 @@ dependencies = [
"proc-macro-crate 3.4.0",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -1005,7 +1005,7 @@ checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -1089,9 +1089,9 @@ dependencies = [
[[package]]
name = "cc"
version = "1.2.44"
version = "1.2.45"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37521ac7aabe3d13122dc382493e20c9416f299d2ccd5b3a5340a2570cdeb0f3"
checksum = "35900b6c8d709fb1d854671ae27aeaa9eec2f8b01b364e1619a40da3e6fe2afe"
dependencies = [
"find-msvc-tools",
"jobserver",
@ -1218,7 +1218,7 @@ dependencies = [
"heck 0.5.0",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -1515,7 +1515,7 @@ dependencies = [
[[package]]
name = "cosmic-comp-config"
version = "0.1.0"
source = "git+https://github.com/pop-os/cosmic-comp#6e4164643ea81d3a2c3b40ffc441950722a61bfb"
source = "git+https://github.com/pop-os/cosmic-comp#25763439dbb0463e134ba1463121da49f7f9bbba"
dependencies = [
"cosmic-config",
"input",
@ -1527,12 +1527,12 @@ dependencies = [
[[package]]
name = "cosmic-config"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#d2f7fdea6d24e70b54e017e89973b8a5a44b4e54"
source = "git+https://github.com/pop-os/libcosmic#2c93a4094fe331726ad0f7b80ae00a28f856543b"
dependencies = [
"atomicwrites",
"cosmic-config-derive",
"cosmic-settings-daemon",
"dirs 6.0.0",
"dirs",
"futures-util",
"iced_futures",
"known-folders",
@ -1541,17 +1541,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#d2f7fdea6d24e70b54e017e89973b8a5a44b4e54"
source = "git+https://github.com/pop-os/libcosmic#2c93a4094fe331726ad0f7b80ae00a28f856543b"
dependencies = [
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -1577,15 +1577,15 @@ 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.9",
"thiserror 2.0.17",
"tracing",
"xdg 2.5.2",
"xdg",
]
[[package]]
@ -1600,18 +1600,18 @@ dependencies = [
[[package]]
name = "cosmic-mime-apps"
version = "0.1.0"
source = "git+https://github.com/pop-os/cosmic-mime-apps#24ee9e9a743c570437875b9d2066bda0ef7dba98"
source = "git+https://github.com/pop-os/cosmic-mime-apps#1ccb8f635ce1ead1f40564c2a158e1d6c06d25fb"
dependencies = [
"freedesktop-desktop-entry",
"mime 0.3.17",
"quick-xml",
"xdg 2.5.2",
"quick-xml 0.38.3",
"xdg",
]
[[package]]
name = "cosmic-panel-config"
version = "0.1.0"
source = "git+https://github.com/pop-os/cosmic-panel#491e231f4c28158176a0dd0f8c48083ad9c42d8a"
source = "git+https://github.com/pop-os/cosmic-panel#231180bff8491f3628d4dd3e249173bd17c21d19"
dependencies = [
"anyhow",
"cosmic-config",
@ -1698,7 +1698,7 @@ dependencies = [
"cosmic-settings-upower-subscription",
"cosmic-settings-wallpaper",
"derive_setters",
"dirs 6.0.0",
"dirs",
"eyre",
"fontdb 0.23.0",
"freedesktop-desktop-entry",
@ -1910,7 +1910,7 @@ version = "0.1.0"
dependencies = [
"cosmic-bg-config",
"cosmic-randr-shell",
"dirs 6.0.0",
"dirs",
"eyre",
"fast_image_resize",
"futures-lite 2.6.1",
@ -1926,7 +1926,7 @@ dependencies = [
[[package]]
name = "cosmic-text"
version = "0.15.0"
source = "git+https://github.com/pop-os/cosmic-text.git#8a7bc790e5283f9aa569c29f8142a7a1b14e2b80"
source = "git+https://github.com/pop-os/cosmic-text.git#9339446cfa9b7f0110094a97764dccc09cfa98a2"
dependencies = [
"bitflags 2.10.0",
"fontdb 0.23.0",
@ -1949,12 +1949,12 @@ dependencies = [
[[package]]
name = "cosmic-theme"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#d2f7fdea6d24e70b54e017e89973b8a5a44b4e54"
source = "git+https://github.com/pop-os/libcosmic#2c93a4094fe331726ad0f7b80ae00a28f856543b"
dependencies = [
"almost",
"cosmic-config",
"csscolorparser",
"dirs 6.0.0",
"dirs",
"palette",
"ron",
"serde",
@ -2110,7 +2110,7 @@ dependencies = [
"proc-macro2",
"quote",
"strsim",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -2124,7 +2124,7 @@ dependencies = [
"proc-macro2",
"quote",
"strsim",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -2135,7 +2135,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead"
dependencies = [
"darling_core 0.20.11",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -2146,7 +2146,7 @@ checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81"
dependencies = [
"darling_core 0.21.3",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -2194,7 +2194,7 @@ dependencies = [
"darling 0.20.11",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -2204,7 +2204,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c"
dependencies = [
"derive_builder_core",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -2216,7 +2216,7 @@ dependencies = [
"darling 0.20.11",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -2227,7 +2227,7 @@ checksum = "ccfae181bab5ab6c5478b2ccb69e4c68a02f8c3ec72f6616bfec9dbc599d2ee0"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -2259,34 +2259,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]]
@ -2297,7 +2276,7 @@ checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab"
dependencies = [
"libc",
"option-ext",
"redox_users 0.5.2",
"redox_users",
"windows-sys 0.61.2",
]
@ -2327,7 +2306,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -2452,7 +2431,7 @@ checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -2472,7 +2451,7 @@ checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -2556,9 +2535,9 @@ dependencies = [
[[package]]
name = "exr"
version = "1.73.0"
version = "1.74.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f83197f59927b46c04a183a619b7c29df34e63e63c7869320862268c0ef687e0"
checksum = "4300e043a56aa2cb633c01af81ca8f699a321879a7854d3896a0ba89056363be"
dependencies = [
"bit_field",
"half",
@ -2630,7 +2609,7 @@ checksum = "a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -2761,9 +2740,9 @@ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
[[package]]
name = "font-types"
version = "0.10.0"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "511e2c18a516c666d27867d2f9821f76e7d591f762e9fc41dd6cc5c90fe54b0b"
checksum = "39a654f404bbcbd48ea58c617c2993ee91d1cb63727a37bf2323a4edeed1b8c5"
dependencies = [
"bytemuck",
]
@ -2823,7 +2802,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -2853,7 +2832,7 @@ dependencies = [
"memchr",
"thiserror 2.0.17",
"unicase",
"xdg 3.0.0",
"xdg",
]
[[package]]
@ -2966,7 +2945,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -3376,7 +3355,7 @@ dependencies = [
"proc-macro2",
"quote",
"strsim",
"syn 2.0.108",
"syn 2.0.110",
"unic-langid",
]
@ -3390,7 +3369,7 @@ dependencies = [
"i18n-config",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -3420,7 +3399,7 @@ dependencies = [
[[package]]
name = "iced"
version = "0.14.0-dev"
source = "git+https://github.com/pop-os/libcosmic#d2f7fdea6d24e70b54e017e89973b8a5a44b4e54"
source = "git+https://github.com/pop-os/libcosmic#2c93a4094fe331726ad0f7b80ae00a28f856543b"
dependencies = [
"dnd",
"iced_accessibility",
@ -3438,7 +3417,7 @@ dependencies = [
[[package]]
name = "iced_accessibility"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#d2f7fdea6d24e70b54e017e89973b8a5a44b4e54"
source = "git+https://github.com/pop-os/libcosmic#2c93a4094fe331726ad0f7b80ae00a28f856543b"
dependencies = [
"accesskit",
"accesskit_winit",
@ -3447,7 +3426,7 @@ dependencies = [
[[package]]
name = "iced_core"
version = "0.14.0-dev"
source = "git+https://github.com/pop-os/libcosmic#d2f7fdea6d24e70b54e017e89973b8a5a44b4e54"
source = "git+https://github.com/pop-os/libcosmic#2c93a4094fe331726ad0f7b80ae00a28f856543b"
dependencies = [
"bitflags 2.10.0",
"bytes",
@ -3472,7 +3451,7 @@ dependencies = [
[[package]]
name = "iced_futures"
version = "0.14.0-dev"
source = "git+https://github.com/pop-os/libcosmic#d2f7fdea6d24e70b54e017e89973b8a5a44b4e54"
source = "git+https://github.com/pop-os/libcosmic#2c93a4094fe331726ad0f7b80ae00a28f856543b"
dependencies = [
"futures",
"iced_core",
@ -3498,7 +3477,7 @@ dependencies = [
[[package]]
name = "iced_graphics"
version = "0.14.0-dev"
source = "git+https://github.com/pop-os/libcosmic#d2f7fdea6d24e70b54e017e89973b8a5a44b4e54"
source = "git+https://github.com/pop-os/libcosmic#2c93a4094fe331726ad0f7b80ae00a28f856543b"
dependencies = [
"bitflags 2.10.0",
"bytemuck",
@ -3520,7 +3499,7 @@ dependencies = [
[[package]]
name = "iced_renderer"
version = "0.14.0-dev"
source = "git+https://github.com/pop-os/libcosmic#d2f7fdea6d24e70b54e017e89973b8a5a44b4e54"
source = "git+https://github.com/pop-os/libcosmic#2c93a4094fe331726ad0f7b80ae00a28f856543b"
dependencies = [
"iced_graphics",
"iced_tiny_skia",
@ -3532,7 +3511,7 @@ dependencies = [
[[package]]
name = "iced_runtime"
version = "0.14.0-dev"
source = "git+https://github.com/pop-os/libcosmic#d2f7fdea6d24e70b54e017e89973b8a5a44b4e54"
source = "git+https://github.com/pop-os/libcosmic#2c93a4094fe331726ad0f7b80ae00a28f856543b"
dependencies = [
"bytes",
"cosmic-client-toolkit",
@ -3548,7 +3527,7 @@ dependencies = [
[[package]]
name = "iced_tiny_skia"
version = "0.14.0-dev"
source = "git+https://github.com/pop-os/libcosmic#d2f7fdea6d24e70b54e017e89973b8a5a44b4e54"
source = "git+https://github.com/pop-os/libcosmic#2c93a4094fe331726ad0f7b80ae00a28f856543b"
dependencies = [
"bytemuck",
"cosmic-text",
@ -3564,7 +3543,7 @@ dependencies = [
[[package]]
name = "iced_wgpu"
version = "0.14.0-dev"
source = "git+https://github.com/pop-os/libcosmic#d2f7fdea6d24e70b54e017e89973b8a5a44b4e54"
source = "git+https://github.com/pop-os/libcosmic#2c93a4094fe331726ad0f7b80ae00a28f856543b"
dependencies = [
"as-raw-xcb-connection",
"bitflags 2.10.0",
@ -3595,7 +3574,7 @@ dependencies = [
[[package]]
name = "iced_widget"
version = "0.14.0-dev"
source = "git+https://github.com/pop-os/libcosmic#d2f7fdea6d24e70b54e017e89973b8a5a44b4e54"
source = "git+https://github.com/pop-os/libcosmic#2c93a4094fe331726ad0f7b80ae00a28f856543b"
dependencies = [
"cosmic-client-toolkit",
"dnd",
@ -3616,7 +3595,7 @@ dependencies = [
[[package]]
name = "iced_winit"
version = "0.14.0-dev"
source = "git+https://github.com/pop-os/libcosmic#d2f7fdea6d24e70b54e017e89973b8a5a44b4e54"
source = "git+https://github.com/pop-os/libcosmic#2c93a4094fe331726ad0f7b80ae00a28f856543b"
dependencies = [
"cosmic-client-toolkit",
"dnd",
@ -4234,7 +4213,7 @@ checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -4645,7 +4624,7 @@ checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976"
[[package]]
name = "libcosmic"
version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#d2f7fdea6d24e70b54e017e89973b8a5a44b4e54"
source = "git+https://github.com/pop-os/libcosmic#2c93a4094fe331726ad0f7b80ae00a28f856543b"
dependencies = [
"apply",
"ashpd 0.12.0",
@ -5370,7 +5349,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -5443,7 +5422,7 @@ dependencies = [
"proc-macro-crate 3.4.0",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -5766,9 +5745,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",
]
@ -5804,7 +5783,7 @@ dependencies = [
"proc-macro2",
"proc-macro2-diagnostics",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -5844,7 +5823,7 @@ dependencies = [
"by_address",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -5943,7 +5922,7 @@ dependencies = [
"phf_shared",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -5978,7 +5957,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -6170,7 +6149,7 @@ dependencies = [
"proc-macro-error-attr2",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -6190,7 +6169,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
"version_check",
"yansi",
]
@ -6232,7 +6211,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b"
dependencies = [
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -6310,10 +6289,19 @@ dependencies = [
]
[[package]]
name = "quote"
version = "1.0.41"
name = "quick-xml"
version = "0.38.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1"
checksum = "42a232e7487fc2ef313d96dde7948e7a3c05101870d8985e4fd8d26aedd27b89"
dependencies = [
"memchr",
]
[[package]]
name = "quote"
version = "1.0.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f"
dependencies = [
"proc-macro2",
]
@ -6506,17 +6494,6 @@ dependencies = [
"bitflags 2.10.0",
]
[[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",
]
[[package]]
name = "redox_users"
version = "0.5.2"
@ -6545,7 +6522,7 @@ checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -6709,7 +6686,7 @@ dependencies = [
"proc-macro2",
"quote",
"rust-embed-utils",
"syn 2.0.108",
"syn 2.0.110",
"walkdir",
]
@ -6848,9 +6825,9 @@ dependencies = [
[[package]]
name = "schemars"
version = "1.0.5"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1317c3bf3e7df961da95b0a56a172a02abead31276215a0497241a7624b487ce"
checksum = "9558e172d4e8533736ba97870c4b2cd63f84b382a3d6eb063da41b91cce17289"
dependencies = [
"dyn-clone",
"ref-cast",
@ -6944,7 +6921,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -6969,7 +6946,7 @@ checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -6993,7 +6970,7 @@ dependencies = [
"indexmap 1.9.3",
"indexmap 2.12.0",
"schemars 0.9.0",
"schemars 1.0.5",
"schemars 1.1.0",
"serde_core",
"serde_json",
"serde_with_macros",
@ -7009,7 +6986,7 @@ dependencies = [
"darling 0.21.3",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -7395,9 +7372,9 @@ dependencies = [
[[package]]
name = "syn"
version = "2.0.108"
version = "2.0.110"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da58917d35242480a05c2897064da0a80589a2a0476c9a3f2fdc83b53502e917"
checksum = "a99801b5bd34ede4cf3fc688c5919368fea4e4814a4664359503e6015b280aea"
dependencies = [
"proc-macro2",
"quote",
@ -7412,7 +7389,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -7542,7 +7519,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -7553,7 +7530,7 @@ checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -7708,7 +7685,7 @@ checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -7826,7 +7803,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -8217,7 +8194,7 @@ dependencies = [
"bumpalo",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
"wasm-bindgen-shared",
]
@ -8366,7 +8343,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54cb1e9dc49da91950bdfd8b848c49330536d9d1fb03d4bfec8cae50caa50ae3"
dependencies = [
"proc-macro2",
"quick-xml",
"quick-xml 0.37.5",
"quote",
]
@ -8417,9 +8394,9 @@ dependencies = [
[[package]]
name = "weezl"
version = "0.1.10"
version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a751b3277700db47d3e574514de2eced5e54dc8a5436a3bf7a0b248b2cee16f3"
checksum = "009936b22a61d342859b5f0ea64681cbb35a358ab548e2a44a8cf0dac2d980b8"
[[package]]
name = "wgpu"
@ -8696,7 +8673,7 @@ checksum = "942ac266be9249c84ca862f0a164a39533dc2f6f33dc98ec89c8da99b82ea0bd"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -8707,7 +8684,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -8718,7 +8695,7 @@ checksum = "da33557140a288fae4e1d5f8873aaf9eb6613a9cf82c3e070223ff177f598b60"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -8729,7 +8706,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -9252,12 +9229,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"
@ -9277,7 +9248,7 @@ dependencies = [
[[package]]
name = "xdg-shell-wrapper-config"
version = "0.1.0"
source = "git+https://github.com/pop-os/cosmic-panel#491e231f4c28158176a0dd0f8c48083ad9c42d8a"
source = "git+https://github.com/pop-os/cosmic-panel#231180bff8491f3628d4dd3e249173bd17c21d19"
dependencies = [
"serde",
"wayland-protocols-wlr",
@ -9400,7 +9371,7 @@ checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
"synstructure",
]
@ -9498,7 +9469,7 @@ dependencies = [
"proc-macro-crate 3.4.0",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
"zbus_names 4.2.0",
"zvariant 5.8.0",
"zvariant_utils 3.2.1",
@ -9563,7 +9534,7 @@ checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -9583,7 +9554,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
"synstructure",
]
@ -9624,7 +9595,7 @@ checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
]
[[package]]
@ -9702,7 +9673,7 @@ dependencies = [
"proc-macro-crate 3.4.0",
"proc-macro2",
"quote",
"syn 2.0.108",
"syn 2.0.110",
"zvariant_utils 3.2.1",
]
@ -9726,6 +9697,6 @@ dependencies = [
"proc-macro2",
"quote",
"serde",
"syn 2.0.108",
"syn 2.0.110",
"winnow 0.7.13",
]

View file

@ -278,6 +278,7 @@ impl Page {
#[cfg(feature = "wayland")]
tokio::task::spawn(async move {
Self::update_panel_radii(r);
Self::update_dock_padding(r);
});
}
@ -538,7 +539,7 @@ impl Page {
// TODO: cache panel and dock configs so that they needn't be re-read
#[cfg(feature = "wayland")]
fn update_panel_radii(roundness: Roundness) {
pub fn update_panel_radii(roundness: Roundness) {
let panel_config_helper = CosmicPanelConfig::cosmic_config("Panel").ok();
let dock_config_helper = CosmicPanelConfig::cosmic_config("Dock").ok();
@ -555,9 +556,11 @@ impl Page {
if let Some(panel_config_helper) = panel_config_helper.as_ref()
&& let Some(panel_config) = panel_config.as_mut()
{
let radii = if panel_config.anchor_gap || !panel_config.expand_to_edges {
let radii = if panel_config.anchor_gap {
let cornder_radii: CornerRadii = roundness.into();
cornder_radii.radius_xl[0] as u32
} else if matches!(roundness, Roundness::Round) && !panel_config.expand_to_edges {
12
} else {
0
};
@ -565,14 +568,16 @@ impl Page {
if let Err(why) = panel_config.set_border_radius(panel_config_helper, radii) {
tracing::error!(?why, "Error updating panel corner radii");
}
};
}
if let Some(dock_config_helper) = dock_config_helper.as_ref()
&& let Some(dock_config) = dock_config.as_mut()
{
let radii = if dock_config.anchor_gap || !dock_config.expand_to_edges {
let radii = if dock_config.anchor_gap {
let cornder_radii: CornerRadii = roundness.into();
cornder_radii.radius_xl[0] as u32
} else if matches!(roundness, Roundness::Round) && !dock_config.expand_to_edges {
12
} else {
0
};
@ -580,11 +585,37 @@ impl Page {
if let Err(why) = dock_config.set_border_radius(dock_config_helper, radii) {
tracing::error!(?why, "Error updating dock corner radii");
}
};
}
}
pub fn update_dock_padding(roundness: Roundness) {
let dock_config_helper = CosmicPanelConfig::cosmic_config("Dock").ok();
let mut dock_config = dock_config_helper.as_ref().and_then(|config_helper| {
let panel_config = CosmicPanelConfig::get_entry(config_helper).ok()?;
(panel_config.name == "Dock").then_some(panel_config)
});
if let Some(dock_config_helper) = dock_config_helper.as_ref() {
if let Some(dock_config) = dock_config.as_mut() {
let padding = match roundness {
Roundness::Round => 4,
Roundness::SlightlyRound => 4,
Roundness::Square => 0,
};
if let Err(why) = dock_config.set_padding(dock_config_helper, padding) {
tracing::error!(?why, "Error updating dock padding");
}
}
}
}
// TODO: cache panel and dock configs so that they needn't be re-read
#[cfg(feature = "wayland")]
fn update_panel_spacing(density: Density) {
pub fn update_panel_spacing(density: Density) {
let spacing: cosmic::cosmic_theme::Spacing = density.into();
let space_none = spacing.space_none;
let panel_config_helper = CosmicPanelConfig::cosmic_config("Panel").ok();
let dock_config_helper = CosmicPanelConfig::cosmic_config("Dock").ok();
let mut panel_config = panel_config_helper.as_ref().and_then(|config_helper| {
@ -599,11 +630,7 @@ impl Page {
if let Some(panel_config_helper) = panel_config_helper.as_ref()
&& let Some(panel_config) = panel_config.as_mut()
{
let spacing = match density {
Density::Compact => 0,
_ => 4,
};
let update = panel_config.set_spacing(panel_config_helper, spacing);
let update = panel_config.set_spacing(panel_config_helper, space_none as u32);
if let Err(err) = update {
tracing::error!(?err, "Error updating panel spacing");
}
@ -612,11 +639,7 @@ impl Page {
if let Some(dock_config_helper) = dock_config_helper.as_ref()
&& let Some(dock_config) = dock_config.as_mut()
{
let spacing = match density {
Density::Compact => 0,
_ => 4,
};
let update = dock_config.set_spacing(dock_config_helper, spacing);
let update = dock_config.set_spacing(dock_config_helper, space_none as u32);
if let Err(err) = update {
tracing::error!(?err, "Error updating dock spacing");
}

View file

@ -218,4 +218,10 @@ impl page::Page<crate::pages::Message> for Page {
.title(fl!("dock"))
.description(fl!("dock", "desc"))
}
fn on_enter(&mut self) -> Task<crate::pages::Message> {
self.inner.update_defaults();
Task::none()
}
}

View file

@ -2,6 +2,7 @@ use cosmic::{
Element, Task,
cctk::sctk::reexports::client::{Proxy, backend::ObjectId, protocol::wl_output::WlOutput},
cosmic_config::{self, CosmicConfigEntry},
cosmic_theme::Density,
iced::{Alignment, Length},
surface, theme,
widget::{
@ -19,6 +20,8 @@ use cosmic_settings_page::{self as page, Section};
use slab::Slab;
use std::{collections::HashMap, time::Duration};
use crate::pages::desktop::appearance::Roundness;
pub struct PageInner {
pub(crate) config_helper: Option<cosmic_config::Config>,
pub(crate) panel_config: Option<CosmicPanelConfig>,
@ -437,6 +440,43 @@ pub enum Message {
}
impl PageInner {
pub(crate) fn update_defaults(&mut self) {
let theme = cosmic::theme::system_preference();
let theme = theme.cosmic();
let Some(default) = self.system_default.as_mut() else {
return;
};
let radius = theme.corner_radii;
let roundness: Roundness = radius.into();
if default.anchor_gap {
let radii = theme.corner_radii.radius_xl[0] as u32;
default.border_radius = radii;
} else if matches!(roundness, Roundness::Round) && !default.expand_to_edges {
default.border_radius = 12;
} else {
default.border_radius = 0;
}
let spacing = theme.spacing;
let density = Density::from(spacing);
default.spacing = match density {
Density::Compact => 0,
Density::Standard => 0,
Density::Spacious => 4,
};
if self.panel_config.as_ref().is_some_and(|c| c.name == "Dock") {
default.padding = match roundness {
Roundness::Round => 4,
Roundness::SlightlyRound => 4,
Roundness::Square => 0,
};
}
}
#[allow(clippy::too_many_lines)]
pub fn update(&mut self, message: Message) -> Task<Message> {
let Some(helper) = self.config_helper.as_ref() else {
@ -450,18 +490,24 @@ impl PageInner {
.as_mut()
.zip(self.config_helper.as_ref())
{
if default.anchor_gap || !default.expand_to_edges {
let radii = cosmic::theme::system_preference()
.cosmic()
.corner_radii
.radius_xl[0] as u32;
let theme = cosmic::theme::system_preference();
let theme = theme.cosmic();
let radius = theme.corner_radii;
let roundness: Roundness = radius.into();
if default.anchor_gap {
let radii = theme.corner_radii.radius_xl[0] as u32;
default.border_radius = radii;
} else if matches!(roundness, Roundness::Round) && !default.expand_to_edges {
default.border_radius = 12;
} else {
default.border_radius = 0;
}
if let Err(err) = default.write_entry(config) {
tracing::error!(?err, "Error resetting panel config.");
}
self.system_default = Some(default.clone());
self.panel_config.clone_from(&self.system_default);
} else {
tracing::error!("Panel config default is missing.");
@ -473,6 +519,21 @@ impl PageInner {
{
tracing::error!(?err, "Error fully resetting the panel config.");
}
// update the padding and spacing based on appearance
let theme = cosmic::theme::system_preference();
let theme = theme.cosmic();
let radius = theme.corner_radii;
let roundness: Roundness = radius.into();
crate::pages::desktop::appearance::Page::update_panel_radii(roundness);
let spacing = theme.spacing;
let density = Density::from(spacing);
crate::pages::desktop::appearance::Page::update_panel_spacing(density);
let radius = theme.corner_radii;
let roundness: Roundness = radius.into();
crate::pages::desktop::appearance::Page::update_dock_padding(roundness);
}
_ => {}
};
@ -528,6 +589,20 @@ impl PageInner {
} else {
_ = panel_config.set_margin(helper, 0);
}
let theme = cosmic::theme::system_preference();
let theme = theme.cosmic();
let radius = theme.corner_radii;
let roundness: Roundness = radius.into();
let new_radius;
if enabled {
let radii = theme.corner_radii.radius_xl[0] as u32;
new_radius = radii;
} else if matches!(roundness, Roundness::Round) && !panel_config.expand_to_edges {
new_radius = 12;
} else {
new_radius = 0;
}
_ = panel_config.set_border_radius(helper, new_radius).unwrap();
}
Message::PanelSize(size) => {
_ = panel_config.set_size(helper, size);
@ -545,6 +620,21 @@ impl PageInner {
}
Message::ExtendToEdge(enabled) => {
_ = panel_config.set_expand_to_edges(helper, enabled);
let theme = cosmic::theme::system_preference();
let theme = theme.cosmic();
let radius = theme.corner_radii;
let roundness: Roundness = radius.into();
let new_radius;
if panel_config.anchor_gap {
let radii = theme.corner_radii.radius_xl[0] as u32;
new_radius = radii;
} else if matches!(roundness, Roundness::Round) && !enabled {
new_radius = 12;
} else {
new_radius = 0;
}
_ = panel_config.set_border_radius(helper, new_radius).unwrap();
}
Message::OpacityRequest(opacity) => {
panel_config.opacity = opacity;
@ -587,16 +677,6 @@ impl PageInner {
}
}
if panel_config.anchor_gap || !panel_config.expand_to_edges {
let radii = cosmic::theme::system_preference()
.cosmic()
.corner_radii
.radius_xl[0] as u32;
_ = panel_config.set_border_radius(helper, radii);
} else {
_ = panel_config.set_border_radius(helper, 0);
}
Task::none()
}
}

View file

@ -139,4 +139,10 @@ impl page::Page<crate::pages::Message> for Page {
.title(fl!("panel"))
.description(fl!("panel", "desc"))
}
fn on_enter(&mut self) -> Task<crate::pages::Message> {
self.inner.update_defaults();
Task::none()
}
}