Give touch-opened OnDemand layers keyboard focus
Remember and consume the opening interaction instead of depending on pointer focus. Revoke pending focus after another interaction, focus change, cancellation or unmapping, and retain lock and grab safeguards. Fixes #54
This commit is contained in:
1 parent
de6e66460d
commit
17df20089b
5 files changed
+123
-14
No files matched your search
@@ -470,6 +470,7 @@ pub struct Ferese {
|
||||
pub(crate) tab_indicator_settings: crate::config::TabIndicatorSettings,
|
||||
pub(crate) tab_bars: HashMap<WorkspaceId, Vec<ferese_layout::TabBar>>,
|
||||
pub(crate) consumed_pointer_buttons: HashSet<u32>,
|
||||
pub(crate) pending_layer_focus: Option<(WlSurface, Instant)>,
|
||||
pub(crate) consumed_touch_slots: HashSet<smithay::backend::input::TouchSlot>,
|
||||
pub(crate) focus_history: ferese_core::FocusHistory,
|
||||
pub(crate) focus_cycle: Option<ferese_core::FocusCycle>,
|
||||
@@ -785,6 +786,7 @@ impl Ferese {
|
||||
tab_indicator_settings: config.tab_indicator,
|
||||
tab_bars: HashMap::new(),
|
||||
consumed_pointer_buttons: HashSet::new(),
|
||||
pending_layer_focus: None,
|
||||
consumed_touch_slots: HashSet::new(),
|
||||
focus_history: Default::default(),
|
||||
focus_cycle: None,
|
||||
|
||||
Reference in new issue
Block a user