xwayland: Allow eavesdropping on certain keyboard/pointer events

This commit is contained in:
Victoria Brekenfeld 2025-03-28 17:45:28 +01:00 committed by Victoria Brekenfeld
parent 23f51eb150
commit cbc4ad6fc2
6 changed files with 330 additions and 24 deletions

View file

@ -45,7 +45,7 @@ pub use self::types::*;
use cosmic::config::CosmicTk;
use cosmic_comp_config::{
input::InputConfig, workspace::WorkspaceConfig, CosmicCompConfig, KeyboardConfig, TileBehavior,
XkbConfig, ZoomConfig,
XkbConfig, XwaylandEavesdropping, ZoomConfig,
};
#[derive(Debug)]
@ -923,6 +923,15 @@ fn config_changed(config: cosmic_config::Config, keys: Vec<String>, state: &mut
state.common.update_xwayland_scale();
}
}
"xwayland_eavesdropping" => {
let new = get_config::<XwaylandEavesdropping>(&config, "xwayland_eavesdropping");
if new != state.common.config.cosmic_conf.xwayland_eavesdropping {
state.common.config.cosmic_conf.xwayland_eavesdropping = new;
state
.common
.xwayland_reset_eavesdropping(SERIAL_COUNTER.next_serial());
}
}
"focus_follows_cursor" => {
let new = get_config::<bool>(&config, "focus_follows_cursor");
if new != state.common.config.cosmic_conf.focus_follows_cursor {