diff --git a/src/app.rs b/src/app.rs index ee21a03..db22858 100644 --- a/src/app.rs +++ b/src/app.rs @@ -2629,6 +2629,11 @@ impl Application for App { }, Message::ModifiersChanged(modifiers) => { self.modifiers = modifiers; + let entity = self.tab_model.active(); + return self.update(Message::TabMessage( + Some(entity), + tab::Message::ModifiersChanged(modifiers), + )); } Message::MounterItems(mounter_key, mounter_items) => { // Check for unmounted folders diff --git a/src/dialog.rs b/src/dialog.rs index e8b2925..442d4cc 100644 --- a/src/dialog.rs +++ b/src/dialog.rs @@ -1292,6 +1292,9 @@ impl Application for App { } Message::ModifiersChanged(modifiers) => { self.modifiers = modifiers; + return self.update(Message::TabMessage(tab::Message::ModifiersChanged( + modifiers, + ))); } Message::MounterItems(mounter_key, mounter_items) => { // Check for unmounted folders diff --git a/src/tab.rs b/src/tab.rs index f7ccdd8..40c8901 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -1257,6 +1257,7 @@ pub enum Message { ItemUp, Location(Location), LocationUp, + ModifiersChanged(Modifiers), Open(Option), RightClick(Option), MiddleClick(usize), @@ -1898,6 +1899,7 @@ pub struct Tab { select_range: Option<(usize, usize)>, clicked: Option, selected_clicked: bool, + modifiers: Modifiers, last_right_click: Option, search_context: Option, global_cursor_position: Option, @@ -1994,6 +1996,7 @@ impl Tab { clicked: None, dnd_hovered: None, selected_clicked: false, + modifiers: Modifiers::default(), last_right_click: None, search_context: None, global_cursor_position: None, @@ -3034,6 +3037,9 @@ impl Tab { } } } + Message::ModifiersChanged(modifiers) => { + self.modifiers = modifiers; + } Message::Open(path_opt) => { match path_opt { Some(path) => {