From 8d5dca8cfe2d580835d3392d0ebdff57f7de7298 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Mon, 11 May 2026 23:47:51 +0300 Subject: feat: add notification target keybind --- src/config/keybinds.rs | 54 ++++++++++++++++++++++++++++++-------------------- src/config/model.rs | 3 +++ 2 files changed, 35 insertions(+), 22 deletions(-) (limited to 'src/config') diff --git a/src/config/keybinds.rs b/src/config/keybinds.rs index 4a638ec0..90dc2283 100644 --- a/src/config/keybinds.rs +++ b/src/config/keybinds.rs @@ -67,6 +67,8 @@ pub struct Keybinds { pub detach_label: Option, pub reload_config: Option<(KeyCode, KeyModifiers)>, pub reload_config_label: Option, + pub open_notification_target: Option<(KeyCode, KeyModifiers)>, + pub open_notification_target_label: Option, pub previous_workspace: Option<(KeyCode, KeyModifiers)>, pub previous_workspace_label: Option, pub next_workspace: Option<(KeyCode, KeyModifiers)>, @@ -345,6 +347,12 @@ impl Config { &self.keys.reload_config, &mut diagnostics, ), + optional_binding( + BindingScope::Navigate, + "keys.open_notification_target", + &self.keys.open_notification_target, + &mut diagnostics, + ), optional_binding( BindingScope::Navigate, "keys.previous_workspace", @@ -596,30 +604,32 @@ impl Config { detach_label: optional_bindings[0].label.clone(), reload_config: optional_bindings[1].value, reload_config_label: optional_bindings[1].label.clone(), - previous_workspace: optional_bindings[2].value, - previous_workspace_label: optional_bindings[2].label.clone(), - next_workspace: optional_bindings[3].value, - next_workspace_label: optional_bindings[3].label.clone(), + open_notification_target: optional_bindings[2].value, + open_notification_target_label: optional_bindings[2].label.clone(), + previous_workspace: optional_bindings[3].value, + previous_workspace_label: optional_bindings[3].label.clone(), + next_workspace: optional_bindings[4].value, + next_workspace_label: optional_bindings[4].label.clone(), new_tab: bindings[3].value, new_tab_label: bindings[3].label.clone(), - rename_tab: optional_bindings[4].value, - rename_tab_label: optional_bindings[4].label.clone(), - previous_tab: optional_bindings[5].value, - previous_tab_label: optional_bindings[5].label.clone(), - next_tab: optional_bindings[6].value, - next_tab_label: optional_bindings[6].label.clone(), - close_tab: optional_bindings[7].value, - close_tab_label: optional_bindings[7].label.clone(), - rename_pane: optional_bindings[8].value, - rename_pane_label: optional_bindings[8].label.clone(), - focus_pane_left: optional_bindings[9].value, - focus_pane_left_label: optional_bindings[9].label.clone(), - focus_pane_down: optional_bindings[10].value, - focus_pane_down_label: optional_bindings[10].label.clone(), - focus_pane_up: optional_bindings[11].value, - focus_pane_up_label: optional_bindings[11].label.clone(), - focus_pane_right: optional_bindings[12].value, - focus_pane_right_label: optional_bindings[12].label.clone(), + rename_tab: optional_bindings[5].value, + rename_tab_label: optional_bindings[5].label.clone(), + previous_tab: optional_bindings[6].value, + previous_tab_label: optional_bindings[6].label.clone(), + next_tab: optional_bindings[7].value, + next_tab_label: optional_bindings[7].label.clone(), + close_tab: optional_bindings[8].value, + close_tab_label: optional_bindings[8].label.clone(), + rename_pane: optional_bindings[9].value, + rename_pane_label: optional_bindings[9].label.clone(), + focus_pane_left: optional_bindings[10].value, + focus_pane_left_label: optional_bindings[10].label.clone(), + focus_pane_down: optional_bindings[11].value, + focus_pane_down_label: optional_bindings[11].label.clone(), + focus_pane_up: optional_bindings[12].value, + focus_pane_up_label: optional_bindings[12].label.clone(), + focus_pane_right: optional_bindings[13].value, + focus_pane_right_label: optional_bindings[13].label.clone(), split_vertical: bindings[4].value, split_vertical_label: bindings[4].label.clone(), split_horizontal: bindings[5].value, diff --git a/src/config/model.rs b/src/config/model.rs index 4b0638be..166e3ffa 100644 --- a/src/config/model.rs +++ b/src/config/model.rs @@ -79,6 +79,8 @@ pub struct KeysConfig { pub detach: String, /// Reload config.toml in the running app/server. Unset by default. pub reload_config: String, + /// Focus the currently visible notification target. Unset by default. + pub open_notification_target: String, /// Select the previous workspace. Unset by default. pub previous_workspace: String, /// Select the next workspace. Unset by default. @@ -157,6 +159,7 @@ impl Default for KeysConfig { close_workspace: "shift+d".into(), detach: "".into(), reload_config: "".into(), + open_notification_target: "".into(), previous_workspace: "".into(), next_workspace: "".into(), new_tab: "c".into(), -- cgit v1.2.3