aboutsummaryrefslogtreecommitdiff
path: root/src/layout
diff options
context:
space:
mode:
Diffstat (limited to 'src/layout')
-rw-r--r--src/layout/floating.rs1
-rw-r--r--src/layout/mod.rs4
-rw-r--r--src/layout/scrolling.rs1
3 files changed, 6 insertions, 0 deletions
diff --git a/src/layout/floating.rs b/src/layout/floating.rs
index a04c9b94..b3647844 100644
--- a/src/layout/floating.rs
+++ b/src/layout/floating.rs
@@ -1029,6 +1029,7 @@ impl<W: LayoutElement> FloatingSpace<W> {
let win = tile.window_mut();
win.set_active_in_column(true);
+ win.set_floating(true);
let is_active = is_active && Some(win.id()) == active.as_ref();
win.set_activated(is_active);
diff --git a/src/layout/mod.rs b/src/layout/mod.rs
index 8f512c3b..2b12c7bb 100644
--- a/src/layout/mod.rs
+++ b/src/layout/mod.rs
@@ -186,6 +186,7 @@ pub trait LayoutElement {
fn set_offscreen_element_id(&self, id: Option<Id>);
fn set_activated(&mut self, active: bool);
fn set_active_in_column(&mut self, active: bool);
+ fn set_floating(&mut self, floating: bool);
fn set_bounds(&self, bounds: Size<i32, Logical>);
fn configure_intent(&self) -> ConfigureIntent;
@@ -3746,6 +3747,7 @@ impl<W: LayoutElement> Layout<W> {
let win = move_.tile.window_mut();
win.set_active_in_column(true);
+ win.set_floating(move_.is_floating);
win.set_activated(true);
win.set_interactive_resize(None);
@@ -4074,6 +4076,8 @@ mod tests {
fn set_active_in_column(&mut self, _active: bool) {}
+ fn set_floating(&mut self, _floating: bool) {}
+
fn is_fullscreen(&self) -> bool {
false
}
diff --git a/src/layout/scrolling.rs b/src/layout/scrolling.rs
index 5b13d0c6..5d1b8234 100644
--- a/src/layout/scrolling.rs
+++ b/src/layout/scrolling.rs
@@ -2614,6 +2614,7 @@ impl<W: LayoutElement> ScrollingSpace<W> {
let active_in_column = col.active_tile_idx == tile_idx;
win.set_active_in_column(active_in_column);
+ win.set_floating(false);
let active = is_active && self.active_column_idx == col_idx && active_in_column;
win.set_activated(active);