Add missing screen redraws on focus changes

The window isn't guaranteed to commit a buffer.
This commit is contained in:
Ivan Molodetskikh
2024-01-13 08:16:09 +04:00
parent 952ff02982
commit a52bf92ae1
+14
View File
@@ -349,6 +349,8 @@ impl State {
let focus = self.niri.layout.focus().cloned(); let focus = self.niri.layout.focus().cloned();
if let Some(window) = focus { if let Some(window) = focus {
self.niri.layout.toggle_fullscreen(&window); self.niri.layout.toggle_fullscreen(&window);
// FIXME: granular
self.niri.queue_redraw_all();
} }
} }
Action::SwitchLayout(action) => { Action::SwitchLayout(action) => {
@@ -402,21 +404,33 @@ impl State {
} }
Action::FocusColumnLeft => { Action::FocusColumnLeft => {
self.niri.layout.focus_left(); self.niri.layout.focus_left();
// FIXME: granular
self.niri.queue_redraw_all();
} }
Action::FocusColumnRight => { Action::FocusColumnRight => {
self.niri.layout.focus_right(); self.niri.layout.focus_right();
// FIXME: granular
self.niri.queue_redraw_all();
} }
Action::FocusColumnFirst => { Action::FocusColumnFirst => {
self.niri.layout.focus_column_first(); self.niri.layout.focus_column_first();
// FIXME: granular
self.niri.queue_redraw_all();
} }
Action::FocusColumnLast => { Action::FocusColumnLast => {
self.niri.layout.focus_column_last(); self.niri.layout.focus_column_last();
// FIXME: granular
self.niri.queue_redraw_all();
} }
Action::FocusWindowDown => { Action::FocusWindowDown => {
self.niri.layout.focus_down(); self.niri.layout.focus_down();
// FIXME: granular
self.niri.queue_redraw_all();
} }
Action::FocusWindowUp => { Action::FocusWindowUp => {
self.niri.layout.focus_up(); self.niri.layout.focus_up();
// FIXME: granular
self.niri.queue_redraw_all();
} }
Action::FocusWindowOrWorkspaceDown => { Action::FocusWindowOrWorkspaceDown => {
self.niri.layout.focus_window_or_workspace_down(); self.niri.layout.focus_window_or_workspace_down();