aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-01-13 08:16:09 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-01-13 08:17:53 +0400
commita52bf92ae1d5a9a8752784419f61c3ea5ed93172 (patch)
tree2af4c025a2cac5d423b8fd9ed54663a634fe17ae /src
parent952ff029828a3f27fdc1ac456ffc3cdb98685b1a (diff)
downloadniri-a52bf92ae1d5a9a8752784419f61c3ea5ed93172.tar.gz
niri-a52bf92ae1d5a9a8752784419f61c3ea5ed93172.tar.bz2
niri-a52bf92ae1d5a9a8752784419f61c3ea5ed93172.zip
Add missing screen redraws on focus changes
The window isn't guaranteed to commit a buffer.
Diffstat (limited to 'src')
-rw-r--r--src/input.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/input.rs b/src/input.rs
index f003ad72..c83ebfac 100644
--- a/src/input.rs
+++ b/src/input.rs
@@ -349,6 +349,8 @@ impl State {
let focus = self.niri.layout.focus().cloned();
if let Some(window) = focus {
self.niri.layout.toggle_fullscreen(&window);
+ // FIXME: granular
+ self.niri.queue_redraw_all();
}
}
Action::SwitchLayout(action) => {
@@ -402,21 +404,33 @@ impl State {
}
Action::FocusColumnLeft => {
self.niri.layout.focus_left();
+ // FIXME: granular
+ self.niri.queue_redraw_all();
}
Action::FocusColumnRight => {
self.niri.layout.focus_right();
+ // FIXME: granular
+ self.niri.queue_redraw_all();
}
Action::FocusColumnFirst => {
self.niri.layout.focus_column_first();
+ // FIXME: granular
+ self.niri.queue_redraw_all();
}
Action::FocusColumnLast => {
self.niri.layout.focus_column_last();
+ // FIXME: granular
+ self.niri.queue_redraw_all();
}
Action::FocusWindowDown => {
self.niri.layout.focus_down();
+ // FIXME: granular
+ self.niri.queue_redraw_all();
}
Action::FocusWindowUp => {
self.niri.layout.focus_up();
+ // FIXME: granular
+ self.niri.queue_redraw_all();
}
Action::FocusWindowOrWorkspaceDown => {
self.niri.layout.focus_window_or_workspace_down();