mirror of
https://github.com/wez/wezterm.git
synced 2024-09-21 11:50:42 +03:00
palette: add icons for a number of entries
refs: https://github.com/wez/wezterm/issues/1485
This commit is contained in:
parent
b2e694032f
commit
378853f5a5
@ -64,6 +64,7 @@ pub struct CommandDef {
|
|||||||
pub args: &'static [ArgType],
|
pub args: &'static [ArgType],
|
||||||
/// Where to place the command in a menubar
|
/// Where to place the command in a menubar
|
||||||
pub menubar: &'static [&'static str],
|
pub menubar: &'static [&'static str],
|
||||||
|
pub icon: Option<&'static str>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
@ -73,6 +74,7 @@ pub struct ExpandedCommand {
|
|||||||
pub action: KeyAssignment,
|
pub action: KeyAssignment,
|
||||||
pub keys: Vec<(Modifiers, KeyCode)>,
|
pub keys: Vec<(Modifiers, KeyCode)>,
|
||||||
pub menubar: &'static [&'static str],
|
pub menubar: &'static [&'static str],
|
||||||
|
pub icon: Option<&'static str>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl std::fmt::Debug for CommandDef {
|
impl std::fmt::Debug for CommandDef {
|
||||||
@ -175,6 +177,7 @@ impl CommandDef {
|
|||||||
keys,
|
keys,
|
||||||
action,
|
action,
|
||||||
menubar: def.menubar,
|
menubar: def.menubar,
|
||||||
|
icon: def.icon,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -211,6 +214,7 @@ impl CommandDef {
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
action: KeyAssignment::SpawnCommandInNewTab(cmd.clone()),
|
action: KeyAssignment::SpawnCommandInNewTab(cmd.clone()),
|
||||||
menubar: &["Shell"],
|
menubar: &["Shell"],
|
||||||
|
icon: Some("mdi_tab_plus"),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -245,6 +249,7 @@ impl CommandDef {
|
|||||||
..SpawnCommand::default()
|
..SpawnCommand::default()
|
||||||
}),
|
}),
|
||||||
menubar: &["Shell"],
|
menubar: &["Shell"],
|
||||||
|
icon: Some("mdi_tab_plus"),
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
result.push(ExpandedCommand {
|
result.push(ExpandedCommand {
|
||||||
@ -253,6 +258,7 @@ impl CommandDef {
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
action: KeyAssignment::AttachDomain(name.to_string()),
|
action: KeyAssignment::AttachDomain(name.to_string()),
|
||||||
menubar: &["Shell", "Attach"],
|
menubar: &["Shell", "Attach"],
|
||||||
|
icon: Some("mdi_pipe"),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -274,6 +280,7 @@ impl CommandDef {
|
|||||||
name.to_string(),
|
name.to_string(),
|
||||||
)),
|
)),
|
||||||
menubar: &["Shell", "Detach"],
|
menubar: &["Shell", "Detach"],
|
||||||
|
icon: Some("mdi_pipe_disconnected"),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -290,6 +297,7 @@ impl CommandDef {
|
|||||||
spawn: None,
|
spawn: None,
|
||||||
},
|
},
|
||||||
menubar: &["Window", "Workspace"],
|
menubar: &["Window", "Workspace"],
|
||||||
|
icon: None,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -302,6 +310,7 @@ impl CommandDef {
|
|||||||
spawn: None,
|
spawn: None,
|
||||||
},
|
},
|
||||||
menubar: &["Window", "Workspace"],
|
menubar: &["Window", "Workspace"],
|
||||||
|
icon: None,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -322,6 +331,7 @@ impl CommandDef {
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
action: entry.action.clone(),
|
action: entry.action.clone(),
|
||||||
menubar: cmd.menubar,
|
menubar: cmd.menubar,
|
||||||
|
icon: cmd.icon,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -341,6 +351,7 @@ impl CommandDef {
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
action: entry.action.clone(),
|
action: entry.action.clone(),
|
||||||
menubar: cmd.menubar,
|
menubar: cmd.menubar,
|
||||||
|
icon: cmd.icon,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -582,6 +593,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::SHIFT, "Insert".into())],
|
keys: vec![(Modifiers::SHIFT, "Insert".into())],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Edit"],
|
menubar: &["Edit"],
|
||||||
|
icon: Some("mdi_content_paste"),
|
||||||
},
|
},
|
||||||
CopyTo(ClipboardCopyDestination::PrimarySelection) => CommandDef {
|
CopyTo(ClipboardCopyDestination::PrimarySelection) => CommandDef {
|
||||||
brief: "Copy to primary selection".into(),
|
brief: "Copy to primary selection".into(),
|
||||||
@ -589,6 +601,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::CTRL, "Insert".into())],
|
keys: vec![(Modifiers::CTRL, "Insert".into())],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Edit"],
|
menubar: &["Edit"],
|
||||||
|
icon: Some("mdi_content_copy"),
|
||||||
},
|
},
|
||||||
CopyTo(ClipboardCopyDestination::Clipboard) => CommandDef {
|
CopyTo(ClipboardCopyDestination::Clipboard) => CommandDef {
|
||||||
brief: "Copy to clipboard".into(),
|
brief: "Copy to clipboard".into(),
|
||||||
@ -599,6 +612,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
],
|
],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Edit"],
|
menubar: &["Edit"],
|
||||||
|
icon: Some("mdi_content_copy"),
|
||||||
},
|
},
|
||||||
CopyTo(ClipboardCopyDestination::ClipboardAndPrimarySelection) => CommandDef {
|
CopyTo(ClipboardCopyDestination::ClipboardAndPrimarySelection) => CommandDef {
|
||||||
brief: "Copy to clipboard and primary selection".into(),
|
brief: "Copy to clipboard and primary selection".into(),
|
||||||
@ -606,6 +620,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::CTRL, "Insert".into())],
|
keys: vec![(Modifiers::CTRL, "Insert".into())],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Edit"],
|
menubar: &["Edit"],
|
||||||
|
icon: Some("mdi_content_copy"),
|
||||||
},
|
},
|
||||||
PasteFrom(ClipboardPasteSource::Clipboard) => CommandDef {
|
PasteFrom(ClipboardPasteSource::Clipboard) => CommandDef {
|
||||||
brief: "Paste from clipboard".into(),
|
brief: "Paste from clipboard".into(),
|
||||||
@ -616,6 +631,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
],
|
],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Edit"],
|
menubar: &["Edit"],
|
||||||
|
icon: Some("mdi_content_paste"),
|
||||||
},
|
},
|
||||||
ToggleFullScreen => CommandDef {
|
ToggleFullScreen => CommandDef {
|
||||||
brief: "Toggle full screen mode".into(),
|
brief: "Toggle full screen mode".into(),
|
||||||
@ -623,6 +639,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::ALT, "Return".into())],
|
keys: vec![(Modifiers::ALT, "Return".into())],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &["View"],
|
menubar: &["View"],
|
||||||
|
icon: Some("mdi_fullscreen"),
|
||||||
},
|
},
|
||||||
Hide => CommandDef {
|
Hide => CommandDef {
|
||||||
brief: "Hide/Minimize Window".into(),
|
brief: "Hide/Minimize Window".into(),
|
||||||
@ -630,6 +647,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::SUPER, "m".into())],
|
keys: vec![(Modifiers::SUPER, "m".into())],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &["Window"],
|
menubar: &["Window"],
|
||||||
|
icon: Some("mdi_window_minimize"),
|
||||||
},
|
},
|
||||||
Show => CommandDef {
|
Show => CommandDef {
|
||||||
brief: "Show/Restore Window".into(),
|
brief: "Show/Restore Window".into(),
|
||||||
@ -637,6 +655,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: Some("mdi_window_restore"),
|
||||||
},
|
},
|
||||||
HideApplication => CommandDef {
|
HideApplication => CommandDef {
|
||||||
brief: "Hide Application".into(),
|
brief: "Hide Application".into(),
|
||||||
@ -646,6 +665,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::SUPER, "h".into())],
|
keys: vec![(Modifiers::SUPER, "h".into())],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &["WezTerm"],
|
menubar: &["WezTerm"],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
SpawnWindow => CommandDef {
|
SpawnWindow => CommandDef {
|
||||||
brief: "New Window".into(),
|
brief: "New Window".into(),
|
||||||
@ -653,6 +673,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::SUPER, "n".into())],
|
keys: vec![(Modifiers::SUPER, "n".into())],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &["Shell"],
|
menubar: &["Shell"],
|
||||||
|
icon: Some("cod_empty_window"),
|
||||||
},
|
},
|
||||||
ClearScrollback(ScrollbackEraseMode::ScrollbackOnly) => CommandDef {
|
ClearScrollback(ScrollbackEraseMode::ScrollbackOnly) => CommandDef {
|
||||||
brief: "Clear scrollback".into(),
|
brief: "Clear scrollback".into(),
|
||||||
@ -662,6 +683,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::SUPER, "k".into())],
|
keys: vec![(Modifiers::SUPER, "k".into())],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Edit"],
|
menubar: &["Edit"],
|
||||||
|
icon: Some("cod_clear_all"),
|
||||||
},
|
},
|
||||||
ClearScrollback(ScrollbackEraseMode::ScrollbackAndViewport) => CommandDef {
|
ClearScrollback(ScrollbackEraseMode::ScrollbackAndViewport) => CommandDef {
|
||||||
brief: "Clear the scrollback and viewport".into(),
|
brief: "Clear the scrollback and viewport".into(),
|
||||||
@ -669,6 +691,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Edit"],
|
menubar: &["Edit"],
|
||||||
|
icon: Some("cod_clear_all"),
|
||||||
},
|
},
|
||||||
Search(Pattern::CurrentSelectionOrEmptyString) => CommandDef {
|
Search(Pattern::CurrentSelectionOrEmptyString) => CommandDef {
|
||||||
brief: "Search pane output".into(),
|
brief: "Search pane output".into(),
|
||||||
@ -676,6 +699,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::SUPER, "f".into())],
|
keys: vec![(Modifiers::SUPER, "f".into())],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Edit"],
|
menubar: &["Edit"],
|
||||||
|
icon: Some("oct_search"),
|
||||||
},
|
},
|
||||||
Search(_) => CommandDef {
|
Search(_) => CommandDef {
|
||||||
brief: "Search pane output".into(),
|
brief: "Search pane output".into(),
|
||||||
@ -683,6 +707,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: Some("oct_search"),
|
||||||
},
|
},
|
||||||
ShowDebugOverlay => CommandDef {
|
ShowDebugOverlay => CommandDef {
|
||||||
brief: "Show debug overlay".into(),
|
brief: "Show debug overlay".into(),
|
||||||
@ -690,6 +715,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "l".into())],
|
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "l".into())],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &["Help"],
|
menubar: &["Help"],
|
||||||
|
icon: Some("cod_debug"),
|
||||||
},
|
},
|
||||||
QuickSelect => CommandDef {
|
QuickSelect => CommandDef {
|
||||||
brief: "Enter QuickSelect mode".into(),
|
brief: "Enter QuickSelect mode".into(),
|
||||||
@ -697,6 +723,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "Space".into())],
|
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "Space".into())],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Edit"],
|
menubar: &["Edit"],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
QuickSelectArgs(_) => CommandDef {
|
QuickSelectArgs(_) => CommandDef {
|
||||||
brief: "Enter QuickSelect mode".into(),
|
brief: "Enter QuickSelect mode".into(),
|
||||||
@ -704,6 +731,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
CharSelect(_) => CommandDef {
|
CharSelect(_) => CommandDef {
|
||||||
brief: "Enter Emoji / Character selection mode".into(),
|
brief: "Enter Emoji / Character selection mode".into(),
|
||||||
@ -711,6 +739,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "u".into())],
|
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "u".into())],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Edit"],
|
menubar: &["Edit"],
|
||||||
|
icon: Some("mdi_sticker_emoji"),
|
||||||
},
|
},
|
||||||
PaneSelect(_) => CommandDef {
|
PaneSelect(_) => CommandDef {
|
||||||
brief: "Enter Pane selection mode".into(),
|
brief: "Enter Pane selection mode".into(),
|
||||||
@ -718,6 +747,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![], // FIXME: find a new assignment
|
keys: vec![], // FIXME: find a new assignment
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Window"],
|
menubar: &["Window"],
|
||||||
|
icon: Some("cod_multiple_windows"),
|
||||||
},
|
},
|
||||||
DecreaseFontSize => CommandDef {
|
DecreaseFontSize => CommandDef {
|
||||||
brief: "Decrease font size".into(),
|
brief: "Decrease font size".into(),
|
||||||
@ -728,6 +758,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
],
|
],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &["View", "Font Size"],
|
menubar: &["View", "Font Size"],
|
||||||
|
icon: Some("mdi_format_size"),
|
||||||
},
|
},
|
||||||
IncreaseFontSize => CommandDef {
|
IncreaseFontSize => CommandDef {
|
||||||
brief: "Increase font size".into(),
|
brief: "Increase font size".into(),
|
||||||
@ -738,6 +769,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
],
|
],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &["View", "Font Size"],
|
menubar: &["View", "Font Size"],
|
||||||
|
icon: Some("mdi_format_size"),
|
||||||
},
|
},
|
||||||
ResetFontSize => CommandDef {
|
ResetFontSize => CommandDef {
|
||||||
brief: "Reset font size".into(),
|
brief: "Reset font size".into(),
|
||||||
@ -748,6 +780,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
],
|
],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &["View", "Font Size"],
|
menubar: &["View", "Font Size"],
|
||||||
|
icon: Some("mdi_format_size"),
|
||||||
},
|
},
|
||||||
ResetFontAndWindowSize => CommandDef {
|
ResetFontAndWindowSize => CommandDef {
|
||||||
brief: "Reset the window and font size".into(),
|
brief: "Reset the window and font size".into(),
|
||||||
@ -755,6 +788,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &["View", "Font Size"],
|
menubar: &["View", "Font Size"],
|
||||||
|
icon: Some("mdi_format_size"),
|
||||||
},
|
},
|
||||||
SpawnTab(SpawnTabDomain::CurrentPaneDomain) => CommandDef {
|
SpawnTab(SpawnTabDomain::CurrentPaneDomain) => CommandDef {
|
||||||
brief: "New Tab".into(),
|
brief: "New Tab".into(),
|
||||||
@ -762,6 +796,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::SUPER, "t".into())],
|
keys: vec![(Modifiers::SUPER, "t".into())],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &["Shell"],
|
menubar: &["Shell"],
|
||||||
|
icon: Some("mdi_tab_plus"),
|
||||||
},
|
},
|
||||||
SpawnTab(SpawnTabDomain::DefaultDomain) => CommandDef {
|
SpawnTab(SpawnTabDomain::DefaultDomain) => CommandDef {
|
||||||
brief: "New Tab (Default Domain)".into(),
|
brief: "New Tab (Default Domain)".into(),
|
||||||
@ -769,6 +804,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &["Shell"],
|
menubar: &["Shell"],
|
||||||
|
icon: Some("mdi_tab_plus"),
|
||||||
},
|
},
|
||||||
SpawnTab(SpawnTabDomain::DomainName(name)) => CommandDef {
|
SpawnTab(SpawnTabDomain::DomainName(name)) => CommandDef {
|
||||||
brief: format!("New Tab (`{name}` Domain)").into(),
|
brief: format!("New Tab (`{name}` Domain)").into(),
|
||||||
@ -776,6 +812,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &["Shell"],
|
menubar: &["Shell"],
|
||||||
|
icon: Some("mdi_tab_plus"),
|
||||||
},
|
},
|
||||||
SpawnTab(SpawnTabDomain::DomainId(id)) => CommandDef {
|
SpawnTab(SpawnTabDomain::DomainId(id)) => CommandDef {
|
||||||
brief: format!("New Tab (Domain with id {id})").into(),
|
brief: format!("New Tab (Domain with id {id})").into(),
|
||||||
@ -783,6 +820,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &["Shell"],
|
menubar: &["Shell"],
|
||||||
|
icon: Some("mdi_tab_plus"),
|
||||||
},
|
},
|
||||||
SpawnCommandInNewTab(cmd) => CommandDef {
|
SpawnCommandInNewTab(cmd) => CommandDef {
|
||||||
brief: format!("Spawn a new Tab with {cmd:?}").into(),
|
brief: format!("Spawn a new Tab with {cmd:?}").into(),
|
||||||
@ -790,6 +828,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: Some("mdi_tab_plus"),
|
||||||
},
|
},
|
||||||
SpawnCommandInNewWindow(cmd) => CommandDef {
|
SpawnCommandInNewWindow(cmd) => CommandDef {
|
||||||
brief: format!("Spawn a new Window with {cmd:?}").into(),
|
brief: format!("Spawn a new Window with {cmd:?}").into(),
|
||||||
@ -797,6 +836,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: Some("mdi_open_in_new"),
|
||||||
},
|
},
|
||||||
ActivateTab(-1) => CommandDef {
|
ActivateTab(-1) => CommandDef {
|
||||||
brief: "Activate right-most tab".into(),
|
brief: "Activate right-most tab".into(),
|
||||||
@ -804,6 +844,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::SUPER, "9".into())],
|
keys: vec![(Modifiers::SUPER, "9".into())],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &["Window", "Select Tab"],
|
menubar: &["Window", "Select Tab"],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
ActivateTab(n) => {
|
ActivateTab(n) => {
|
||||||
let n = *n;
|
let n = *n;
|
||||||
@ -819,6 +860,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys,
|
keys,
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &["Window", "Select Tab"],
|
menubar: &["Window", "Select Tab"],
|
||||||
|
icon: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ActivatePaneByIndex(n) => {
|
ActivatePaneByIndex(n) => {
|
||||||
@ -830,6 +872,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SetPaneZoomState(true) => CommandDef {
|
SetPaneZoomState(true) => CommandDef {
|
||||||
@ -842,6 +885,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: Some("mdi_fullscreen"),
|
||||||
},
|
},
|
||||||
SetPaneZoomState(false) => CommandDef {
|
SetPaneZoomState(false) => CommandDef {
|
||||||
brief: format!("Un-Zooms the current Pane").into(),
|
brief: format!("Un-Zooms the current Pane").into(),
|
||||||
@ -849,6 +893,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: Some("mdi_fullscreen"),
|
||||||
},
|
},
|
||||||
EmitEvent(name) => CommandDef {
|
EmitEvent(name) => CommandDef {
|
||||||
brief: format!("Emit event `{name}`").into(),
|
brief: format!("Emit event `{name}`").into(),
|
||||||
@ -860,6 +905,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
CloseCurrentTab { confirm: true } => CommandDef {
|
CloseCurrentTab { confirm: true } => CommandDef {
|
||||||
brief: "Close current Tab".into(),
|
brief: "Close current Tab".into(),
|
||||||
@ -869,6 +915,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::SUPER, "w".into())],
|
keys: vec![(Modifiers::SUPER, "w".into())],
|
||||||
args: &[ArgType::ActiveTab],
|
args: &[ArgType::ActiveTab],
|
||||||
menubar: &["Shell"],
|
menubar: &["Shell"],
|
||||||
|
icon: Some("mdi_close_box_outline"),
|
||||||
},
|
},
|
||||||
CloseCurrentTab { confirm: false } => CommandDef {
|
CloseCurrentTab { confirm: false } => CommandDef {
|
||||||
brief: "Close current Tab".into(),
|
brief: "Close current Tab".into(),
|
||||||
@ -878,6 +925,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActiveTab],
|
args: &[ArgType::ActiveTab],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: Some("mdi_close_box_outline"),
|
||||||
},
|
},
|
||||||
CloseCurrentPane { confirm: true } => CommandDef {
|
CloseCurrentPane { confirm: true } => CommandDef {
|
||||||
brief: "Close current Pane".into(),
|
brief: "Close current Pane".into(),
|
||||||
@ -887,6 +935,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Shell"],
|
menubar: &["Shell"],
|
||||||
|
icon: Some("mdi_close_box_outline"),
|
||||||
},
|
},
|
||||||
CloseCurrentPane { confirm: false } => CommandDef {
|
CloseCurrentPane { confirm: false } => CommandDef {
|
||||||
brief: "Close current Pane".into(),
|
brief: "Close current Pane".into(),
|
||||||
@ -896,6 +945,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: Some("mdi_close_box_outline"),
|
||||||
},
|
},
|
||||||
ActivateTabRelative(-1) => CommandDef {
|
ActivateTabRelative(-1) => CommandDef {
|
||||||
brief: "Activate the tab to the left".into(),
|
brief: "Activate the tab to the left".into(),
|
||||||
@ -909,6 +959,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
],
|
],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &["Window", "Select Tab"],
|
menubar: &["Window", "Select Tab"],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
ActivateTabRelative(1) => CommandDef {
|
ActivateTabRelative(1) => CommandDef {
|
||||||
brief: "Activate the tab to the right".into(),
|
brief: "Activate the tab to the right".into(),
|
||||||
@ -922,6 +973,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
],
|
],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &["Window", "Select Tab"],
|
menubar: &["Window", "Select Tab"],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
ActivateTabRelative(n) => {
|
ActivateTabRelative(n) => {
|
||||||
let (direction, amount) = if *n < 0 { ("left", -n) } else { ("right", *n) };
|
let (direction, amount) = if *n < 0 { ("left", -n) } else { ("right", *n) };
|
||||||
@ -936,6 +988,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ActivateTabRelativeNoWrap(-1) => CommandDef {
|
ActivateTabRelativeNoWrap(-1) => CommandDef {
|
||||||
@ -944,6 +997,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
ActivateTabRelativeNoWrap(1) => CommandDef {
|
ActivateTabRelativeNoWrap(1) => CommandDef {
|
||||||
brief: "Activate the tab to the right (no wrapping)".into(),
|
brief: "Activate the tab to the right (no wrapping)".into(),
|
||||||
@ -951,6 +1005,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
ActivateTabRelativeNoWrap(n) => {
|
ActivateTabRelativeNoWrap(n) => {
|
||||||
let (direction, amount) = if *n < 0 { ("left", -n) } else { ("right", *n) };
|
let (direction, amount) = if *n < 0 { ("left", -n) } else { ("right", *n) };
|
||||||
@ -961,6 +1016,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ReloadConfiguration => CommandDef {
|
ReloadConfiguration => CommandDef {
|
||||||
@ -969,6 +1025,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::SUPER, "r".into())],
|
keys: vec![(Modifiers::SUPER, "r".into())],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &["WezTerm"],
|
menubar: &["WezTerm"],
|
||||||
|
icon: Some("mdi_reload"),
|
||||||
},
|
},
|
||||||
QuitApplication => CommandDef {
|
QuitApplication => CommandDef {
|
||||||
brief: "Quit WezTerm".into(),
|
brief: "Quit WezTerm".into(),
|
||||||
@ -976,6 +1033,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::SUPER, "q".into())],
|
keys: vec![(Modifiers::SUPER, "q".into())],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &["WezTerm"],
|
menubar: &["WezTerm"],
|
||||||
|
icon: Some("oct_stop"),
|
||||||
},
|
},
|
||||||
MoveTabRelative(-1) => CommandDef {
|
MoveTabRelative(-1) => CommandDef {
|
||||||
brief: "Move tab one place to the left".into(),
|
brief: "Move tab one place to the left".into(),
|
||||||
@ -985,6 +1043,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "PageUp".into())],
|
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "PageUp".into())],
|
||||||
args: &[ArgType::ActiveTab],
|
args: &[ArgType::ActiveTab],
|
||||||
menubar: &["Window", "Move Tab"],
|
menubar: &["Window", "Move Tab"],
|
||||||
|
icon: Some("fa_long_arrow_left"),
|
||||||
},
|
},
|
||||||
MoveTabRelative(1) => CommandDef {
|
MoveTabRelative(1) => CommandDef {
|
||||||
brief: "Move tab one place to the right".into(),
|
brief: "Move tab one place to the right".into(),
|
||||||
@ -994,12 +1053,13 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "PageDown".into())],
|
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "PageDown".into())],
|
||||||
args: &[ArgType::ActiveTab],
|
args: &[ArgType::ActiveTab],
|
||||||
menubar: &["Window", "Move Tab"],
|
menubar: &["Window", "Move Tab"],
|
||||||
|
icon: Some("fa_long_arrow_right"),
|
||||||
},
|
},
|
||||||
MoveTabRelative(n) => {
|
MoveTabRelative(n) => {
|
||||||
let (direction, amount) = if *n < 0 {
|
let (direction, amount, icon) = if *n < 0 {
|
||||||
("left", (-n).to_string())
|
("left", (-n).to_string(), "mdi_chevron_double_left")
|
||||||
} else {
|
} else {
|
||||||
("right", n.to_string())
|
("right", n.to_string(), "mdi_chevron_double_right")
|
||||||
};
|
};
|
||||||
|
|
||||||
CommandDef {
|
CommandDef {
|
||||||
@ -1012,6 +1072,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActiveTab],
|
args: &[ArgType::ActiveTab],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: Some(icon),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
MoveTab(n) => {
|
MoveTab(n) => {
|
||||||
@ -1026,6 +1087,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActiveTab],
|
args: &[ArgType::ActiveTab],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ScrollByPage(amount) => {
|
ScrollByPage(amount) => {
|
||||||
@ -1037,6 +1099,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::SHIFT, "PageUp".into())],
|
keys: vec![(Modifiers::SHIFT, "PageUp".into())],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["View"],
|
menubar: &["View"],
|
||||||
|
icon: None,
|
||||||
}
|
}
|
||||||
} else if amount == 1.0 {
|
} else if amount == 1.0 {
|
||||||
CommandDef {
|
CommandDef {
|
||||||
@ -1045,6 +1108,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::SHIFT, "PageDown".into())],
|
keys: vec![(Modifiers::SHIFT, "PageDown".into())],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["View"],
|
menubar: &["View"],
|
||||||
|
icon: None,
|
||||||
}
|
}
|
||||||
} else if amount < 0.0 {
|
} else if amount < 0.0 {
|
||||||
let amount = -amount;
|
let amount = -amount;
|
||||||
@ -1054,6 +1118,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["View"],
|
menubar: &["View"],
|
||||||
|
icon: None,
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
CommandDef {
|
CommandDef {
|
||||||
@ -1062,6 +1127,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["View"],
|
menubar: &["View"],
|
||||||
|
icon: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1081,6 +1147,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ScrollToPrompt(n) => {
|
ScrollToPrompt(n) => {
|
||||||
@ -1096,6 +1163,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: Some("oct_terminal"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ScrollByCurrentEventWheelDelta => CommandDef {
|
ScrollByCurrentEventWheelDelta => CommandDef {
|
||||||
@ -1108,6 +1176,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
ScrollToBottom => CommandDef {
|
ScrollToBottom => CommandDef {
|
||||||
brief: "Scroll to the bottom".into(),
|
brief: "Scroll to the bottom".into(),
|
||||||
@ -1115,6 +1184,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["View"],
|
menubar: &["View"],
|
||||||
|
icon: Some("mdi_format_align_bottom"),
|
||||||
},
|
},
|
||||||
ScrollToTop => CommandDef {
|
ScrollToTop => CommandDef {
|
||||||
brief: "Scroll to the top".into(),
|
brief: "Scroll to the top".into(),
|
||||||
@ -1122,6 +1192,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["View"],
|
menubar: &["View"],
|
||||||
|
icon: Some("mdi_format_align_top"),
|
||||||
},
|
},
|
||||||
ActivateCopyMode => CommandDef {
|
ActivateCopyMode => CommandDef {
|
||||||
brief: "Activate Copy Mode".into(),
|
brief: "Activate Copy Mode".into(),
|
||||||
@ -1131,6 +1202,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "x".into())],
|
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "x".into())],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Edit"],
|
menubar: &["Edit"],
|
||||||
|
icon: Some("mdi_content_copy"),
|
||||||
},
|
},
|
||||||
SplitVertical(SpawnCommand {
|
SplitVertical(SpawnCommand {
|
||||||
domain: SpawnTabDomain::CurrentPaneDomain,
|
domain: SpawnTabDomain::CurrentPaneDomain,
|
||||||
@ -1148,6 +1220,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
)],
|
)],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Shell"],
|
menubar: &["Shell"],
|
||||||
|
icon: Some("cod_split_vertical"),
|
||||||
},
|
},
|
||||||
SplitHorizontal(SpawnCommand {
|
SplitHorizontal(SpawnCommand {
|
||||||
domain: SpawnTabDomain::CurrentPaneDomain,
|
domain: SpawnTabDomain::CurrentPaneDomain,
|
||||||
@ -1165,6 +1238,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
)],
|
)],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Shell"],
|
menubar: &["Shell"],
|
||||||
|
icon: Some("cod_split_horizontal"),
|
||||||
},
|
},
|
||||||
SplitHorizontal(_) => CommandDef {
|
SplitHorizontal(_) => CommandDef {
|
||||||
brief: "Split Horizontally (Left/Right)".into(),
|
brief: "Split Horizontally (Left/Right)".into(),
|
||||||
@ -1174,6 +1248,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: Some("cod_split_horizontal"),
|
||||||
},
|
},
|
||||||
SplitVertical(_) => CommandDef {
|
SplitVertical(_) => CommandDef {
|
||||||
brief: "Split Vertically (Top/Bottom)".into(),
|
brief: "Split Vertically (Top/Bottom)".into(),
|
||||||
@ -1183,6 +1258,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: Some("cod_split_vertical"),
|
||||||
},
|
},
|
||||||
AdjustPaneSize(PaneDirection::Left, amount) => CommandDef {
|
AdjustPaneSize(PaneDirection::Left, amount) => CommandDef {
|
||||||
brief: format!("Resize Pane {amount} cells to the Left").into(),
|
brief: format!("Resize Pane {amount} cells to the Left").into(),
|
||||||
@ -1195,6 +1271,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
)],
|
)],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Window", "Resize Pane"],
|
menubar: &["Window", "Resize Pane"],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
AdjustPaneSize(PaneDirection::Right, amount) => CommandDef {
|
AdjustPaneSize(PaneDirection::Right, amount) => CommandDef {
|
||||||
brief: format!("Resize Pane {amount} cells to the Right").into(),
|
brief: format!("Resize Pane {amount} cells to the Right").into(),
|
||||||
@ -1207,6 +1284,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
)],
|
)],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Window", "Resize Pane"],
|
menubar: &["Window", "Resize Pane"],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
AdjustPaneSize(PaneDirection::Up, amount) => CommandDef {
|
AdjustPaneSize(PaneDirection::Up, amount) => CommandDef {
|
||||||
brief: format!("Resize Pane {amount} cells Upwards").into(),
|
brief: format!("Resize Pane {amount} cells Upwards").into(),
|
||||||
@ -1219,6 +1297,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
)],
|
)],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Window", "Resize Pane"],
|
menubar: &["Window", "Resize Pane"],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
AdjustPaneSize(PaneDirection::Down, amount) => CommandDef {
|
AdjustPaneSize(PaneDirection::Down, amount) => CommandDef {
|
||||||
brief: format!("Resize Pane {amount} cells Downwards").into(),
|
brief: format!("Resize Pane {amount} cells Downwards").into(),
|
||||||
@ -1231,6 +1310,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
)],
|
)],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Window", "Resize Pane"],
|
menubar: &["Window", "Resize Pane"],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
AdjustPaneSize(PaneDirection::Next | PaneDirection::Prev, _) => return None,
|
AdjustPaneSize(PaneDirection::Next | PaneDirection::Prev, _) => return None,
|
||||||
ActivatePaneDirection(PaneDirection::Next | PaneDirection::Prev) => return None,
|
ActivatePaneDirection(PaneDirection::Next | PaneDirection::Prev) => return None,
|
||||||
@ -1240,6 +1320,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "LeftArrow".into())],
|
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "LeftArrow".into())],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Window", "Select Pane"],
|
menubar: &["Window", "Select Pane"],
|
||||||
|
icon: Some("fa_long_arrow_left"),
|
||||||
},
|
},
|
||||||
ActivatePaneDirection(PaneDirection::Right) => CommandDef {
|
ActivatePaneDirection(PaneDirection::Right) => CommandDef {
|
||||||
brief: "Activate Pane Right".into(),
|
brief: "Activate Pane Right".into(),
|
||||||
@ -1247,6 +1328,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "RightArrow".into())],
|
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "RightArrow".into())],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Window", "Select Pane"],
|
menubar: &["Window", "Select Pane"],
|
||||||
|
icon: Some("fa_long_arrow_right"),
|
||||||
},
|
},
|
||||||
ActivatePaneDirection(PaneDirection::Up) => CommandDef {
|
ActivatePaneDirection(PaneDirection::Up) => CommandDef {
|
||||||
brief: "Activate Pane Up".into(),
|
brief: "Activate Pane Up".into(),
|
||||||
@ -1254,6 +1336,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "UpArrow".into())],
|
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "UpArrow".into())],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Window", "Select Pane"],
|
menubar: &["Window", "Select Pane"],
|
||||||
|
icon: Some("fa_long_arrow_up"),
|
||||||
},
|
},
|
||||||
ActivatePaneDirection(PaneDirection::Down) => CommandDef {
|
ActivatePaneDirection(PaneDirection::Down) => CommandDef {
|
||||||
brief: "Activate Pane Down".into(),
|
brief: "Activate Pane Down".into(),
|
||||||
@ -1261,6 +1344,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "DownArrow".into())],
|
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "DownArrow".into())],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Window", "Select Pane"],
|
menubar: &["Window", "Select Pane"],
|
||||||
|
icon: Some("fa_long_arrow_down"),
|
||||||
},
|
},
|
||||||
TogglePaneZoomState => CommandDef {
|
TogglePaneZoomState => CommandDef {
|
||||||
brief: "Toggle Pane Zoom".into(),
|
brief: "Toggle Pane Zoom".into(),
|
||||||
@ -1268,6 +1352,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "z".into())],
|
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "z".into())],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Window"],
|
menubar: &["Window"],
|
||||||
|
icon: Some("mdi_fullscreen"),
|
||||||
},
|
},
|
||||||
ActivateLastTab => CommandDef {
|
ActivateLastTab => CommandDef {
|
||||||
brief: "Activate the last active tab".into(),
|
brief: "Activate the last active tab".into(),
|
||||||
@ -1275,6 +1360,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &["Window", "Select Tab"],
|
menubar: &["Window", "Select Tab"],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
ClearKeyTableStack => CommandDef {
|
ClearKeyTableStack => CommandDef {
|
||||||
brief: "Clear the key table stack".into(),
|
brief: "Clear the key table stack".into(),
|
||||||
@ -1282,6 +1368,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &["Edit"],
|
menubar: &["Edit"],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
OpenLinkAtMouseCursor => CommandDef {
|
OpenLinkAtMouseCursor => CommandDef {
|
||||||
brief: "Open link at mouse cursor".into(),
|
brief: "Open link at mouse cursor".into(),
|
||||||
@ -1289,6 +1376,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Shell"],
|
menubar: &["Shell"],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
ShowLauncherArgs(_) | ShowLauncher => CommandDef {
|
ShowLauncherArgs(_) | ShowLauncher => CommandDef {
|
||||||
brief: "Show the launcher".into(),
|
brief: "Show the launcher".into(),
|
||||||
@ -1296,6 +1384,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &["Shell"],
|
menubar: &["Shell"],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
ShowTabNavigator => CommandDef {
|
ShowTabNavigator => CommandDef {
|
||||||
brief: "Navigate tabs".into(),
|
brief: "Navigate tabs".into(),
|
||||||
@ -1303,6 +1392,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActiveWindow],
|
args: &[ArgType::ActiveWindow],
|
||||||
menubar: &["Window", "Select Tab"],
|
menubar: &["Window", "Select Tab"],
|
||||||
|
icon: Some("cod_list_flat"),
|
||||||
},
|
},
|
||||||
DetachDomain(SpawnTabDomain::CurrentPaneDomain) => CommandDef {
|
DetachDomain(SpawnTabDomain::CurrentPaneDomain) => CommandDef {
|
||||||
brief: "Detach the domain of the active pane".into(),
|
brief: "Detach the domain of the active pane".into(),
|
||||||
@ -1310,6 +1400,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Shell", "Detach"],
|
menubar: &["Shell", "Detach"],
|
||||||
|
icon: Some("mdi_pipe_disconnected"),
|
||||||
},
|
},
|
||||||
DetachDomain(SpawnTabDomain::DefaultDomain) => CommandDef {
|
DetachDomain(SpawnTabDomain::DefaultDomain) => CommandDef {
|
||||||
brief: "Detach the default domain".into(),
|
brief: "Detach the default domain".into(),
|
||||||
@ -1317,6 +1408,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Shell", "Detach"],
|
menubar: &["Shell", "Detach"],
|
||||||
|
icon: Some("mdi_pipe_disconnected"),
|
||||||
},
|
},
|
||||||
DetachDomain(SpawnTabDomain::DomainName(name)) => CommandDef {
|
DetachDomain(SpawnTabDomain::DomainName(name)) => CommandDef {
|
||||||
brief: format!("Detach the `{name}` domain").into(),
|
brief: format!("Detach the `{name}` domain").into(),
|
||||||
@ -1324,6 +1416,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Shell", "Detach"],
|
menubar: &["Shell", "Detach"],
|
||||||
|
icon: Some("mdi_pipe_disconnected"),
|
||||||
},
|
},
|
||||||
DetachDomain(SpawnTabDomain::DomainId(id)) => CommandDef {
|
DetachDomain(SpawnTabDomain::DomainId(id)) => CommandDef {
|
||||||
brief: format!("Detach the domain with id {id}").into(),
|
brief: format!("Detach the domain with id {id}").into(),
|
||||||
@ -1331,6 +1424,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Shell", "Detach"],
|
menubar: &["Shell", "Detach"],
|
||||||
|
icon: Some("mdi_pipe_disconnected"),
|
||||||
},
|
},
|
||||||
OpenUri(uri) => match uri.as_ref() {
|
OpenUri(uri) => match uri.as_ref() {
|
||||||
"https://wezfurlong.org/wezterm/" => CommandDef {
|
"https://wezfurlong.org/wezterm/" => CommandDef {
|
||||||
@ -1339,6 +1433,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &["Help"],
|
menubar: &["Help"],
|
||||||
|
icon: Some("mdi_help"),
|
||||||
},
|
},
|
||||||
"https://github.com/wez/wezterm/discussions/" => CommandDef {
|
"https://github.com/wez/wezterm/discussions/" => CommandDef {
|
||||||
brief: "Discuss on GitHub".into(),
|
brief: "Discuss on GitHub".into(),
|
||||||
@ -1346,6 +1441,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &["Help"],
|
menubar: &["Help"],
|
||||||
|
icon: Some("oct_comment_discussion"),
|
||||||
},
|
},
|
||||||
"https://github.com/wez/wezterm/issues/" => CommandDef {
|
"https://github.com/wez/wezterm/issues/" => CommandDef {
|
||||||
brief: "Search or report issue on GitHub".into(),
|
brief: "Search or report issue on GitHub".into(),
|
||||||
@ -1353,6 +1449,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &["Help"],
|
menubar: &["Help"],
|
||||||
|
icon: Some("fa_ticket"),
|
||||||
},
|
},
|
||||||
_ => CommandDef {
|
_ => CommandDef {
|
||||||
brief: format!("Open {uri} in your browser").into(),
|
brief: format!("Open {uri} in your browser").into(),
|
||||||
@ -1360,6 +1457,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: Some("oct_browser"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
SendString(text) => CommandDef {
|
SendString(text) => CommandDef {
|
||||||
@ -1376,6 +1474,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: Some("mdi_keyboard_variant"),
|
||||||
},
|
},
|
||||||
SendKey(key) => CommandDef {
|
SendKey(key) => CommandDef {
|
||||||
brief: format!(
|
brief: format!(
|
||||||
@ -1391,6 +1490,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: Some("mdi_keyboard_variant"),
|
||||||
},
|
},
|
||||||
Nop => CommandDef {
|
Nop => CommandDef {
|
||||||
brief: "Does nothing".into(),
|
brief: "Does nothing".into(),
|
||||||
@ -1398,6 +1498,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
DisableDefaultAssignment => return None,
|
DisableDefaultAssignment => return None,
|
||||||
SelectTextAtMouseCursor(mode) => CommandDef {
|
SelectTextAtMouseCursor(mode) => CommandDef {
|
||||||
@ -1414,6 +1515,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
ExtendSelectionToMouseCursor(mode) => CommandDef {
|
ExtendSelectionToMouseCursor(mode) => CommandDef {
|
||||||
brief: format!(
|
brief: format!(
|
||||||
@ -1429,6 +1531,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
ClearSelection => CommandDef {
|
ClearSelection => CommandDef {
|
||||||
brief: "Clears the selection in the current pane".into(),
|
brief: "Clears the selection in the current pane".into(),
|
||||||
@ -1436,6 +1539,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
CompleteSelection(destination) => CommandDef {
|
CompleteSelection(destination) => CommandDef {
|
||||||
brief: format!("Completes selection, and copy {destination:?}").into(),
|
brief: format!("Completes selection, and copy {destination:?}").into(),
|
||||||
@ -1447,6 +1551,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
CompleteSelectionOrOpenLinkAtMouseCursor(destination) => CommandDef {
|
CompleteSelectionOrOpenLinkAtMouseCursor(destination) => CommandDef {
|
||||||
brief: format!(
|
brief: format!(
|
||||||
@ -1462,6 +1567,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
StartWindowDrag => CommandDef {
|
StartWindowDrag => CommandDef {
|
||||||
brief: "Requests a window drag operation from \
|
brief: "Requests a window drag operation from \
|
||||||
@ -1473,6 +1579,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: Some("mdi_drag"),
|
||||||
},
|
},
|
||||||
Multiple(actions) => {
|
Multiple(actions) => {
|
||||||
let mut brief = String::new();
|
let mut brief = String::new();
|
||||||
@ -1495,6 +1602,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SwitchToWorkspace {
|
SwitchToWorkspace {
|
||||||
@ -1514,6 +1622,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &["Window", "Workspace"],
|
menubar: &["Window", "Workspace"],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
SwitchToWorkspace {
|
SwitchToWorkspace {
|
||||||
name: Some(name),
|
name: Some(name),
|
||||||
@ -1532,6 +1641,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &["Window", "Workspace"],
|
menubar: &["Window", "Workspace"],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
SwitchToWorkspace {
|
SwitchToWorkspace {
|
||||||
name: Some(name),
|
name: Some(name),
|
||||||
@ -1550,6 +1660,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &["Window", "Workspace"],
|
menubar: &["Window", "Workspace"],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
SwitchToWorkspace {
|
SwitchToWorkspace {
|
||||||
name: None,
|
name: None,
|
||||||
@ -1560,6 +1671,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[],
|
args: &[],
|
||||||
menubar: &["Window", "Workspace"],
|
menubar: &["Window", "Workspace"],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
SwitchWorkspaceRelative(n) => {
|
SwitchWorkspaceRelative(n) => {
|
||||||
let (direction, amount) = if *n < 0 {
|
let (direction, amount) = if *n < 0 {
|
||||||
@ -1578,6 +1690,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Window", "Workspace"],
|
menubar: &["Window", "Workspace"],
|
||||||
|
icon: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ActivateKeyTable { name, .. } => CommandDef {
|
ActivateKeyTable { name, .. } => CommandDef {
|
||||||
@ -1586,6 +1699,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
PopKeyTable => CommandDef {
|
PopKeyTable => CommandDef {
|
||||||
brief: "Pop the current key table".into(),
|
brief: "Pop the current key table".into(),
|
||||||
@ -1593,6 +1707,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
AttachDomain(name) => CommandDef {
|
AttachDomain(name) => CommandDef {
|
||||||
brief: format!("Attach domain `{name}`").into(),
|
brief: format!("Attach domain `{name}`").into(),
|
||||||
@ -1600,6 +1715,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Shell", "Attach"],
|
menubar: &["Shell", "Attach"],
|
||||||
|
icon: Some("mdi_pipe"),
|
||||||
},
|
},
|
||||||
CopyMode(copy_mode) => CommandDef {
|
CopyMode(copy_mode) => CommandDef {
|
||||||
brief: format!("{copy_mode:?}").into(),
|
brief: format!("{copy_mode:?}").into(),
|
||||||
@ -1607,6 +1723,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Edit", "Copy Mode"],
|
menubar: &["Edit", "Copy Mode"],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
RotatePanes(direction) => CommandDef {
|
RotatePanes(direction) => CommandDef {
|
||||||
brief: format!("Rotate panes {direction:?}").into(),
|
brief: format!("Rotate panes {direction:?}").into(),
|
||||||
@ -1614,6 +1731,10 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Window", "Rotate Pane"],
|
menubar: &["Window", "Rotate Pane"],
|
||||||
|
icon: Some(match direction {
|
||||||
|
RotationDirection::Clockwise => "mdi_rotate_right",
|
||||||
|
RotationDirection::CounterClockwise => "mdi_rotate_left",
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
SplitPane(split) => {
|
SplitPane(split) => {
|
||||||
let direction = split.direction;
|
let direction = split.direction;
|
||||||
@ -1623,6 +1744,11 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &[],
|
menubar: &[],
|
||||||
|
icon: match split.direction {
|
||||||
|
PaneDirection::Up | PaneDirection::Down => Some("cod_split_vertical"),
|
||||||
|
PaneDirection::Left | PaneDirection::Right => Some("cod_split_horizontal"),
|
||||||
|
PaneDirection::Next | PaneDirection::Prev => None,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ResetTerminal => CommandDef {
|
ResetTerminal => CommandDef {
|
||||||
@ -1631,6 +1757,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![],
|
keys: vec![],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Shell"],
|
menubar: &["Shell"],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
ActivateCommandPalette => CommandDef {
|
ActivateCommandPalette => CommandDef {
|
||||||
brief: "Activate Command Palette".into(),
|
brief: "Activate Command Palette".into(),
|
||||||
@ -1638,6 +1765,7 @@ pub fn derive_command_from_key_assignment(action: &KeyAssignment) -> Option<Comm
|
|||||||
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "p".into())],
|
keys: vec![(Modifiers::CTRL.union(Modifiers::SHIFT), "p".into())],
|
||||||
args: &[ArgType::ActivePane],
|
args: &[ArgType::ActivePane],
|
||||||
menubar: &["Edit"],
|
menubar: &["Edit"],
|
||||||
|
icon: None,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@ use std::cell::{Ref, RefCell};
|
|||||||
use std::cmp::Ordering;
|
use std::cmp::Ordering;
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
|
use termwiz::nerdfonts::NERD_FONTS;
|
||||||
use wezterm_term::{KeyCode, KeyModifiers, MouseEvent};
|
use wezterm_term::{KeyCode, KeyModifiers, MouseEvent};
|
||||||
use window::color::LinearRgba;
|
use window::color::LinearRgba;
|
||||||
|
|
||||||
@ -221,6 +222,14 @@ impl CommandPalette {
|
|||||||
format!("{}: ", command.menubar.join(" | "))
|
format!("{}: ", command.menubar.join(" | "))
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let icon = match &command.icon {
|
||||||
|
Some(nf) => NERD_FONTS.get(nf).unwrap_or_else(|| {
|
||||||
|
log::error!("nerdfont {nf} not found in NERD_FONTS");
|
||||||
|
&'?'
|
||||||
|
}),
|
||||||
|
None => &' ',
|
||||||
|
};
|
||||||
|
|
||||||
let (bg, text) = if display_idx == selected_row {
|
let (bg, text) = if display_idx == selected_row {
|
||||||
(
|
(
|
||||||
term_window
|
term_window
|
||||||
@ -255,19 +264,26 @@ impl CommandPalette {
|
|||||||
};
|
};
|
||||||
|
|
||||||
elements.push(
|
elements.push(
|
||||||
Element::new(&font, ElementContent::Text(label))
|
Element::new(
|
||||||
.colors(ElementColors {
|
&font,
|
||||||
border: BorderColor::default(),
|
ElementContent::Children(vec![
|
||||||
bg,
|
Element::new(&font, ElementContent::Text(icon.to_string()))
|
||||||
text,
|
.min_width(Some(Dimension::Cells(2.))),
|
||||||
})
|
Element::new(&font, ElementContent::Text(label)),
|
||||||
.padding(BoxDimension {
|
]),
|
||||||
left: Dimension::Cells(0.25),
|
)
|
||||||
right: Dimension::Cells(0.25),
|
.colors(ElementColors {
|
||||||
top: Dimension::Cells(0.),
|
border: BorderColor::default(),
|
||||||
bottom: Dimension::Cells(0.),
|
bg,
|
||||||
})
|
text,
|
||||||
.display(DisplayType::Block),
|
})
|
||||||
|
.padding(BoxDimension {
|
||||||
|
left: Dimension::Cells(0.25),
|
||||||
|
right: Dimension::Cells(0.25),
|
||||||
|
top: Dimension::Cells(0.),
|
||||||
|
bottom: Dimension::Cells(0.),
|
||||||
|
})
|
||||||
|
.display(DisplayType::Block),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -331,7 +347,7 @@ impl CommandPalette {
|
|||||||
let size = term_window.terminal_size;
|
let size = term_window.terminal_size;
|
||||||
|
|
||||||
// Avoid covering the entire width
|
// Avoid covering the entire width
|
||||||
let desired_width = (size.cols / 3).max(80).min(size.cols);
|
let desired_width = (size.cols / 3).max(75).min(size.cols);
|
||||||
|
|
||||||
// Center it
|
// Center it
|
||||||
let avail_pixel_width =
|
let avail_pixel_width =
|
||||||
|
Loading…
Reference in New Issue
Block a user