Publish theme snapshots through IPC from explicit live state

This commit is contained in:
Samuel Onoja committed 2026-10-03 00:05:29 +01:00
1 parent 8195b82073
commit ccf7497b6f
23 files changed
+287 -130

No files matched your search

+1 -1
View File
@@ -80,7 +80,7 @@ fn main() -> iced::Result {
#[derive(Clone)]
enum Message {
ThemeChanged(Box<ferese_config::theme::Snapshot>),
ThemeChanged(Box<ferese_ipc::theme::Snapshot>),
WallpaperLoaded(u64, Result<widget::image::Handle, String>),
Event(Box<Event>),
Input(Zeroizing<String>),
+1
View File
@@ -6,6 +6,7 @@ license.workspace = true
rust-version.workspace = true
[dependencies]
ferese-ipc = { path = "../../crates/ferese-ipc" }
ferese-config = { path = "../../crates/ferese-config" }
ferese-theme = { path = "../../crates/ferese-theme" }
glib = "0.21.5"
+1 -1
View File
@@ -72,7 +72,7 @@ impl Appearance {
#[derive(Clone)]
enum Message {
ThemeChanged(Box<ferese_config::theme::Snapshot>),
ThemeChanged(Box<ferese_ipc::theme::Snapshot>),
WindowOpened(cosmic::iced::window::Id),
MaterialAttached(Result<ferese_theme::material::ModalMaterial, String>),
Tick,
+2 -2
View File
@@ -81,7 +81,7 @@ enum Message {
RefreshDisplays,
DisplaysLoaded(Result<Vec<displays::Display>, String>),
RefreshRate(String, displays::Mode, bool),
ThemeChanged(Box<ferese_config::theme::Snapshot>),
ThemeChanged(Box<ferese_ipc::theme::Snapshot>),
DragWindow,
Page(Page),
PagePresented(Page),
@@ -151,7 +151,7 @@ struct App {
native_palette: visuals::Palette,
family_ids: std::sync::Arc<Vec<String>>,
gallery_focus: Option<(String, Option<ferese_config::theme::Appearance>)>,
resolved: ferese_config::theme::Snapshot,
resolved: ferese_ipc::theme::Snapshot,
undo_revision: u64,
auto_details: bool,
advanced_theme: bool,
+2 -2
View File
@@ -297,7 +297,7 @@ mod tests {
let theme = ferese_config::theme::ResolvedTheme {
appearance: preset.appearance,
tokens,
..Default::default()
..ferese_config::theme::default_theme()
};
let palette = Palette::from_resolved(&theme);
for background in [palette.background, palette.sidebar, palette.card] {
@@ -348,7 +348,7 @@ mod tests {
let resolved = ferese_config::theme::ResolvedTheme {
appearance: item.appearance,
tokens: ferese_config::theme::preset(item.id, item.appearance).unwrap(),
..Default::default()
..ferese_config::theme::default_theme()
};
assert_eq!(
Palette::from_resolved(&resolved).native_theme().cosmic().is_dark,
+1 -1
View File
@@ -223,7 +223,7 @@ struct OutputSurfaces {
#[derive(Clone, Debug)]
enum Message {
ThemeChanged(Box<ferese_config::theme::Snapshot>),
ThemeChanged(Box<ferese_ipc::theme::Snapshot>),
ThemeMode(ferese_config::theme::Mode),
ThemeModeSet(Result<(), String>),
BeginNoteEdit(String),