aboutsummaryrefslogtreecommitdiffstats
path: root/default-plugins/status-bar/src/one_line_ui.rs
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2025-09-24 12:56:56 +0200
committerGitHub <noreply@github.com>2025-09-24 12:56:56 +0200
commit533140831d825829afaf864d940c435056788d3e (patch)
tree9fe6b7da3955663c8373776499f85addfd044d40 /default-plugins/status-bar/src/one_line_ui.rs
parentrefactor(client-server-contract): config + layout (#4383) (diff)
downloadsl0ppij-533140831d825829afaf864d940c435056788d3e.tar.gz
sl0ppij-533140831d825829afaf864d940c435056788d3e.tar.xz
sl0ppij-533140831d825829afaf864d940c435056788d3e.zip
fix(ipc): make sessions compatible between versions (#4439)
* translate ipc tuple enum variants to struct enum variants * initial client/server contract * tests and missing types * migrate web server and remove rmp_serde * change socket folder * fix crash on unknown messages * fix client logout on unknown message * fix web client logout on unknown message * rustfmt * add comment and change log level * address compilation warnings * style(fmt): rustfmt * fix plugin system test assertions * add pr
Diffstat (limited to 'default-plugins/status-bar/src/one_line_ui.rs')
-rw-r--r--default-plugins/status-bar/src/one_line_ui.rs265
1 files changed, 187 insertions, 78 deletions
diff --git a/default-plugins/status-bar/src/one_line_ui.rs b/default-plugins/status-bar/src/one_line_ui.rs
index 564bdc83..a3fdec77 100644
--- a/default-plugins/status-bar/src/one_line_ui.rs
+++ b/default-plugins/status-bar/src/one_line_ui.rs
@@ -49,7 +49,9 @@ pub fn one_line_ui(
}
fn to_base_mode(base_mode: InputMode) -> Action {
- Action::SwitchToMode(base_mode)
+ Action::SwitchToMode {
+ input_mode: base_mode,
+ }
}
fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<KeyShortcut>> {
@@ -69,7 +71,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Unlock,
to_char(action_key(
locked_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
)],
),
@@ -81,7 +85,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Unlock,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Locked)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
)),
),
KeyShortcut::new(
@@ -89,7 +95,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Pane,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Pane)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Pane,
+ }],
)),
),
KeyShortcut::new(
@@ -97,7 +105,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Tab,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Tab)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Tab,
+ }],
)),
),
KeyShortcut::new(
@@ -105,7 +115,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Resize,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Resize)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Resize,
+ }],
)),
),
KeyShortcut::new(
@@ -113,7 +125,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Move,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Move)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Move,
+ }],
)),
),
KeyShortcut::new(
@@ -121,7 +135,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Search,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Scroll)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Scroll,
+ }],
)),
),
KeyShortcut::new(
@@ -129,7 +145,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Session,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Session)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Session,
+ }],
)),
),
KeyShortcut::new(
@@ -147,7 +165,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Unlock,
to_char(action_key(
pane_binds,
- &[Action::SwitchToMode(InputMode::Locked)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
)),
),
KeyShortcut::new(
@@ -155,7 +175,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Pane,
to_char(action_key(
pane_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
),
],
@@ -168,7 +190,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Unlock,
to_char(action_key(
tab_binds,
- &[Action::SwitchToMode(InputMode::Locked)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
)),
),
KeyShortcut::new(
@@ -176,7 +200,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Tab,
to_char(action_key(
tab_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
),
],
@@ -189,7 +215,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Unlock,
to_char(action_key(
resize_binds,
- &[Action::SwitchToMode(InputMode::Locked)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
)),
),
KeyShortcut::new(
@@ -197,7 +225,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Resize,
to_char(action_key(
resize_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
),
],
@@ -210,7 +240,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Unlock,
to_char(action_key(
move_binds,
- &[Action::SwitchToMode(InputMode::Locked)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
)),
),
KeyShortcut::new(
@@ -218,7 +250,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Move,
to_char(action_key(
move_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
),
],
@@ -231,7 +265,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Unlock,
to_char(action_key(
scroll_binds,
- &[Action::SwitchToMode(InputMode::Locked)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
)),
),
KeyShortcut::new(
@@ -239,7 +275,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Search,
to_char(action_key(
scroll_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
),
],
@@ -252,7 +290,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Unlock,
to_char(action_key(
session_binds,
- &[Action::SwitchToMode(InputMode::Locked)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
)),
),
KeyShortcut::new(
@@ -260,7 +300,9 @@ fn base_mode_locked_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Session,
to_char(action_key(
session_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
),
],
@@ -285,7 +327,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Lock,
to_char(action_key(
locked_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
)],
),
@@ -297,7 +341,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Lock,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Locked)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Locked,
+ }],
)),
),
KeyShortcut::new(
@@ -305,7 +351,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Pane,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Pane)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Pane,
+ }],
)),
),
KeyShortcut::new(
@@ -313,7 +361,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Tab,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Tab)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Tab,
+ }],
)),
),
KeyShortcut::new(
@@ -321,7 +371,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Resize,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Resize)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Resize,
+ }],
)),
),
KeyShortcut::new(
@@ -329,7 +381,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Move,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Move)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Move,
+ }],
)),
),
KeyShortcut::new(
@@ -337,7 +391,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Search,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Scroll)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Scroll,
+ }],
)),
),
KeyShortcut::new(
@@ -345,7 +401,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Session,
to_char(action_key(
normal_binds,
- &[Action::SwitchToMode(InputMode::Session)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Session,
+ }],
)),
),
KeyShortcut::new(
@@ -362,7 +420,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Pane,
to_char(action_key(
pane_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
)],
),
@@ -373,7 +433,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Tab,
to_char(action_key(
tab_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
)],
),
@@ -384,7 +446,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Resize,
to_char(action_key(
resize_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
)],
),
@@ -395,7 +459,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Move,
to_char(action_key(
move_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
)],
),
@@ -406,7 +472,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Search,
to_char(action_key(
scroll_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
)],
),
@@ -417,7 +485,9 @@ fn base_mode_normal_mode_indicators(help: &ModeInfo) -> HashMap<InputMode, Vec<K
KeyAction::Session,
to_char(action_key(
session_binds,
- &[Action::SwitchToMode(InputMode::Normal)],
+ &[Action::SwitchToMode {
+ input_mode: InputMode::Normal,
+ }],
)),
)],
),
@@ -699,7 +769,14 @@ fn secondary_keybinds(help: &ModeInfo, tab_info: Option<&TabInfo>, max_len: usiz
let binds = &help.get_mode_keybinds();
let should_show_focus_and_resize_shortcuts = should_show_focus_and_resize_shortcuts(tab_info);
// New Pane
- let new_pane_action_key = action_key(binds, &[Action::NewPane(None, None, false)]);
+ let new_pane_action_key = action_key(
+ binds,
+ &[Action::NewPane {
+ direction: None,
+ pane_name: None,
+ start_suppressed: false,
+ }],
+ );
let mut new_pane_key_to_display = new_pane_action_key
.iter()
.find(|k| k.is_key_with_alt_modifier(BareKey::Char('n')))
@@ -712,12 +789,24 @@ fn secondary_keybinds(help: &ModeInfo, tab_info: Option<&TabInfo>, max_len: usiz
};
// Resize
- let resize_increase_action_key = action_key(binds, &[Action::Resize(Resize::Increase, None)]);
+ let resize_increase_action_key = action_key(
+ binds,
+ &[Action::Resize {
+ resize: Resize::Increase,
+ direction: None,
+ }],
+ );
let resize_increase_key = resize_increase_action_key
.iter()
.find(|k| k.bare_key == BareKey::Char('+'))
.or_else(|| resize_increase_action_key.iter().next());
- let resize_decrease_action_key = action_key(binds, &[Action::Resize(Resize::Decrease, None)]);
+ let resize_decrease_action_key = action_key(
+ binds,
+ &[Action::Resize {
+ resize: Resize::Decrease,
+ direction: None,
+ }],
+ );
let resize_decrease_key = resize_decrease_action_key
.iter()
.find(|k| k.bare_key == BareKey::Char('-'))
@@ -734,7 +823,12 @@ fn secondary_keybinds(help: &ModeInfo, tab_info: Option<&TabInfo>, max_len: usiz
let mut move_focus_shortcuts: Vec<KeyWithModifier> = vec![];
// Left
- let move_focus_left_action_key = action_key(binds, &[Action::MoveFocusOrTab(Direction::Left)]);
+ let move_focus_left_action_key = action_key(
+ binds,
+ &[Action::MoveFocusOrTab {
+ direction: Direction::Left,
+ }],
+ );
let move_focus_left_key = move_focus_left_action_key
.iter()
.find(|k| k.bare_key == BareKey::Left)
@@ -743,7 +837,12 @@ fn secondary_keybinds(help: &ModeInfo, tab_info: Option<&TabInfo>, max_len: usiz
move_focus_shortcuts.push(move_focus_left_key.clone());
}
// Down
- let move_focus_left_action_key = action_key(binds, &[Action::MoveFocus(Direction::Down)]);
+ let move_focus_left_action_key = action_key(
+ binds,
+ &[Action::MoveFocus {
+ direction: Direction::Down,
+ }],
+ );
let move_focus_left_key = move_focus_left_action_key
.iter()
.find(|k| k.bare_key == BareKey::Down)
@@ -752,7 +851,12 @@ fn secondary_keybinds(help: &ModeInfo, tab_info: Option<&TabInfo>, max_len: usiz
move_focus_shortcuts.push(move_focus_left_key.clone());
}
// Up
- let move_focus_left_action_key = action_key(binds, &[Action::MoveFocus(Direction::Up)]);
+ let move_focus_left_action_key = action_key(
+ binds,
+ &[Action::MoveFocus {
+ direction: Direction::Up,
+ }],
+ );
let move_focus_left_key = move_focus_left_action_key
.iter()
.find(|k| k.bare_key == BareKey::Up)
@@ -761,7 +865,12 @@ fn secondary_keybinds(help: &ModeInfo, tab_info: Option<&TabInfo>, max_len: usiz
move_focus_shortcuts.push(move_focus_left_key.clone());
}
// Right
- let move_focus_left_action_key = action_key(binds, &[Action::MoveFocusOrTab(Direction::Right)]);
+ let move_focus_left_action_key = action_key(
+ binds,
+ &[Action::MoveFocusOrTab {
+ direction: Direction::Right,
+ }],
+ );
let move_focus_left_key = move_focus_left_action_key
.iter()
.find(|k| k.bare_key == BareKey::Right)
@@ -1264,20 +1373,20 @@ fn get_keys_and_hints(mi: &ModeInfo) -> Vec<(String, String, Vec<KeyWithModifier
}
if mi.mode == IM::Pane { vec![
- (s("New"), s("New"), single_action_key(&km, &[A::NewPane(None, None, false), TO_NORMAL])),
+ (s("New"), s("New"), single_action_key(&km, &[A::NewPane{direction: None, pane_name: None, start_suppressed: false}, TO_NORMAL])),
(s("Change Focus"), s("Move"),
- action_key_group(&km, &[&[A::MoveFocus(Dir::Left)], &[A::MoveFocus(Dir::Down)],
- &[A::MoveFocus(Dir::Up)], &[A::MoveFocus(Dir::Right)]])),
+ action_key_group(&km, &[&[A::MoveFocus{direction: Dir::Left}], &[A::MoveFocus{direction: Dir::Down}],
+ &[A::MoveFocus{direction: Dir::Up}], &[A::MoveFocus{direction: Dir::Right}]])),
(s("Close"), s("Close"), single_action_key(&km, &[A::CloseFocus, TO_NORMAL])),
(s("Rename"), s("Rename"),
- single_action_key(&km, &[A::SwitchToMode(IM::RenamePane), A::PaneNameInput(vec![0])])),
+ single_action_key(&km, &[A::SwitchToMode{input_mode: IM::RenamePane}, A::PaneNameInput{input: vec![0]}])),
(s("Toggle Fullscreen"), s("Fullscreen"), single_action_key(&km, &[A::ToggleFocusFullscreen, TO_NORMAL])),
(s("Toggle Floating"), s("Floating"),
single_action_key(&km, &[A::ToggleFloatingPanes, TO_NORMAL])),
(s("Toggle Embed"), s("Embed"), single_action_key(&km, &[A::TogglePaneEmbedOrFloating, TO_NORMAL])),
- (s("Split Right"), s("Right"), single_action_key(&km, &[A::NewPane(Some(Direction::Right), None, false), TO_NORMAL])),
- (s("Split Down"), s("Down"), single_action_key(&km, &[A::NewPane(Some(Direction::Down), None, false), TO_NORMAL])),
- (s("Stack"), s("Stack"), single_action_key(&km, &[A::NewStackedPane(None, None), TO_NORMAL])),
+ (s("Split Right"), s("Right"), single_action_key(&km, &[A::NewPane{direction: Some(Direction::Right), pane_name: None, start_suppressed: false}, TO_NORMAL])),
+ (s("Split Down"), s("Down"), single_action_key(&km, &[A::NewPane{direction: Some(Direction::Down), pane_name: None, start_suppressed: false}, TO_NORMAL])),
+ (s("Stack"), s("Stack"), single_action_key(&km, &[A::NewStackedPane{command: None, pane_name: None}, TO_NORMAL])),
(s("Select pane"), s("Select"), to_basemode_key),
]} else if mi.mode == IM::Tab {
// With the default bindings, "Move focus" for tabs is tricky: It binds all the arrow keys
@@ -1297,11 +1406,11 @@ fn get_keys_and_hints(mi: &ModeInfo) -> Vec<(String, String, Vec<KeyWithModifier
};
vec![
- (s("New"), s("New"), single_action_key(&km, &[A::NewTab(None, vec![], None, None, None, true, None), TO_NORMAL])),
+ (s("New"), s("New"), single_action_key(&km, &[A::NewTab{tiled_layout: None, floating_layouts: vec![], swap_tiled_layouts: None, swap_floating_layouts: None, tab_name: None, should_change_focus_to_new_tab: true, cwd: None}, TO_NORMAL])),
(s("Change focus"), s("Move"), focus_keys),
(s("Close"), s("Close"), single_action_key(&km, &[A::CloseTab, TO_NORMAL])),
(s("Rename"), s("Rename"),
- single_action_key(&km, &[A::SwitchToMode(IM::RenameTab), A::TabNameInput(vec![0])])),
+ single_action_key(&km, &[A::SwitchToMode{input_mode: IM::RenameTab}, A::TabNameInput{input: vec![0]}])),
(s("Sync"), s("Sync"), single_action_key(&km, &[A::ToggleActiveSyncTab, TO_NORMAL])),
(s("Break pane to new tab"), s("Break out"), single_action_key(&km, &[A::BreakPane, TO_NORMAL])),
(s("Break pane left/right"), s("Break"), action_key_group(&km, &[
@@ -1313,30 +1422,30 @@ fn get_keys_and_hints(mi: &ModeInfo) -> Vec<(String, String, Vec<KeyWithModifier
]} else if mi.mode == IM::Resize { vec![
(s("Increase/Decrease size"), s("Increase/Decrease"),
action_key_group(&km, &[
- &[A::Resize(Resize::Increase, None)],
- &[A::Resize(Resize::Decrease, None)]
+ &[A::Resize{resize: Resize::Increase, direction: None}],
+ &[A::Resize{resize: Resize::Decrease, direction: None}]
])),
(s("Increase to"), s("Increase"), action_key_group(&km, &[
- &[A::Resize(Resize::Increase, Some(Dir::Left))],
- &[A::Resize(Resize::Increase, Some(Dir::Down))],
- &[A::Resize(Resize::Increase, Some(Dir::Up))],
- &[A::Resize(Resize::Increase, Some(Dir::Right))]
+ &[A::Resize{resize: Resize::Increase, direction: Some(Dir::Left)}],
+ &[A::Resize{resize: Resize::Increase, direction: Some(Dir::Down)}],
+ &[A::Resize{resize: Resize::Increase, direction: Some(Dir::Up)}],
+ &[A::Resize{resize: Resize::Increase, direction: Some(Dir::Right)}]
])),
(s("Decrease from"), s("Decrease"), action_key_group(&km, &[
- &[A::Resize(Resize::Decrease, Some(Dir::Left))],
- &[A::Resize(Resize::Decrease, Some(Dir::Down))],
- &[A::Resize(Resize::Decrease, Some(Dir::Up))],
- &[A::Resize(Resize::Decrease, Some(Dir::Right))]
+ &[A::Resize{resize: Resize::Decrease, direction: Some(Dir::Left)}],
+ &[A::Resize{resize: Resize::Decrease, direction: Some(Dir::Down)}],
+ &[A::Resize{resize: Resize::Decrease, direction: Some(Dir::Up)}],
+ &[A::Resize{resize: Resize::Decrease, direction: Some(Dir::Right)}]
])),
(s("Select pane"), s("Select"), to_basemode_key),
]} else if mi.mode == IM::Move { vec![
(s("Switch Location"), s("Move"), action_key_group(&km, &[
- &[Action::MovePane(Some(Dir::Left))], &[Action::MovePane(Some(Dir::Down))],
- &[Action::MovePane(Some(Dir::Up))], &[Action::MovePane(Some(Dir::Right))]])),
+ &[Action::MovePane{direction: Some(Dir::Left)}], &[Action::MovePane{direction: Some(Dir::Down)}],
+ &[Action::MovePane{direction: Some(Dir::Up)}], &[Action::MovePane{direction: Some(Dir::Right)}]])),
(s("When done"), s("Back"), to_basemode_key),
]} else if mi.mode == IM::Scroll { vec![
(s("Enter search term"), s("Search"),
- action_key(&km, &[A::SwitchToMode(IM::EnterSearch), A::SearchInput(vec![0])])),
+ action_key(&km, &[A::SwitchToMode{input_mode: IM::EnterSearch}, A::SearchInput{input: vec![0]}])),
(s("Scroll"), s("Scroll"),
action_key_group(&km, &[&[Action::ScrollDown], &[Action::ScrollUp]])),
(s("Scroll page"), s("Scroll"),
@@ -1347,26 +1456,26 @@ fn get_keys_and_hints(mi: &ModeInfo) -> Vec<(String, String, Vec<KeyWithModifier
single_action_key(&km, &[Action::EditScrollback, TO_NORMAL])),
(s("Select pane"), s("Select"), to_basemode_key),
]} else if mi.mode == IM::EnterSearch { vec![
- (s("When done"), s("Done"), action_key(&km, &[A::SwitchToMode(IM::Search)])),
+ (s("When done"), s("Done"), action_key(&km, &[A::SwitchToMode{input_mode: IM::Search}])),
(s("Cancel"), s("Cancel"),
- action_key(&km, &[A::SearchInput(vec![27]), A::SwitchToMode(IM::Scroll)])),
+ action_key(&km, &[A::SearchInput{input: vec![27]}, A::SwitchToMode{input_mode: IM::Scroll}])),
]} else if mi.mode == IM::Search { vec![
(s("Enter Search term"), s("Search"),
- action_key(&km, &[A::SwitchToMode(IM::EnterSearch), A::SearchInput(vec![0])])),
+ action_key(&km, &[A::SwitchToMode{input_mode: IM::EnterSearch}, A::SearchInput{input: vec![0]}])),
(s("Scroll"), s("Scroll"),
action_key_group(&km, &[&[Action::ScrollDown], &[Action::ScrollUp]])),
(s("Scroll page"), s("Scroll"),
action_key_group(&km, &[&[Action::PageScrollDown], &[Action::PageScrollUp]])),
(s("Scroll half page"), s("Scroll"),
action_key_group(&km, &[&[Action::HalfPageScrollDown], &[Action::HalfPageScrollUp]])),
- (s("Search down"), s("Down"), action_key(&km, &[A::Search(SDir::Down)])),
- (s("Search up"), s("Up"), action_key(&km, &[A::Search(SDir::Up)])),
+ (s("Search down"), s("Down"), action_key(&km, &[A::Search{direction: SDir::Down}])),
+ (s("Search up"), s("Up"), action_key(&km, &[A::Search{direction: SDir::Up}])),
(s("Case sensitive"), s("Case"),
- action_key(&km, &[A::SearchToggleOption(SOpt::CaseSensitivity)])),
+ action_key(&km, &[A::SearchToggleOption{option: SOpt::CaseSensitivity}])),
(s("Wrap"), s("Wrap"),
- action_key(&km, &[A::SearchToggleOption(SOpt::Wrap)])),
+ action_key(&km, &[A::SearchToggleOption{option: SOpt::Wrap}])),
(s("Whole words"), s("Whole"),
- action_key(&km, &[A::SearchToggleOption(SOpt::WholeWord)])),
+ action_key(&km, &[A::SearchToggleOption{option: SOpt::WholeWord}])),
]} else if mi.mode == IM::Session { vec![
(s("Detach"), s("Detach"), action_key(&km, &[Action::Detach])),
(s("Session Manager"), s("Manager"), session_manager_key(&km)),
@@ -1377,14 +1486,14 @@ fn get_keys_and_hints(mi: &ModeInfo) -> Vec<(String, String, Vec<KeyWithModifier
(s("Select pane"), s("Select"), to_basemode_key),
]} else if mi.mode == IM::Tmux { vec![
(s("Move focus"), s("Move"), action_key_group(&km, &[
- &[A::MoveFocus(Dir::Left)], &[A::MoveFocus(Dir::Down)],
- &[A::MoveFocus(Dir::Up)], &[A::MoveFocus(Dir::Right)]])),
- (s("Split down"), s("Down"), action_key(&km, &[A::NewPane(Some(Dir::Down), None, false), TO_NORMAL])),
- (s("Split right"), s("Right"), action_key(&km, &[A::NewPane(Some(Dir::Right), None, false), TO_NORMAL])),
+ &[A::MoveFocus{direction: Dir::Left}], &[A::MoveFocus{direction: Dir::Down}],
+ &[A::MoveFocus{direction: Dir::Up}], &[A::MoveFocus{direction: Dir::Right}]])),
+ (s("Split down"), s("Down"), action_key(&km, &[A::NewPane{direction: Some(Dir::Down), pane_name: None, start_suppressed: false}, TO_NORMAL])),
+ (s("Split right"), s("Right"), action_key(&km, &[A::NewPane{direction: Some(Dir::Right), pane_name: None, start_suppressed: false}, TO_NORMAL])),
(s("Fullscreen"), s("Fullscreen"), action_key(&km, &[A::ToggleFocusFullscreen, TO_NORMAL])),
- (s("New tab"), s("New"), action_key(&km, &[A::NewTab(None, vec![], None, None, None, true, None), TO_NORMAL])),
+ (s("New tab"), s("New"), action_key(&km, &[A::NewTab{tiled_layout: None, floating_layouts: vec![], swap_tiled_layouts: None, swap_floating_layouts: None, tab_name: None, should_change_focus_to_new_tab: true, cwd: None}, TO_NORMAL])),
(s("Rename tab"), s("Rename"),
- action_key(&km, &[A::SwitchToMode(IM::RenameTab), A::TabNameInput(vec![0])])),
+ action_key(&km, &[A::SwitchToMode{input_mode: IM::RenameTab}, A::TabNameInput{input: vec![0]}])),
(s("Previous Tab"), s("Previous"), action_key(&km, &[A::GoToPreviousTab, TO_NORMAL])),
(s("Next Tab"), s("Next"), action_key(&km, &[A::GoToNextTab, TO_NORMAL])),
(s("Select pane"), s("Select"), to_basemode_key),