aboutsummaryrefslogtreecommitdiff
path: root/src/layout/scrolling.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/layout/scrolling.rs')
-rw-r--r--src/layout/scrolling.rs11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/layout/scrolling.rs b/src/layout/scrolling.rs
index 1b4d91c5..0c70fc7a 100644
--- a/src/layout/scrolling.rs
+++ b/src/layout/scrolling.rs
@@ -3458,7 +3458,7 @@ impl<W: LayoutElement> ScrollingSpace<W> {
self.interactive_resize = None;
}
- pub fn refresh(&mut self, is_active: bool) {
+ pub fn refresh(&mut self, is_active: bool, is_focused: bool) {
for (col_idx, col) in self.columns.iter_mut().enumerate() {
let mut col_resize_data = None;
if let Some(resize) = &self.interactive_resize {
@@ -3503,11 +3503,14 @@ impl<W: LayoutElement> ScrollingSpace<W> {
win.set_active_in_column(active_in_column);
win.set_floating(false);
- let active = is_active
- && self.active_column_idx == col_idx
+ let mut active = is_active && self.active_column_idx == col_idx;
+ if self.options.deactivate_unfocused_windows {
+ active &= active_in_column && is_focused;
+ } else {
// In tabbed mode, all tabs have activated state to reduce unnecessary
// animations when switching tabs.
- && (active_in_column || is_tabbed);
+ active &= active_in_column || is_tabbed;
+ }
win.set_activated(active);
win.set_interactive_resize(col_resize_data);