diff --git a/Cargo.lock b/Cargo.lock index 25a1b43..e3e4cd7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1104,7 +1104,7 @@ dependencies = [ [[package]] name = "cosmic-config" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#8ecf1a8eddebaff0d562819d6f227e39d0e7b5a7" +source = "git+https://github.com/pop-os/libcosmic.git#b937a30050a3012dc774478e344130df16db800b" dependencies = [ "atomicwrites", "cosmic-config-derive", @@ -1123,7 +1123,7 @@ dependencies = [ [[package]] name = "cosmic-config-derive" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#8ecf1a8eddebaff0d562819d6f227e39d0e7b5a7" +source = "git+https://github.com/pop-os/libcosmic.git#b937a30050a3012dc774478e344130df16db800b" dependencies = [ "quote", "syn 1.0.109", @@ -1217,7 +1217,7 @@ dependencies = [ [[package]] name = "cosmic-theme" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#8ecf1a8eddebaff0d562819d6f227e39d0e7b5a7" +source = "git+https://github.com/pop-os/libcosmic.git#b937a30050a3012dc774478e344130df16db800b" dependencies = [ "almost", "cosmic-config", @@ -2487,7 +2487,7 @@ dependencies = [ [[package]] name = "iced" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#8ecf1a8eddebaff0d562819d6f227e39d0e7b5a7" +source = "git+https://github.com/pop-os/libcosmic.git#b937a30050a3012dc774478e344130df16db800b" dependencies = [ "dnd", "iced_accessibility", @@ -2505,7 +2505,7 @@ dependencies = [ [[package]] name = "iced_accessibility" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#8ecf1a8eddebaff0d562819d6f227e39d0e7b5a7" +source = "git+https://github.com/pop-os/libcosmic.git#b937a30050a3012dc774478e344130df16db800b" dependencies = [ "accesskit", "accesskit_winit", @@ -2514,7 +2514,7 @@ dependencies = [ [[package]] name = "iced_core" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#8ecf1a8eddebaff0d562819d6f227e39d0e7b5a7" +source = "git+https://github.com/pop-os/libcosmic.git#b937a30050a3012dc774478e344130df16db800b" dependencies = [ "bitflags 2.5.0", "dnd", @@ -2534,7 +2534,7 @@ dependencies = [ [[package]] name = "iced_futures" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#8ecf1a8eddebaff0d562819d6f227e39d0e7b5a7" +source = "git+https://github.com/pop-os/libcosmic.git#b937a30050a3012dc774478e344130df16db800b" dependencies = [ "futures", "iced_core", @@ -2547,7 +2547,7 @@ dependencies = [ [[package]] name = "iced_graphics" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#8ecf1a8eddebaff0d562819d6f227e39d0e7b5a7" +source = "git+https://github.com/pop-os/libcosmic.git#b937a30050a3012dc774478e344130df16db800b" dependencies = [ "bitflags 2.5.0", "bytemuck", @@ -2571,7 +2571,7 @@ dependencies = [ [[package]] name = "iced_renderer" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#8ecf1a8eddebaff0d562819d6f227e39d0e7b5a7" +source = "git+https://github.com/pop-os/libcosmic.git#b937a30050a3012dc774478e344130df16db800b" dependencies = [ "iced_graphics", "iced_tiny_skia", @@ -2583,7 +2583,7 @@ dependencies = [ [[package]] name = "iced_runtime" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#8ecf1a8eddebaff0d562819d6f227e39d0e7b5a7" +source = "git+https://github.com/pop-os/libcosmic.git#b937a30050a3012dc774478e344130df16db800b" dependencies = [ "dnd", "iced_core", @@ -2595,7 +2595,7 @@ dependencies = [ [[package]] name = "iced_style" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#8ecf1a8eddebaff0d562819d6f227e39d0e7b5a7" +source = "git+https://github.com/pop-os/libcosmic.git#b937a30050a3012dc774478e344130df16db800b" dependencies = [ "iced_core", "once_cell", @@ -2605,7 +2605,7 @@ dependencies = [ [[package]] name = "iced_tiny_skia" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#8ecf1a8eddebaff0d562819d6f227e39d0e7b5a7" +source = "git+https://github.com/pop-os/libcosmic.git#b937a30050a3012dc774478e344130df16db800b" dependencies = [ "bytemuck", "cosmic-text", @@ -2622,7 +2622,7 @@ dependencies = [ [[package]] name = "iced_wgpu" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#8ecf1a8eddebaff0d562819d6f227e39d0e7b5a7" +source = "git+https://github.com/pop-os/libcosmic.git#b937a30050a3012dc774478e344130df16db800b" dependencies = [ "bitflags 2.5.0", "bytemuck", @@ -2648,7 +2648,7 @@ dependencies = [ [[package]] name = "iced_widget" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#8ecf1a8eddebaff0d562819d6f227e39d0e7b5a7" +source = "git+https://github.com/pop-os/libcosmic.git#b937a30050a3012dc774478e344130df16db800b" dependencies = [ "dnd", "iced_renderer", @@ -2664,7 +2664,7 @@ dependencies = [ [[package]] name = "iced_winit" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic.git#8ecf1a8eddebaff0d562819d6f227e39d0e7b5a7" +source = "git+https://github.com/pop-os/libcosmic.git#b937a30050a3012dc774478e344130df16db800b" dependencies = [ "dnd", "iced_graphics", @@ -3006,7 +3006,7 @@ source = "git+https://gitlab.redox-os.org/redox-os/liblibc.git?branch=redox-epol [[package]] name = "libcosmic" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#8ecf1a8eddebaff0d562819d6f227e39d0e7b5a7" +source = "git+https://github.com/pop-os/libcosmic.git#b937a30050a3012dc774478e344130df16db800b" dependencies = [ "apply", "ashpd", @@ -3030,6 +3030,7 @@ dependencies = [ "lazy_static", "palette", "rfd", + "serde", "slotmap", "taffy", "thiserror", diff --git a/src/config.rs b/src/config.rs index ffc2a61..61a2f11 100644 --- a/src/config.rs +++ b/src/config.rs @@ -27,8 +27,16 @@ pub enum AppTheme { impl AppTheme { pub fn theme(&self) -> theme::Theme { match self { - Self::Dark => theme::Theme::dark(), - Self::Light => theme::Theme::light(), + Self::Dark => { + let mut t = theme::system_dark(); + t.theme_type.prefer_dark(Some(true)); + t + } + Self::Light => { + let mut t = theme::system_light(); + t.theme_type.prefer_dark(Some(false)); + t + } Self::System => theme::system_preference(), } } diff --git a/src/menu.rs b/src/menu.rs index 967ecdf..c7f341d 100644 --- a/src/menu.rs +++ b/src/menu.rs @@ -1,14 +1,14 @@ // SPDX-License-Identifier: GPL-3.0-only use cosmic::widget::menu::key_bind::KeyBind; -use cosmic::widget::menu::{items as menu_items, root as menu_root, Item as MenuItem}; +use cosmic::widget::menu::{items as menu_items, menu_button, root as menu_root, Item as MenuItem}; use cosmic::{ iced::{ widget::{column, horizontal_rule, horizontal_space}, - Alignment, Background, Length, + Background, Length, }, iced_core::Border, - menu_button, theme, + theme, widget::{ self, menu::{ItemHeight, ItemWidth, MenuBar, Tree as MenuTree}, @@ -36,23 +36,24 @@ pub fn context_menu<'a>( let menu_item = |label, action| { let key = find_key(&action); - menu_button!( - widget::text(label), - horizontal_space(Length::Fill), - widget::text(key) - ) + menu_button(vec![ + widget::text(label).into(), + horizontal_space(Length::Fill).into(), + widget::text(key).into(), + ]) .on_press(Message::TabContextAction(entity, action)) }; let menu_checkbox = |label, value, action| { - menu_button!( - widget::text(label), - widget::horizontal_space(Length::Fill), - widget::toggler(None, value, move |_| Message::TabContextAction( - entity, action - )) - .size(16.0), - ) + menu_button(vec![ + widget::text(label).into(), + widget::horizontal_space(Length::Fill).into(), + widget::toggler(None, value, move |_| { + Message::TabContextAction(entity, action) + }) + .size(16.0) + .into(), + ]) .on_press(Message::TabContextAction(entity, action)) }; @@ -99,7 +100,8 @@ pub fn color_scheme_menu<'a>( id: ColorSchemeId, name: &str, ) -> Element<'a, Message> { - let menu_item = |label, message| menu_button!(widget::text(label)).on_press(message); + let menu_item = + |label, message| menu_button(vec![widget::text(label).into()]).on_press(message); widget::container(column!( menu_item(