Browse Source

Add configurable shortcut for 'quit'

Quit ('q' button) was hardcoded, switch to configurable shortcut setting
instead.
master
Manos Pitsidianakis 2 weeks ago
parent
commit
76f8bdc558
Signed by: epilys GPG Key ID: 73627C2F690DF710
4 changed files with 11 additions and 2 deletions
  1. +4
    -0
      docs/meli.conf.5
  2. +2
    -1
      src/bin.rs
  3. +1
    -0
      src/conf/shortcuts.rs
  4. +4
    -1
      src/state.rs

+ 4
- 0
docs/meli.conf.5 View File

@ -472,6 +472,10 @@ exit_thread = 'i'
Toggle help and shortcuts view.
.\" default value
.Pq Em \&?
.It Ic quit
Quit application.
.\" default value
.Pq Ql Em q
.It Ic enter_command_mode
Enter
.Em COMMAND

+ 2
- 1
src/bin.rs View File

@ -375,6 +375,7 @@ fn run_app(opt: Opt) -> Result<()> {
.general
.enter_command_mode
.clone();
let quit_key: Key = state.context.settings.shortcuts.general.quit.clone();
/* Keep track of the input mode. See UIMode for details */
'main: loop {
@ -421,7 +422,7 @@ fn run_app(opt: Opt) -> Result<()> {
match state.mode {
UIMode::Normal => {
match k {
Key::Char('q') | Key::Char('Q') => {
_ if k == quit_key => {
if state.can_quit_cleanly() {
drop(state);
break 'main;

+ 1
- 0
src/conf/shortcuts.rs View File

@ -216,6 +216,7 @@ shortcut_key_values! { "general",
pub struct GeneralShortcuts {
toggle_help |> "Toggle help and shortcuts view." |> Key::Char('?'),
enter_command_mode |> "Enter COMMAND mode." |> Key::Char(':'),
quit |> "Quit meli." |> Key::Char('q'),
go_to_tab |> "Go to the nth tab" |> Key::Alt('n'),
next_tab |> "Next tab." |> Key::Char('T'),
scroll_right |> "Generic scroll right (catch-all setting)" |> Key::Right,

+ 4
- 1
src/state.rs View File

@ -1034,7 +1034,10 @@ impl State {
Quit => {
self.context
.sender
.send(ThreadEvent::Input((Key::Char('q'), vec![b'q'])))
.send(ThreadEvent::Input((
self.context.settings.shortcuts.general.quit.clone(),
vec![],
)))
.unwrap();
}
v => {

Loading…
Cancel
Save