From 51567ba6c3e41a51a73b439c31c836eb39850fed Mon Sep 17 00:00:00 2001 From: tcmal Date: Thu, 4 Jul 2024 22:31:07 +0100 Subject: raise windows when they are made floating --- src/clients/client.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/clients/client.rs') diff --git a/src/clients/client.rs b/src/clients/client.rs index 17cfd4f..d4e2e88 100644 --- a/src/clients/client.rs +++ b/src/clients/client.rs @@ -1,7 +1,7 @@ use xcb::{ x::{ ChangeProperty, ChangeWindowAttributes, ConfigWindow, ConfigureNotifyEvent, - ConfigureWindow, Cw, EventMask, MapWindow, SendEvent, SendEventDest, Window, + ConfigureWindow, Cw, EventMask, MapWindow, SendEvent, SendEventDest, StackMode, Window, }, VoidCookieChecked, Xid, }; @@ -113,7 +113,13 @@ impl Client { } /// Set the floating status. - pub fn set_floating(&mut self, floating: bool) { + pub fn set_floating(&mut self, conn: &Connection<'_>, floating: bool) { + if floating != self.floating { + conn.send_request(&ConfigureWindow { + window: self.window, + value_list: &[ConfigWindow::StackMode(StackMode::Above)], + }); + } self.floating = floating; } -- cgit v1.2.3