Merge pull request #862 from pop-os/theme-v2

feat: blur
This commit is contained in:
Jeremy Soller 2026-07-07 17:46:43 -06:00 • committed by GitHub
commit 10ca3f1025
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 135 additions and 111 deletions

173
Cargo.lock generated
View file

@ -316,9 +316,9 @@ checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb"
[[package]] [[package]]
name = "arrayvec" name = "arrayvec"
version = "0.7.7" version = "0.7.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f02882884d3e1bc524fb12c79f107f6ad0e1cfd498c536ffb494301740995dfe" checksum = "d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56"
[[package]] [[package]]
name = "as-raw-xcb-connection" name = "as-raw-xcb-connection"
@ -909,9 +909,9 @@ dependencies = [
[[package]] [[package]]
name = "cc" name = "cc"
version = "1.2.65" version = "1.2.66"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e228eec9be7c17ccb640b59b36a5cd805ea2a564a4c5e162c2f659fea30d3b96" checksum = "f5d6cac793997bd970000024b2934968efe83b382de4fdcf4fcb46b6ee4ad996"
dependencies = [ dependencies = [
"find-msvc-tools", "find-msvc-tools",
"jobserver", "jobserver",
@ -1318,7 +1318,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-client-toolkit" name = "cosmic-client-toolkit"
version = "0.2.0" version = "0.2.0"
source = "git+https://github.com/pop-os/cosmic-protocols?rev=c253ec1#c253ec1d6804afbcdf250f5cc37ae1194bba7bd2" source = "git+https://github.com/pop-os/cosmic-protocols?rev=32283d7#32283d76a8d0342da74c4cc022a533c52dcf378f"
dependencies = [ dependencies = [
"bitflags 2.13.0", "bitflags 2.13.0",
"cosmic-protocols", "cosmic-protocols",
@ -1331,7 +1331,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-config" name = "cosmic-config"
version = "1.0.0" version = "1.0.0"
source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" source = "git+https://github.com/pop-os/libcosmic.git#be419278591649b6d0fed8b1f97a80b6b53ecc6c"
dependencies = [ dependencies = [
"atomicwrites", "atomicwrites",
"cosmic-config-derive", "cosmic-config-derive",
@ -1352,7 +1352,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-config-derive" name = "cosmic-config-derive"
version = "1.0.0" version = "1.0.0"
source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" source = "git+https://github.com/pop-os/libcosmic.git#be419278591649b6d0fed8b1f97a80b6b53ecc6c"
dependencies = [ dependencies = [
"quote", "quote",
"syn", "syn",
@ -1360,8 +1360,8 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-files" name = "cosmic-files"
version = "1.1.0" version = "1.2.0"
source = "git+https://github.com/pop-os/cosmic-files.git#49107187a422344569f1580680e9ca815cbb22bf" source = "git+https://github.com/pop-os/cosmic-files.git#c4a9096ae2ad9dfd0f5dae259948d9b4be890f78"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"atomic_float", "atomic_float",
@ -1397,7 +1397,7 @@ dependencies = [
"recently-used-xbel", "recently-used-xbel",
"regex", "regex",
"rust-embed", "rust-embed",
"rustc-hash 2.1.2", "rustc-hash 2.1.3",
"serde", "serde",
"sha2 0.10.9", "sha2 0.10.9",
"shlex 1.3.0", "shlex 1.3.0",
@ -1435,7 +1435,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-protocols" name = "cosmic-protocols"
version = "0.2.0" version = "0.2.0"
source = "git+https://github.com/pop-os/cosmic-protocols?rev=c253ec1#c253ec1d6804afbcdf250f5cc37ae1194bba7bd2" source = "git+https://github.com/pop-os/cosmic-protocols?rev=32283d7#32283d76a8d0342da74c4cc022a533c52dcf378f"
dependencies = [ dependencies = [
"bitflags 2.13.0", "bitflags 2.13.0",
"wayland-backend", "wayland-backend",
@ -1497,7 +1497,7 @@ dependencies = [
"linebender_resource_handle", "linebender_resource_handle",
"log", "log",
"rangemap", "rangemap",
"rustc-hash 2.1.2", "rustc-hash 2.1.3",
"self_cell", "self_cell",
"skrifa 0.40.0", "skrifa 0.40.0",
"smol_str", "smol_str",
@ -1512,13 +1512,14 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-theme" name = "cosmic-theme"
version = "1.0.0" version = "1.0.0"
source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" source = "git+https://github.com/pop-os/libcosmic.git#be419278591649b6d0fed8b1f97a80b6b53ecc6c"
dependencies = [ dependencies = [
"almost", "almost",
"configparser", "configparser",
"cosmic-config", "cosmic-config",
"csscolorparser", "csscolorparser",
"dirs 6.0.0", "dirs 6.0.0",
"hex_color",
"palette", "palette",
"ron 0.12.2", "ron 0.12.2",
"serde", "serde",
@ -1561,9 +1562,9 @@ dependencies = [
[[package]] [[package]]
name = "crossbeam-deque" name = "crossbeam-deque"
version = "0.8.6" version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" checksum = "5181e0de7b61eb03a81e347d6dd8797bae9da5146707b51077e2d71a54ec0ceb"
dependencies = [ dependencies = [
"crossbeam-epoch", "crossbeam-epoch",
"crossbeam-utils", "crossbeam-utils",
@ -1571,27 +1572,27 @@ dependencies = [
[[package]] [[package]]
name = "crossbeam-epoch" name = "crossbeam-epoch"
version = "0.9.18" version = "0.9.20"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" checksum = "2d6914041f254d6e9176c01941b21115dcfb7089e55135a35411081bd106ef3f"
dependencies = [ dependencies = [
"crossbeam-utils", "crossbeam-utils",
] ]
[[package]] [[package]]
name = "crossbeam-queue" name = "crossbeam-queue"
version = "0.3.12" version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" checksum = "803d13fb3b09d88be9f4dbc29062c66b19bf7170867ceb746d2a8689bf6c7a26"
dependencies = [ dependencies = [
"crossbeam-utils", "crossbeam-utils",
] ]
[[package]] [[package]]
name = "crossbeam-utils" name = "crossbeam-utils"
version = "0.8.21" version = "0.8.22"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" checksum = "61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17"
[[package]] [[package]]
name = "crunchy" name = "crunchy"
@ -1607,7 +1608,7 @@ dependencies = [
"cosmic-text", "cosmic-text",
"etagere", "etagere",
"lru", "lru",
"rustc-hash 2.1.2", "rustc-hash 2.1.3",
"wgpu", "wgpu",
] ]
@ -1721,9 +1722,9 @@ checksum = "ac6b926516df9c60bfa16e107b21086399f8285a44ca9711344b9e553c5146e2"
[[package]] [[package]]
name = "defmt" name = "defmt"
version = "1.1.0" version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a6e524506490a1953d237cb87b1cfc1e46f88c18f10a22dfe0f507dc6bfc7f7f" checksum = "e2953bfe4f93bbd20cc71198842756f77d161884c99ebbabc41d80231ded88d1"
dependencies = [ dependencies = [
"bitflags 1.3.2", "bitflags 1.3.2",
"defmt-macros", "defmt-macros",
@ -1731,12 +1732,11 @@ dependencies = [
[[package]] [[package]]
name = "defmt-macros" name = "defmt-macros"
version = "1.1.0" version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0a27770e9c8f719a79d8b638281f4d828f77d8fd61e0bd94451b9b85e576a0b" checksum = "bad9c72e7ca2137e0dc3813245a0d282fd6daad32fd800af018306a9169b5fe8"
dependencies = [ dependencies = [
"defmt-parser", "defmt-parser",
"proc-macro-error2",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn", "syn",
@ -2230,7 +2230,7 @@ dependencies = [
"fluent-syntax", "fluent-syntax",
"intl-memoizer", "intl-memoizer",
"intl_pluralrules", "intl_pluralrules",
"rustc-hash 2.1.2", "rustc-hash 2.1.3",
"self_cell", "self_cell",
"smallvec", "smallvec",
"unic-langid", "unic-langid",
@ -2911,7 +2911,7 @@ dependencies = [
[[package]] [[package]]
name = "iced" name = "iced"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" source = "git+https://github.com/pop-os/libcosmic.git#be419278591649b6d0fed8b1f97a80b6b53ecc6c"
dependencies = [ dependencies = [
"dnd", "dnd",
"iced_accessibility", "iced_accessibility",
@ -2932,7 +2932,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_accessibility" name = "iced_accessibility"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" source = "git+https://github.com/pop-os/libcosmic.git#be419278591649b6d0fed8b1f97a80b6b53ecc6c"
dependencies = [ dependencies = [
"accesskit", "accesskit",
"accesskit_winit", "accesskit_winit",
@ -2941,7 +2941,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_core" name = "iced_core"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" source = "git+https://github.com/pop-os/libcosmic.git#be419278591649b6d0fed8b1f97a80b6b53ecc6c"
dependencies = [ dependencies = [
"bitflags 2.13.0", "bitflags 2.13.0",
"bytes", "bytes",
@ -2954,7 +2954,7 @@ dependencies = [
"num-traits", "num-traits",
"palette", "palette",
"raw-window-handle", "raw-window-handle",
"rustc-hash 2.1.2", "rustc-hash 2.1.3",
"serde", "serde",
"smol_str", "smol_str",
"thiserror 2.0.18", "thiserror 2.0.18",
@ -2966,7 +2966,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_debug" name = "iced_debug"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" source = "git+https://github.com/pop-os/libcosmic.git#be419278591649b6d0fed8b1f97a80b6b53ecc6c"
dependencies = [ dependencies = [
"iced_core", "iced_core",
"iced_futures", "iced_futures",
@ -2976,12 +2976,12 @@ dependencies = [
[[package]] [[package]]
name = "iced_futures" name = "iced_futures"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" source = "git+https://github.com/pop-os/libcosmic.git#be419278591649b6d0fed8b1f97a80b6b53ecc6c"
dependencies = [ dependencies = [
"futures", "futures",
"iced_core", "iced_core",
"log", "log",
"rustc-hash 2.1.2", "rustc-hash 2.1.3",
"tokio", "tokio",
"wasm-bindgen-futures", "wasm-bindgen-futures",
"wasmtimer", "wasmtimer",
@ -2990,7 +2990,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_graphics" name = "iced_graphics"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" source = "git+https://github.com/pop-os/libcosmic.git#be419278591649b6d0fed8b1f97a80b6b53ecc6c"
dependencies = [ dependencies = [
"bitflags 2.13.0", "bitflags 2.13.0",
"bytemuck", "bytemuck",
@ -3003,7 +3003,7 @@ dependencies = [
"log", "log",
"lyon_path", "lyon_path",
"raw-window-handle", "raw-window-handle",
"rustc-hash 2.1.2", "rustc-hash 2.1.3",
"thiserror 2.0.18", "thiserror 2.0.18",
"unicode-segmentation", "unicode-segmentation",
] ]
@ -3011,7 +3011,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_program" name = "iced_program"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" source = "git+https://github.com/pop-os/libcosmic.git#be419278591649b6d0fed8b1f97a80b6b53ecc6c"
dependencies = [ dependencies = [
"iced_graphics", "iced_graphics",
"iced_runtime", "iced_runtime",
@ -3020,7 +3020,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_renderer" name = "iced_renderer"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" source = "git+https://github.com/pop-os/libcosmic.git#be419278591649b6d0fed8b1f97a80b6b53ecc6c"
dependencies = [ dependencies = [
"iced_graphics", "iced_graphics",
"iced_tiny_skia", "iced_tiny_skia",
@ -3032,7 +3032,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_runtime" name = "iced_runtime"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" source = "git+https://github.com/pop-os/libcosmic.git#be419278591649b6d0fed8b1f97a80b6b53ecc6c"
dependencies = [ dependencies = [
"bytes", "bytes",
"cosmic-client-toolkit", "cosmic-client-toolkit",
@ -3047,7 +3047,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_tiny_skia" name = "iced_tiny_skia"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" source = "git+https://github.com/pop-os/libcosmic.git#be419278591649b6d0fed8b1f97a80b6b53ecc6c"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
"cosmic-text", "cosmic-text",
@ -3056,7 +3056,7 @@ dependencies = [
"kurbo 0.10.4", "kurbo 0.10.4",
"log", "log",
"resvg", "resvg",
"rustc-hash 2.1.2", "rustc-hash 2.1.3",
"softbuffer", "softbuffer",
"tiny-skia", "tiny-skia",
] ]
@ -3064,7 +3064,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_wgpu" name = "iced_wgpu"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" source = "git+https://github.com/pop-os/libcosmic.git#be419278591649b6d0fed8b1f97a80b6b53ecc6c"
dependencies = [ dependencies = [
"as-raw-xcb-connection", "as-raw-xcb-connection",
"bitflags 2.13.0", "bitflags 2.13.0",
@ -3080,7 +3080,7 @@ dependencies = [
"lyon", "lyon",
"raw-window-handle", "raw-window-handle",
"resvg", "resvg",
"rustc-hash 2.1.2", "rustc-hash 2.1.3",
"rustix 0.38.44", "rustix 0.38.44",
"thiserror 2.0.18", "thiserror 2.0.18",
"tiny-xlib", "tiny-xlib",
@ -3095,7 +3095,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_widget" name = "iced_widget"
version = "0.14.2" version = "0.14.2"
source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" source = "git+https://github.com/pop-os/libcosmic.git#be419278591649b6d0fed8b1f97a80b6b53ecc6c"
dependencies = [ dependencies = [
"cosmic-client-toolkit", "cosmic-client-toolkit",
"dnd", "dnd",
@ -3104,7 +3104,7 @@ dependencies = [
"log", "log",
"num-traits", "num-traits",
"ouroboros", "ouroboros",
"rustc-hash 2.1.2", "rustc-hash 2.1.3",
"thiserror 2.0.18", "thiserror 2.0.18",
"unicode-segmentation", "unicode-segmentation",
"window_clipboard", "window_clipboard",
@ -3113,7 +3113,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_winit" name = "iced_winit"
version = "0.14.0" version = "0.14.0"
source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" source = "git+https://github.com/pop-os/libcosmic.git#be419278591649b6d0fed8b1f97a80b6b53ecc6c"
dependencies = [ dependencies = [
"cosmic-client-toolkit", "cosmic-client-toolkit",
"cursor-icon", "cursor-icon",
@ -3125,7 +3125,7 @@ dependencies = [
"iced_runtime", "iced_runtime",
"log", "log",
"raw-window-handle", "raw-window-handle",
"rustc-hash 2.1.2", "rustc-hash 2.1.3",
"rustix 0.38.44", "rustix 0.38.44",
"thiserror 2.0.18", "thiserror 2.0.18",
"wasm-bindgen-futures", "wasm-bindgen-futures",
@ -3570,9 +3570,9 @@ dependencies = [
[[package]] [[package]]
name = "ignore" name = "ignore"
version = "0.4.26" version = "0.4.27"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b915661dd01db3f05050265b2477bcc6527b3792388e2749b41623cc592be67d" checksum = "fe112b004901c62c2faa11f4f75e9864e0cc5af8da71c9115d184a3aa888749f"
dependencies = [ dependencies = [
"crossbeam-deque", "crossbeam-deque",
"globset", "globset",
@ -3653,9 +3653,9 @@ dependencies = [
[[package]] [[package]]
name = "inotify" name = "inotify"
version = "0.11.2" version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "533e68a5842e734946fe159fb03fc9bbbb254f590dd0d8ad321ae5ff7beca2c1" checksum = "dd854a95a4ac672fed8c054136039fd32c22cf039ff09ead7280afe920486483"
dependencies = [ dependencies = [
"bitflags 2.13.0", "bitflags 2.13.0",
"inotify-sys", "inotify-sys",
@ -3664,9 +3664,9 @@ dependencies = [
[[package]] [[package]]
name = "inotify-sys" name = "inotify-sys"
version = "0.1.5" version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" checksum = "c033f80b2c113cdf91ab7a33faa9cbc014726dcad99880c8609af2a370edf37d"
dependencies = [ dependencies = [
"libc", "libc",
] ]
@ -3800,9 +3800,9 @@ dependencies = [
[[package]] [[package]]
name = "jiff-tzdb" name = "jiff-tzdb"
version = "0.1.6" version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c900ef84826f1338a557697dc8fc601df9ca9af4ac137c7fb61d4c6f2dfd3076" checksum = "6142247df1a93c2b3587402a19710be3e6e942f1581a1702e76408f2c21d6590"
[[package]] [[package]]
name = "jiff-tzdb-platform" name = "jiff-tzdb-platform"
@ -3873,11 +3873,11 @@ dependencies = [
[[package]] [[package]]
name = "jobserver" name = "jobserver"
version = "0.1.34" version = "0.1.35"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" checksum = "1c00acbd29eabad4a2392fa0e921c874934dbbf4194312ad20f04a0ed67a3cb3"
dependencies = [ dependencies = [
"getrandom 0.3.4", "getrandom 0.4.3",
"libc", "libc",
] ]
@ -4185,7 +4185,7 @@ checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
[[package]] [[package]]
name = "libcosmic" name = "libcosmic"
version = "1.0.0" version = "1.0.0"
source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" source = "git+https://github.com/pop-os/libcosmic.git#be419278591649b6d0fed8b1f97a80b6b53ecc6c"
dependencies = [ dependencies = [
"apply", "apply",
"ashpd 0.12.3", "ashpd 0.12.3",
@ -4197,6 +4197,7 @@ dependencies = [
"cosmic-theme", "cosmic-theme",
"css-color", "css-color",
"derive_setters", "derive_setters",
"enumflags2",
"float-cmp 0.10.0", "float-cmp 0.10.0",
"futures", "futures",
"i18n-embed", "i18n-embed",
@ -4256,14 +4257,14 @@ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
[[package]] [[package]]
name = "libredox" name = "libredox"
version = "0.1.17" version = "0.1.18"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f02ab6bace2054fb888a3c16f990117b579d14a3088e472d63c6011fa185c9d3" checksum = "c943259e342f1e06ff2da7a83eabdfe7f92ce10262688dbf1895ff0b3e6e4652"
dependencies = [ dependencies = [
"bitflags 2.13.0", "bitflags 2.13.0",
"libc", "libc",
"plain", "plain",
"redox_syscall 0.8.1", "redox_syscall 0.9.0",
] ]
[[package]] [[package]]
@ -4409,9 +4410,9 @@ dependencies = [
[[package]] [[package]]
name = "lzma-rust2" name = "lzma-rust2"
version = "0.16.4" version = "0.16.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce716bf1a316f47a280fc76295f6495b5bea4752bca01c3b3885e101b1c23c02" checksum = "ca93e534d1142d1d0dcca6d25fe302508a5dfb40b302802904577725ea0b695b"
dependencies = [ dependencies = [
"sha2 0.11.0", "sha2 0.11.0",
] ]
@ -4740,9 +4741,9 @@ dependencies = [
[[package]] [[package]]
name = "num-bigint" name = "num-bigint"
version = "0.4.6" version = "0.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" checksum = "c89e69e7e0f03bea5ef08013795c25018e101932225a656383bd384495ecc367"
dependencies = [ dependencies = [
"num-integer", "num-integer",
"num-traits", "num-traits",
@ -5587,9 +5588,9 @@ dependencies = [
[[package]] [[package]]
name = "pxfm" name = "pxfm"
version = "0.1.29" version = "0.1.30"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e0c5ccf5294c6ccd63a74f1565028353830a9c2f5eb0c682c355c471726a6e3f" checksum = "d55d956fa96f5ec02be2e13af0e20391a5aa83d6a074e3ad368959d0fab299ea"
[[package]] [[package]]
name = "qoi" name = "qoi"
@ -5833,9 +5834,9 @@ dependencies = [
[[package]] [[package]]
name = "redox_event" name = "redox_event"
version = "0.4.7" version = "0.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c07d0d6d291e3a951bd847b1cd4af32fc6243d64116cf7702838c02797688b7" checksum = "c5018d583d6d2f5499352aea8d177e9067d1eb03ab17c78169d5ba7a30001b15"
dependencies = [ dependencies = [
"bitflags 2.13.0", "bitflags 2.13.0",
"libredox", "libredox",
@ -5852,9 +5853,9 @@ dependencies = [
[[package]] [[package]]
name = "redox_syscall" name = "redox_syscall"
version = "0.8.1" version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b44b894f2a6e36457d665d1e08c3866add6ed5e70050c1b4ba8a8ddedb02ce7" checksum = "c5102a6aaa05aa011a238e178e6bca86d2cb56fc9f586d37cb80f5bca6e07759"
dependencies = [ dependencies = [
"bitflags 2.13.0", "bitflags 2.13.0",
] ]
@ -6041,9 +6042,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
[[package]] [[package]]
name = "rustc-hash" name = "rustc-hash"
version = "2.1.2" version = "2.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d"
[[package]] [[package]]
name = "rustc_version" name = "rustc_version"
@ -6093,9 +6094,9 @@ dependencies = [
[[package]] [[package]]
name = "rustversion" name = "rustversion"
version = "1.0.22" version = "1.0.23"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
[[package]] [[package]]
name = "rustybuzz" name = "rustybuzz"
@ -6731,9 +6732,9 @@ dependencies = [
[[package]] [[package]]
name = "time" name = "time"
version = "0.3.52" version = "0.3.53"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e48db7b415311b615f910b3dcaa4557bcd4bf1982379c95c223fd8c2a20e210" checksum = "18dfaaeddcb932337b5e7866ee7d0ce9b76d2fd092997146f187ec09b4558a50"
dependencies = [ dependencies = [
"deranged", "deranged",
"js-sys", "js-sys",
@ -6987,7 +6988,7 @@ version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90" checksum = "cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90"
dependencies = [ dependencies = [
"rustc-hash 2.1.2", "rustc-hash 2.1.3",
] ]
[[package]] [[package]]
@ -8726,18 +8727,18 @@ checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524"
[[package]] [[package]]
name = "zerocopy" name = "zerocopy"
version = "0.8.52" version = "0.8.53"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce1022995ff5ff5d841ad7d994facc23098cd40152f2c1d11cd607c6f530653f" checksum = "75726053136156d419e285b9b7eddaaea9e3fea6ce32eed44a89901f0bd98de1"
dependencies = [ dependencies = [
"zerocopy-derive", "zerocopy-derive",
] ]
[[package]] [[package]]
name = "zerocopy-derive" name = "zerocopy-derive"
version = "0.8.52" version = "0.8.53"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ae7f38b72ec2a254e2b87ef277cf2cd4fb97cbebf944faa6f33354da0867930" checksum = "4714fd92cf900833d49538023a9b3915155210801d1c1169eba513b2addefd71"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -8835,9 +8836,9 @@ dependencies = [
[[package]] [[package]]
name = "zlib-rs" name = "zlib-rs"
version = "0.6.4" version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "977347db8caa080403f6b6b7c1cda9479a8e869316f7e13a59b19076a40f94e3" checksum = "5431d5661c32445236631278f27946e444ddafe4684cac70b185272d4f9c52d5"
[[package]] [[package]]
name = "zmij" name = "zmij"

View file

@ -4,7 +4,7 @@ version = "1.2.0"
authors = ["Jeremy Soller <jeremy@system76.com>"] authors = ["Jeremy Soller <jeremy@system76.com>"]
edition = "2024" edition = "2024"
license = "GPL-3.0-only" license = "GPL-3.0-only"
rust-version = "1.90" rust-version = "1.93"
[dependencies] [dependencies]
alacritty_terminal = "0.25.1" alacritty_terminal = "0.25.1"
@ -47,7 +47,14 @@ features = ["monospace_fallback", "shape-run-cache"]
git = "https://github.com/pop-os/libcosmic.git" git = "https://github.com/pop-os/libcosmic.git"
default-features = false default-features = false
#TODO: a11y feature crashes file chooser dialog #TODO: a11y feature crashes file chooser dialog
features = ["about", "autosize", "multi-window", "tokio", "winit", "surface-message"] features = [
"about",
"autosize",
"multi-window",
"tokio",
"winit",
"surface-message",
]
[target.'cfg(unix)'.dependencies] [target.'cfg(unix)'.dependencies]
fork = "0.4" fork = "0.4"
@ -66,8 +73,14 @@ password_manager = ["secret-service", "thiserror", "secstr"]
inherits = "release" inherits = "release"
debug = true debug = true
# [patch.'https://github.com/pop-os/libcosmic'] # [patch.'https://github.com/pop-os/libcosmic']
# libcosmic = { path = "../libcosmic" } # libcosmic = { path = "../libcosmic" }
# cosmic-config = { path = "../libcosmic/cosmic-config" } # cosmic-config = { path = "../libcosmic/cosmic-config" }
# cosmic-theme = { path = "../libcosmic/cosmic-theme" } # cosmic-theme = { path = "../libcosmic/cosmic-theme" }
# iced_futures = { path = "../libcosmic/iced/futures" }
# iced_winit = { path = "../libcosmic/iced/winit" }
# libcosmic = { git = "https://github.com/pop-os/libcosmic//", branch = "theme-v2" }
# cosmic-config = { git = "https://github.com/pop-os/libcosmic//", branch = "theme-v2" }
# cosmic-theme = { git = "https://github.com/pop-os/libcosmic//", branch = "theme-v2" }
# iced_futures = { git = "https://github.com/pop-os/libcosmic//", branch = "theme-v2" }
# iced_winit = { git = "https://github.com/pop-os/libcosmic//", branch = "theme-v2" }

View file

@ -678,7 +678,7 @@ impl App {
// Update terminal window background color // Update terminal window background color
{ {
let color = Color::from(theme.cosmic().background.base); let color = Color::from(theme.cosmic().background(theme.transparent).base);
let bytes = color.into_rgba8(); let bytes = color.into_rgba8();
let data = u32::from(bytes[2]) let data = u32::from(bytes[2])
| (u32::from(bytes[1]) << 8) | (u32::from(bytes[1]) << 8)
@ -1326,6 +1326,7 @@ impl App {
} }
fn settings(&self) -> Element<'_, Message> { fn settings(&self) -> Element<'_, Message> {
let t = self.core().system_theme();
let app_theme_selected = match self.config.app_theme { let app_theme_selected = match self.config.app_theme {
AppTheme::Dark => 1, AppTheme::Dark => 1,
AppTheme::Light => 2, AppTheme::Light => 2,
@ -1409,13 +1410,13 @@ impl App {
}), }),
), ),
) )
.add( .add_maybe((!t.transparent).then(|| {
widget::settings::item::builder(fl!("opacity")) widget::settings::item::builder(fl!("opacity"))
.description(format!("{}%", self.config.opacity)) .description(format!("{}%", self.config.opacity))
.control(widget::slider(0..=100, self.config.opacity, |opacity| { .control(widget::slider(0..=100, self.config.opacity, |opacity| {
Message::Opacity(opacity) Message::Opacity(opacity)
})), }))
); }));
let mut font_section = widget::settings::section() let mut font_section = widget::settings::section()
.title(fl!("font")) .title(fl!("font"))
@ -2954,7 +2955,9 @@ impl Application for App {
let pos_y = _position.y as i32; let pos_y = _position.y as i32;
tasks.push(cosmic::task::message(Message::Surface( tasks.push(cosmic::task::message(Message::Surface(
cosmic::surface::action::app_popup(move |_app: &mut Self| { cosmic::surface::action::app_popup(
|_| Default::default(),
move |_app: &mut Self| {
use cosmic::cctk::wayland_protocols::xdg::shell::client::xdg_positioner::{Anchor, Gravity}; use cosmic::cctk::wayland_protocols::xdg::shell::client::xdg_positioner::{Anchor, Gravity};
use cosmic::iced::runtime::platform_specific::wayland::popup::{SctkPopupSettings, SctkPositioner}; use cosmic::iced::runtime::platform_specific::wayland::popup::{SctkPopupSettings, SctkPositioner};
@ -3425,7 +3428,9 @@ impl Application for App {
/// Creates a view after each update. /// Creates a view after each update.
fn view(&self) -> Element<'_, Self::Message> { fn view(&self) -> Element<'_, Self::Message> {
let cosmic_theme::Spacing { space_xxs, .. } = self.core().system_theme().cosmic().spacing; let t = self.core().system_theme();
let cosmic = t.cosmic();
let cosmic_theme::Spacing { space_xxs, .. } = cosmic.spacing;
let pane_grid = PaneGrid::new(&self.pane_model.panes, |pane, tab_model, _is_maximized| { let pane_grid = PaneGrid::new(&self.pane_model.panes, |pane, tab_model, _is_maximized| {
let mut tab_column = widget::column::with_capacity(1); let mut tab_column = widget::column::with_capacity(1);
@ -3445,10 +3450,10 @@ impl Application for App {
.class(style::Container::Custom(Box::new(|theme| { .class(style::Container::Custom(Box::new(|theme| {
let cosmic = theme.cosmic(); let cosmic = theme.cosmic();
cosmic::iced::widget::container::Style { cosmic::iced::widget::container::Style {
icon_color: Some(Color::from(cosmic.background.on)), icon_color: Some(Color::from(cosmic.background(theme.transparent).on)),
text_color: Some(Color::from(cosmic.background.on)), text_color: Some(Color::from(cosmic.background(theme.transparent).on)),
background: Some(iced::Background::Color( background: Some(iced::Background::Color(
cosmic.background.base.into(), cosmic.background(theme.transparent).base.into(),
)), )),
border: iced::Border::default(), border: iced::Border::default(),
shadow: iced::Shadow::default(), shadow: iced::Shadow::default(),
@ -3475,7 +3480,11 @@ impl Application for App {
.on_open_hyperlink(Some(Box::new(Message::LaunchUrl))) .on_open_hyperlink(Some(Box::new(Message::LaunchUrl)))
.on_window_focused(|| Message::WindowFocused) .on_window_focused(|| Message::WindowFocused)
.on_window_unfocused(|| Message::WindowUnfocused) .on_window_unfocused(|| Message::WindowUnfocused)
.opacity(self.config.opacity_ratio()) .opacity(if t.transparent {
t.cosmic().alpha_map.blurred_alpha(t.cosmic().frosted)
} else {
self.config.opacity_ratio()
})
.padding(space_xxs) .padding(space_xxs)
.sharp_corners(self.core.window.sharp_corners) .sharp_corners(self.core.window.sharp_corners)
.show_headerbar(self.config.show_headerbar); .show_headerbar(self.config.show_headerbar);

View file

@ -3,7 +3,7 @@
use cosmic::iced::Point; use cosmic::iced::Point;
use cosmic::widget::menu::key_bind::KeyBind; use cosmic::widget::menu::key_bind::KeyBind;
use cosmic::widget::menu::{Item as MenuItem, menu_button}; use cosmic::widget::menu::{Item as MenuItem, menu_button};
use cosmic::widget::{Column, space}; use cosmic::widget::space;
use cosmic::{ use cosmic::{
Element, Element,
app::Core, app::Core,
@ -45,7 +45,7 @@ pub fn context_menu<'a>(
String::new() String::new()
}; };
fn key_style(theme: &cosmic::Theme) -> TextStyle { fn key_style(theme: &cosmic::Theme) -> TextStyle {
let mut color = theme.cosmic().background.component.on; let mut color = theme.cosmic().background(theme.transparent).component.on;
color.alpha *= 0.75; color.alpha *= 0.75;
TextStyle { TextStyle {
color: Some(color.into()), color: Some(color.into()),
@ -123,13 +123,13 @@ pub fn context_menu<'a>(
); );
rows.insert(2, Element::from(divider::horizontal::light())); rows.insert(2, Element::from(divider::horizontal::light()));
} }
let content = Column::with_children(rows); let content = widget::menu::menu_column::MenuColumn::with_children(rows);
widget::container(content) widget::container(content)
.padding(1) .padding(1)
//TODO: move style to libcosmic //TODO: move style to libcosmic
.style(|theme| { .style(|theme| {
let cosmic = theme.cosmic(); let cosmic = theme.cosmic();
let component = &cosmic.background.component; let component = &cosmic.background(theme.transparent).component;
widget::container::Style { widget::container::Style {
icon_color: Some(component.on.into()), icon_color: Some(component.on.into()),
text_color: Some(component.on.into()), text_color: Some(component.on.into()),
@ -154,7 +154,8 @@ pub fn color_scheme_menu<'a>(
let menu_item = let menu_item =
|label, message| menu_button(vec![widget::text(label).into()]).on_press(message); |label, message| menu_button(vec![widget::text(label).into()]).on_press(message);
let mut column = widget::column::with_capacity(if id_opt.is_some() { 3 } else { 1 }); let mut column =
widget::menu::menu_column::MenuColumn::with_capacity(if id_opt.is_some() { 3 } else { 1 });
if let Some(id) = id_opt { if let Some(id) = id_opt {
column = column.push(menu_item( column = column.push(menu_item(
fl!("rename"), fl!("rename"),
@ -177,7 +178,7 @@ pub fn color_scheme_menu<'a>(
//TODO: move style to libcosmic //TODO: move style to libcosmic
.style(|theme| { .style(|theme| {
let cosmic = theme.cosmic(); let cosmic = theme.cosmic();
let component = &cosmic.background.component; let component = &cosmic.background(theme.transparent).component;
widget::container::Style { widget::container::Style {
icon_color: Some(component.on.into()), icon_color: Some(component.on.into()),
text_color: Some(component.on.into()), text_color: Some(component.on.into()),

View file

@ -756,7 +756,7 @@ where
let scrollbar_color: Color = if pressed { let scrollbar_color: Color = if pressed {
// pressed_state_color, 0.5 // pressed_state_color, 0.5
cosmic_theme cosmic_theme
.background .background(theme.transparent)
.component .component
.pressed .pressed
.without_alpha() .without_alpha()
@ -766,7 +766,7 @@ where
} else if hover { } else if hover {
// hover_state_color, 0.2 // hover_state_color, 0.2
cosmic_theme cosmic_theme
.background .background(theme.transparent)
.component .component
.hover .hover
.without_alpha() .without_alpha()