Add named keyboard binding modes (#32)
Add named keyboard shortcut maps with an Escape exit and a panel indicator. Keep press/release ownership across transitions, validate remapped Escape keys, and cancel stale repeats and focus previews. Give the indicator ownership of the panel while a mode is active. Close popovers, collapse Morph, and keep Live Activities data current without resizing the hidden panel. Document configuration and transition behavior. Validation: 1,519 workspace Rust tests passed; 70 Python tests passed. Workspace build, formatting, Clippy, and Settings configuration validation passed. Opt-in native desktop checks were not rerun because Weston is absent. Related: #5.
This commit is contained in:
1 parent
6b0d903ad0
commit
7d58eeb65d
28 files changed
+1258
-35
No files matched your search
@@ -830,10 +830,13 @@ impl cosmic::Application for FereseShell {
|
||||
}
|
||||
|
||||
if let Some(snapshot) = poll.snapshot {
|
||||
let mode_was_active = self.snapshot.binding_mode.is_some();
|
||||
self.snapshot = snapshot;
|
||||
let mode = self.binding_mode_transition(mode_was_active);
|
||||
let feedback = self.sync_hub_workspace_feedback(overview_was_active || self.overview_active);
|
||||
let mut tasks = vec![
|
||||
reload_task,
|
||||
mode,
|
||||
self.update_workspace_ui(),
|
||||
feedback,
|
||||
self.refresh_adaptive_panels(),
|
||||
@@ -1506,8 +1509,9 @@ mod tests {
|
||||
assert_eq!(focused_bar_title(&snapshot, None), "");
|
||||
}
|
||||
|
||||
fn snapshot_with_fullscreen_window(workspace: u64) -> ShellSnapshot {
|
||||
pub(super) fn snapshot_with_fullscreen_window(workspace: u64) -> ShellSnapshot {
|
||||
ShellSnapshot {
|
||||
binding_mode: None,
|
||||
outputs: vec![OutputSnapshot {
|
||||
id: 1,
|
||||
name: "eDP-1".to_owned(),
|
||||
|
||||
Reference in new issue
Block a user