diff --git a/Cargo.lock b/Cargo.lock index dd47e87..c73c4a4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -316,9 +316,9 @@ checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" -version = "0.7.7" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f02882884d3e1bc524fb12c79f107f6ad0e1cfd498c536ffb494301740995dfe" +checksum = "d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56" [[package]] name = "as-raw-xcb-connection" @@ -909,9 +909,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.65" +version = "1.2.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e228eec9be7c17ccb640b59b36a5cd805ea2a564a4c5e162c2f659fea30d3b96" +checksum = "f5d6cac793997bd970000024b2934968efe83b382de4fdcf4fcb46b6ee4ad996" dependencies = [ "find-msvc-tools", "jobserver", @@ -1318,7 +1318,7 @@ dependencies = [ [[package]] name = "cosmic-client-toolkit" 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 = [ "bitflags 2.13.0", "cosmic-protocols", @@ -1331,7 +1331,7 @@ dependencies = [ [[package]] name = "cosmic-config" version = "1.0.0" -source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" +source = "git+https://github.com/pop-os/libcosmic.git#ee5d965983957271cf759fd76e3e4eed4f188d35" dependencies = [ "atomicwrites", "cosmic-config-derive", @@ -1352,7 +1352,7 @@ dependencies = [ [[package]] name = "cosmic-config-derive" version = "1.0.0" -source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" +source = "git+https://github.com/pop-os/libcosmic.git#ee5d965983957271cf759fd76e3e4eed4f188d35" dependencies = [ "quote", "syn", @@ -1360,8 +1360,8 @@ dependencies = [ [[package]] name = "cosmic-files" -version = "1.1.0" -source = "git+https://github.com/pop-os/cosmic-files.git#49107187a422344569f1580680e9ca815cbb22bf" +version = "1.2.0" +source = "git+https://github.com/pop-os/cosmic-files.git#fab53e54d6b035441c830ce41808d44061bc06f9" dependencies = [ "anyhow", "atomic_float", @@ -1397,7 +1397,7 @@ dependencies = [ "recently-used-xbel", "regex", "rust-embed", - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", "serde", "sha2 0.10.9", "shlex 1.3.0", @@ -1435,7 +1435,7 @@ dependencies = [ [[package]] name = "cosmic-protocols" 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 = [ "bitflags 2.13.0", "wayland-backend", @@ -1497,7 +1497,7 @@ dependencies = [ "linebender_resource_handle", "log", "rangemap", - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", "self_cell", "skrifa 0.40.0", "smol_str", @@ -1512,13 +1512,14 @@ dependencies = [ [[package]] name = "cosmic-theme" version = "1.0.0" -source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" +source = "git+https://github.com/pop-os/libcosmic.git#ee5d965983957271cf759fd76e3e4eed4f188d35" dependencies = [ "almost", "configparser", "cosmic-config", "csscolorparser", "dirs 6.0.0", + "hex_color", "palette", "ron 0.12.2", "serde", @@ -1607,7 +1608,7 @@ dependencies = [ "cosmic-text", "etagere", "lru", - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", "wgpu", ] @@ -1721,9 +1722,9 @@ checksum = "ac6b926516df9c60bfa16e107b21086399f8285a44ca9711344b9e553c5146e2" [[package]] name = "defmt" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6e524506490a1953d237cb87b1cfc1e46f88c18f10a22dfe0f507dc6bfc7f7f" +checksum = "e2953bfe4f93bbd20cc71198842756f77d161884c99ebbabc41d80231ded88d1" dependencies = [ "bitflags 1.3.2", "defmt-macros", @@ -1731,12 +1732,11 @@ dependencies = [ [[package]] name = "defmt-macros" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0a27770e9c8f719a79d8b638281f4d828f77d8fd61e0bd94451b9b85e576a0b" +checksum = "bad9c72e7ca2137e0dc3813245a0d282fd6daad32fd800af018306a9169b5fe8" dependencies = [ "defmt-parser", - "proc-macro-error2", "proc-macro2", "quote", "syn", @@ -2230,7 +2230,7 @@ dependencies = [ "fluent-syntax", "intl-memoizer", "intl_pluralrules", - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", "self_cell", "smallvec", "unic-langid", @@ -2911,7 +2911,7 @@ dependencies = [ [[package]] name = "iced" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" +source = "git+https://github.com/pop-os/libcosmic.git#ee5d965983957271cf759fd76e3e4eed4f188d35" dependencies = [ "dnd", "iced_accessibility", @@ -2932,7 +2932,7 @@ dependencies = [ [[package]] name = "iced_accessibility" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" +source = "git+https://github.com/pop-os/libcosmic.git#ee5d965983957271cf759fd76e3e4eed4f188d35" dependencies = [ "accesskit", "accesskit_winit", @@ -2941,7 +2941,7 @@ dependencies = [ [[package]] name = "iced_core" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" +source = "git+https://github.com/pop-os/libcosmic.git#ee5d965983957271cf759fd76e3e4eed4f188d35" dependencies = [ "bitflags 2.13.0", "bytes", @@ -2954,7 +2954,7 @@ dependencies = [ "num-traits", "palette", "raw-window-handle", - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", "serde", "smol_str", "thiserror 2.0.18", @@ -2966,7 +2966,7 @@ dependencies = [ [[package]] name = "iced_debug" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" +source = "git+https://github.com/pop-os/libcosmic.git#ee5d965983957271cf759fd76e3e4eed4f188d35" dependencies = [ "iced_core", "iced_futures", @@ -2976,12 +2976,12 @@ dependencies = [ [[package]] name = "iced_futures" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" +source = "git+https://github.com/pop-os/libcosmic.git#ee5d965983957271cf759fd76e3e4eed4f188d35" dependencies = [ "futures", "iced_core", "log", - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", "tokio", "wasm-bindgen-futures", "wasmtimer", @@ -2990,7 +2990,7 @@ dependencies = [ [[package]] name = "iced_graphics" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" +source = "git+https://github.com/pop-os/libcosmic.git#ee5d965983957271cf759fd76e3e4eed4f188d35" dependencies = [ "bitflags 2.13.0", "bytemuck", @@ -3003,7 +3003,7 @@ dependencies = [ "log", "lyon_path", "raw-window-handle", - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", "thiserror 2.0.18", "unicode-segmentation", ] @@ -3011,7 +3011,7 @@ dependencies = [ [[package]] name = "iced_program" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" +source = "git+https://github.com/pop-os/libcosmic.git#ee5d965983957271cf759fd76e3e4eed4f188d35" dependencies = [ "iced_graphics", "iced_runtime", @@ -3020,7 +3020,7 @@ dependencies = [ [[package]] name = "iced_renderer" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" +source = "git+https://github.com/pop-os/libcosmic.git#ee5d965983957271cf759fd76e3e4eed4f188d35" dependencies = [ "iced_graphics", "iced_tiny_skia", @@ -3032,7 +3032,7 @@ dependencies = [ [[package]] name = "iced_runtime" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" +source = "git+https://github.com/pop-os/libcosmic.git#ee5d965983957271cf759fd76e3e4eed4f188d35" dependencies = [ "bytes", "cosmic-client-toolkit", @@ -3047,7 +3047,7 @@ dependencies = [ [[package]] name = "iced_tiny_skia" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" +source = "git+https://github.com/pop-os/libcosmic.git#ee5d965983957271cf759fd76e3e4eed4f188d35" dependencies = [ "bytemuck", "cosmic-text", @@ -3056,7 +3056,7 @@ dependencies = [ "kurbo 0.10.4", "log", "resvg", - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", "softbuffer", "tiny-skia", ] @@ -3064,7 +3064,7 @@ dependencies = [ [[package]] name = "iced_wgpu" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" +source = "git+https://github.com/pop-os/libcosmic.git#ee5d965983957271cf759fd76e3e4eed4f188d35" dependencies = [ "as-raw-xcb-connection", "bitflags 2.13.0", @@ -3080,7 +3080,7 @@ dependencies = [ "lyon", "raw-window-handle", "resvg", - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", "rustix 0.38.44", "thiserror 2.0.18", "tiny-xlib", @@ -3095,7 +3095,7 @@ dependencies = [ [[package]] name = "iced_widget" version = "0.14.2" -source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" +source = "git+https://github.com/pop-os/libcosmic.git#ee5d965983957271cf759fd76e3e4eed4f188d35" dependencies = [ "cosmic-client-toolkit", "dnd", @@ -3104,7 +3104,7 @@ dependencies = [ "log", "num-traits", "ouroboros", - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", "thiserror 2.0.18", "unicode-segmentation", "window_clipboard", @@ -3113,7 +3113,7 @@ dependencies = [ [[package]] name = "iced_winit" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" +source = "git+https://github.com/pop-os/libcosmic.git#ee5d965983957271cf759fd76e3e4eed4f188d35" dependencies = [ "cosmic-client-toolkit", "cursor-icon", @@ -3125,7 +3125,7 @@ dependencies = [ "iced_runtime", "log", "raw-window-handle", - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", "rustix 0.38.44", "thiserror 2.0.18", "wasm-bindgen-futures", @@ -3570,9 +3570,9 @@ dependencies = [ [[package]] name = "ignore" -version = "0.4.26" +version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b915661dd01db3f05050265b2477bcc6527b3792388e2749b41623cc592be67d" +checksum = "fe112b004901c62c2faa11f4f75e9864e0cc5af8da71c9115d184a3aa888749f" dependencies = [ "crossbeam-deque", "globset", @@ -3664,9 +3664,9 @@ dependencies = [ [[package]] name = "inotify-sys" -version = "0.1.5" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" +checksum = "9ea94e891b3606826e9c998be69ddca42247dad8ad50b1649a5cb7e1c9ae06fd" dependencies = [ "libc", ] @@ -3800,9 +3800,9 @@ dependencies = [ [[package]] name = "jiff-tzdb" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c900ef84826f1338a557697dc8fc601df9ca9af4ac137c7fb61d4c6f2dfd3076" +checksum = "6142247df1a93c2b3587402a19710be3e6e942f1581a1702e76408f2c21d6590" [[package]] name = "jiff-tzdb-platform" @@ -3873,11 +3873,11 @@ dependencies = [ [[package]] name = "jobserver" -version = "0.1.34" +version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" +checksum = "1c00acbd29eabad4a2392fa0e921c874934dbbf4194312ad20f04a0ed67a3cb3" dependencies = [ - "getrandom 0.3.4", + "getrandom 0.4.3", "libc", ] @@ -4185,7 +4185,7 @@ checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" [[package]] name = "libcosmic" version = "1.0.0" -source = "git+https://github.com/pop-os/libcosmic.git#18a7a75e3316b1f4855777af677d989467f2da74" +source = "git+https://github.com/pop-os/libcosmic.git#ee5d965983957271cf759fd76e3e4eed4f188d35" dependencies = [ "apply", "ashpd 0.12.3", @@ -4197,6 +4197,7 @@ dependencies = [ "cosmic-theme", "css-color", "derive_setters", + "enumflags2", "float-cmp 0.10.0", "futures", "i18n-embed", @@ -4256,14 +4257,14 @@ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "libredox" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f02ab6bace2054fb888a3c16f990117b579d14a3088e472d63c6011fa185c9d3" +checksum = "c943259e342f1e06ff2da7a83eabdfe7f92ce10262688dbf1895ff0b3e6e4652" dependencies = [ "bitflags 2.13.0", "libc", "plain", - "redox_syscall 0.8.1", + "redox_syscall 0.9.0", ] [[package]] @@ -4409,9 +4410,9 @@ dependencies = [ [[package]] name = "lzma-rust2" -version = "0.16.4" +version = "0.16.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce716bf1a316f47a280fc76295f6495b5bea4752bca01c3b3885e101b1c23c02" +checksum = "ca93e534d1142d1d0dcca6d25fe302508a5dfb40b302802904577725ea0b695b" dependencies = [ "sha2 0.11.0", ] @@ -4740,9 +4741,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.6" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +checksum = "c89e69e7e0f03bea5ef08013795c25018e101932225a656383bd384495ecc367" dependencies = [ "num-integer", "num-traits", @@ -5587,9 +5588,9 @@ dependencies = [ [[package]] name = "pxfm" -version = "0.1.29" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0c5ccf5294c6ccd63a74f1565028353830a9c2f5eb0c682c355c471726a6e3f" +checksum = "d55d956fa96f5ec02be2e13af0e20391a5aa83d6a074e3ad368959d0fab299ea" [[package]] name = "qoi" @@ -5833,9 +5834,9 @@ dependencies = [ [[package]] name = "redox_event" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c07d0d6d291e3a951bd847b1cd4af32fc6243d64116cf7702838c02797688b7" +checksum = "c5018d583d6d2f5499352aea8d177e9067d1eb03ab17c78169d5ba7a30001b15" dependencies = [ "bitflags 2.13.0", "libredox", @@ -5852,9 +5853,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b44b894f2a6e36457d665d1e08c3866add6ed5e70050c1b4ba8a8ddedb02ce7" +checksum = "c5102a6aaa05aa011a238e178e6bca86d2cb56fc9f586d37cb80f5bca6e07759" dependencies = [ "bitflags 2.13.0", ] @@ -6041,9 +6042,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.1.2" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" +checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d" [[package]] name = "rustc_version" @@ -6731,9 +6732,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.52" +version = "0.3.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e48db7b415311b615f910b3dcaa4557bcd4bf1982379c95c223fd8c2a20e210" +checksum = "18dfaaeddcb932337b5e7866ee7d0ce9b76d2fd092997146f187ec09b4558a50" dependencies = [ "deranged", "js-sys", @@ -6987,7 +6988,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90" dependencies = [ - "rustc-hash 2.1.2", + "rustc-hash 2.1.3", ] [[package]] @@ -8835,9 +8836,9 @@ dependencies = [ [[package]] name = "zlib-rs" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "977347db8caa080403f6b6b7c1cda9479a8e869316f7e13a59b19076a40f94e3" +checksum = "5431d5661c32445236631278f27946e444ddafe4684cac70b185272d4f9c52d5" [[package]] name = "zmij" diff --git a/Cargo.toml b/Cargo.toml index 066a9ee..8e10ffd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ version = "1.2.0" authors = ["Jeremy Soller "] edition = "2024" license = "GPL-3.0-only" -rust-version = "1.90" +rust-version = "1.93" [dependencies] alacritty_terminal = "0.25.1" @@ -47,7 +47,14 @@ features = ["monospace_fallback", "shape-run-cache"] git = "https://github.com/pop-os/libcosmic.git" default-features = false #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] fork = "0.4" @@ -66,8 +73,14 @@ password_manager = ["secret-service", "thiserror", "secstr"] inherits = "release" debug = true - -#[patch.'https://github.com/pop-os/libcosmic'] -#libcosmic = { path = "../libcosmic" } -#cosmic-config = { path = "../libcosmic/cosmic-config" } -#cosmic-theme = { path = "../libcosmic/cosmic-theme" } +# [patch.'https://github.com/pop-os/libcosmic'] +# libcosmic = { path = "../libcosmic" } +# cosmic-config = { path = "../libcosmic/cosmic-config" } +# 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" } diff --git a/src/main.rs b/src/main.rs index 4a9453f..e1495c0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -678,7 +678,7 @@ impl App { // 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 data = u32::from(bytes[2]) | (u32::from(bytes[1]) << 8) @@ -1326,6 +1326,7 @@ impl App { } fn settings(&self) -> Element<'_, Message> { + let t = self.core().system_theme(); let app_theme_selected = match self.config.app_theme { AppTheme::Dark => 1, AppTheme::Light => 2, @@ -1409,13 +1410,13 @@ impl App { }), ), ) - .add( + .add_maybe((!t.transparent).then(|| { widget::settings::item::builder(fl!("opacity")) .description(format!("{}%", self.config.opacity)) .control(widget::slider(0..=100, self.config.opacity, |opacity| { Message::Opacity(opacity) - })), - ); + })) + })); let mut font_section = widget::settings::section() .title(fl!("font")) @@ -2954,7 +2955,9 @@ impl Application for App { let pos_y = _position.y as i32; 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::iced::runtime::platform_specific::wayland::popup::{SctkPopupSettings, SctkPositioner}; @@ -3425,7 +3428,9 @@ impl Application for App { /// Creates a view after each update. 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 mut tab_column = widget::column::with_capacity(1); @@ -3445,10 +3450,10 @@ impl Application for App { .class(style::Container::Custom(Box::new(|theme| { let cosmic = theme.cosmic(); cosmic::iced::widget::container::Style { - icon_color: Some(Color::from(cosmic.background.on)), - text_color: Some(Color::from(cosmic.background.on)), + icon_color: Some(Color::from(cosmic.background(theme.transparent).on)), + text_color: Some(Color::from(cosmic.background(theme.transparent).on)), background: Some(iced::Background::Color( - cosmic.background.base.into(), + cosmic.background(theme.transparent).base.into(), )), border: iced::Border::default(), shadow: iced::Shadow::default(), @@ -3475,7 +3480,11 @@ impl Application for App { .on_open_hyperlink(Some(Box::new(Message::LaunchUrl))) .on_window_focused(|| Message::WindowFocused) .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) .sharp_corners(self.core.window.sharp_corners) .show_headerbar(self.config.show_headerbar); diff --git a/src/menu.rs b/src/menu.rs index b71cbb8..1383436 100644 --- a/src/menu.rs +++ b/src/menu.rs @@ -3,7 +3,7 @@ use cosmic::iced::Point; use cosmic::widget::menu::key_bind::KeyBind; use cosmic::widget::menu::{Item as MenuItem, menu_button}; -use cosmic::widget::{Column, space}; +use cosmic::widget::space; use cosmic::{ Element, app::Core, @@ -45,7 +45,7 @@ pub fn context_menu<'a>( String::new() }; 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; TextStyle { color: Some(color.into()), @@ -123,13 +123,13 @@ pub fn context_menu<'a>( ); 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) .padding(1) //TODO: move style to libcosmic .style(|theme| { let cosmic = theme.cosmic(); - let component = &cosmic.background.component; + let component = &cosmic.background(theme.transparent).component; widget::container::Style { icon_color: Some(component.on.into()), text_color: Some(component.on.into()), @@ -154,7 +154,8 @@ pub fn color_scheme_menu<'a>( let menu_item = |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 { column = column.push(menu_item( fl!("rename"), @@ -177,7 +178,7 @@ pub fn color_scheme_menu<'a>( //TODO: move style to libcosmic .style(|theme| { let cosmic = theme.cosmic(); - let component = &cosmic.background.component; + let component = &cosmic.background(theme.transparent).component; widget::container::Style { icon_color: Some(component.on.into()), text_color: Some(component.on.into()), diff --git a/src/terminal_box.rs b/src/terminal_box.rs index 92947e6..b8d1c01 100644 --- a/src/terminal_box.rs +++ b/src/terminal_box.rs @@ -756,7 +756,7 @@ where let scrollbar_color: Color = if pressed { // pressed_state_color, 0.5 cosmic_theme - .background + .background(theme.transparent) .component .pressed .without_alpha() @@ -766,7 +766,7 @@ where } else if hover { // hover_state_color, 0.2 cosmic_theme - .background + .background(theme.transparent) .component .hover .without_alpha()