pub struct MasterLayoutKeyBindings {
pub quit: Vec<(KeyCode, KeyModifiers)>,
pub clear_selection: (KeyCode, KeyModifiers),
pub deselect_pane: (KeyCode, KeyModifiers),
pub switch_tabs: Vec<(KeyCode, KeyModifiers)>,
pub navigate_left: (KeyCode, KeyModifiers),
pub navigate_right: (KeyCode, KeyModifiers),
pub navigate_up: (KeyCode, KeyModifiers),
pub navigate_down: (KeyCode, KeyModifiers),
pub focus_pane: (KeyCode, KeyModifiers),
pub exit_focus_mode: (KeyCode, KeyModifiers),
pub copy_selection: (KeyCode, KeyModifiers),
}master-layout only.Expand description
Configurable key bindings for MasterLayout
This struct allows customization of all keyboard shortcuts used by MasterLayout. Each field represents a specific action and contains a tuple of (KeyCode, KeyModifiers).
§Example
use ratatui_toolkit::master_layout::MasterLayoutKeyBindings;
use crossterm::event::{KeyCode, KeyModifiers};
let mut bindings = MasterLayoutKeyBindings::default();
// Change quit key from 'q' to 'x'
bindings.quit = vec![(KeyCode::Char('x'), KeyModifiers::empty())];Fields§
§quit: Vec<(KeyCode, KeyModifiers)>Keys to quit the application (default: q, Q)
clear_selection: (KeyCode, KeyModifiers)Key to clear selection in Layout Mode (default: Esc)
deselect_pane: (KeyCode, KeyModifiers)Key to deselect pane in Layout Mode (default: Ctrl+A)
switch_tabs: Vec<(KeyCode, KeyModifiers)>Keys to switch tabs (default: 1-9)
Key to navigate left (default: h)
Key to navigate right (default: l)
Key to navigate up (default: k)
Key to navigate down (default: j)
focus_pane: (KeyCode, KeyModifiers)Key to focus the selected pane (default: Enter)
exit_focus_mode: (KeyCode, KeyModifiers)Key to exit focus mode (default: Ctrl+A)
copy_selection: (KeyCode, KeyModifiers)Key to copy selection (default: Ctrl+Shift+C)
Implementations§
Source§impl MasterLayoutKeyBindings
impl MasterLayoutKeyBindings
Sourcepub fn get_tab_switch_index(&self, key: &KeyEvent) -> Option<usize>
pub fn get_tab_switch_index(&self, key: &KeyEvent) -> Option<usize>
Check if the given key event matches any tab switch key and return the tab index (0-based)
Source§impl MasterLayoutKeyBindings
impl MasterLayoutKeyBindings
Sourcepub fn is_clear_selection(&self, key: &KeyEvent) -> bool
pub fn is_clear_selection(&self, key: &KeyEvent) -> bool
Check if the given key event matches the clear selection key
Source§impl MasterLayoutKeyBindings
impl MasterLayoutKeyBindings
Sourcepub fn is_copy_selection(&self, key: &KeyEvent) -> bool
pub fn is_copy_selection(&self, key: &KeyEvent) -> bool
Check if the given key event matches the copy selection key
Source§impl MasterLayoutKeyBindings
impl MasterLayoutKeyBindings
Sourcepub fn is_deselect_pane(&self, key: &KeyEvent) -> bool
pub fn is_deselect_pane(&self, key: &KeyEvent) -> bool
Check if the given key event matches the deselect pane key
Source§impl MasterLayoutKeyBindings
impl MasterLayoutKeyBindings
Sourcepub fn is_exit_focus_mode(&self, key: &KeyEvent) -> bool
pub fn is_exit_focus_mode(&self, key: &KeyEvent) -> bool
Check if the given key event matches the exit focus mode key
Source§impl MasterLayoutKeyBindings
impl MasterLayoutKeyBindings
Sourcepub fn is_focus_pane(&self, key: &KeyEvent) -> bool
pub fn is_focus_pane(&self, key: &KeyEvent) -> bool
Check if the given key event matches the focus pane key
Source§impl MasterLayoutKeyBindings
impl MasterLayoutKeyBindings
Check if the given key event matches the navigate down key
Source§impl MasterLayoutKeyBindings
impl MasterLayoutKeyBindings
Check if the given key event matches the navigate left key
Source§impl MasterLayoutKeyBindings
impl MasterLayoutKeyBindings
Check if the given key event matches the navigate right key
Source§impl MasterLayoutKeyBindings
impl MasterLayoutKeyBindings
Check if the given key event matches the navigate up key
Trait Implementations§
Source§impl Clone for MasterLayoutKeyBindings
impl Clone for MasterLayoutKeyBindings
Source§fn clone(&self) -> MasterLayoutKeyBindings
fn clone(&self) -> MasterLayoutKeyBindings
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MasterLayoutKeyBindings
impl Debug for MasterLayoutKeyBindings
Auto Trait Implementations§
impl Freeze for MasterLayoutKeyBindings
impl RefUnwindSafe for MasterLayoutKeyBindings
impl Send for MasterLayoutKeyBindings
impl Sync for MasterLayoutKeyBindings
impl Unpin for MasterLayoutKeyBindings
impl UnwindSafe for MasterLayoutKeyBindings
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more