config: Add and propagate appearance_config

This commit is contained in:
Victoria Brekenfeld 2025-12-08 18:21:58 +01:00 committed by Victoria Brekenfeld
parent 94d49210e6
commit 2adebb5fe1
10 changed files with 213 additions and 40 deletions

View file

@ -45,7 +45,7 @@ mod types;
use cosmic::config::CosmicTk;
pub use cosmic_comp_config::EdidProduct;
use cosmic_comp_config::{
CosmicCompConfig, KeyboardConfig, TileBehavior, XkbConfig, XwaylandDescaling,
AppearanceConfig, CosmicCompConfig, KeyboardConfig, TileBehavior, XkbConfig, XwaylandDescaling,
XwaylandEavesdropping, ZoomConfig,
input::{DeviceState as InputDeviceState, InputConfig, TouchpadOverride},
output::comp::{
@ -942,6 +942,16 @@ fn config_changed(config: cosmic_config::Config, keys: Vec<String>, state: &mut
state.common.update_config();
}
}
"appearance_settings" => {
let new = get_config::<AppearanceConfig>(&config, "appearance_settings");
if new != state.common.config.cosmic_conf.appearance_settings {
state.common.config.cosmic_conf.appearance_settings = new;
state.common.update_config();
for output in state.common.shell.read().outputs() {
state.backend.schedule_render(output);
}
}
}
_ => {}
}
}