diff --git a/docs/meli.conf.5 b/docs/meli.conf.5 index 5984b40f..4d8fc741 100644 --- a/docs/meli.conf.5 +++ b/docs/meli.conf.5 @@ -680,6 +680,14 @@ Search within list of e-mails. Toggle visibility of side menu in mail list. .\" default value .Pq Em ` +.It Ic increase_sidebar +Increase sidebar width. +.\" default value +.Pq Em Ctrl-p +.It Ic decrease_sidebar +Decrease sidebar width. +.\" default value +.Pq Em Ctrl-o .El .sp .Em compact-listing diff --git a/src/components/mail/listing.rs b/src/components/mail/listing.rs index 9a95a6d6..1cd5c0e6 100644 --- a/src/components/mail/listing.rs +++ b/src/components/mail/listing.rs @@ -1031,6 +1031,24 @@ impl Component for Listing { self.menu_visibility = !self.menu_visibility; self.set_dirty(true); } + UIEvent::Input(ref k) + if shortcut!(k == shortcuts[Listing::DESCRIPTION]["increase_sidebar"]) => + { + self.ratio = self.ratio.saturating_sub(2); + self.prev_ratio = self.prev_ratio.saturating_sub(2); + self.menu_width = WidgetWidth::Unset; + self.set_dirty(true); + } + UIEvent::Input(ref k) + if shortcut!(k == shortcuts[Listing::DESCRIPTION]["decrease_sidebar"]) => + { + self.ratio += 2; + self.ratio = std::cmp::min(100, self.ratio); + self.prev_ratio += 2; + self.prev_ratio = std::cmp::min(100, self.prev_ratio); + self.menu_width = WidgetWidth::Unset; + self.set_dirty(true); + } _ => {} } diff --git a/src/conf/shortcuts.rs b/src/conf/shortcuts.rs index 245ab318..f82aee82 100644 --- a/src/conf/shortcuts.rs +++ b/src/conf/shortcuts.rs @@ -184,6 +184,8 @@ shortcut_key_values! { "listing", diff_modifier |> "Difference modifier." |> Key::Ctrl('d'), intersection_modifier |> "Intersection modifier." |> Key::Ctrl('i'), select_entry |> "Select thread entry." |> Key::Char('v'), + increase_sidebar |> "Increase sidebar width." |> Key::Ctrl('p'), + decrease_sidebar |> "Decrease sidebar width." |> Key::Ctrl('o'), toggle_menu_visibility |> "Toggle visibility of side menu in mail list." |> Key::Char('`') } }