oxwm

https://git.tonybtw.com/oxwm.git git://git.tonybtw.com/oxwm.git

consolidated border removal code

Commit
0b92decff08121a16b00c4cd5cd032a22cdb767f
Parent
19dcad1
Author
tonybtw <tonybtw@tonybtw.com>
Date
2025-11-17 00:30:53

Diff

diff --git a/src/window_manager.rs b/src/window_manager.rs
index ee9ee69..b424f08 100644
--- a/src/window_manager.rs
+++ b/src/window_manager.rs
@@ -1579,30 +1579,25 @@ impl WindowManager {
             )?;
 
             self.fullscreen_windows.insert(window);
-
-            self.connection.configure_window(
-                window,
-                &x11rb::protocol::xproto::ConfigureWindowAux::new()
-                    .border_width(0),
-            )?;
-
             self.floating_windows.insert(window);
 
             let monitor_idx = *self.window_monitor.get(&window).unwrap_or(&self.selected_monitor);
             let monitor = &self.monitors[monitor_idx];
 
+            if self.show_bar {
+                if let Some(bar) = self.bars.get(monitor_idx) {
+                    self.connection.unmap_window(bar.window())?;
+                }
+            }
+
             self.connection.configure_window(
                 window,
                 &x11rb::protocol::xproto::ConfigureWindowAux::new()
+                    .border_width(0)
                     .x(monitor.x)
                     .y(monitor.y)
                     .width(monitor.width as u32)
-                    .height(monitor.height as u32),
-            )?;
-
-            self.connection.configure_window(
-                window,
-                &x11rb::protocol::xproto::ConfigureWindowAux::new()
+                    .height(monitor.height as u32)
                     .stack_mode(x11rb::protocol::xproto::StackMode::ABOVE),
             )?;
 
@@ -1630,6 +1625,13 @@ impl WindowManager {
                     .border_width(self.config.border_width),
             )?;
 
+            let monitor_idx = *self.window_monitor.get(&window).unwrap_or(&self.selected_monitor);
+            if self.show_bar {
+                if let Some(bar) = self.bars.get(monitor_idx) {
+                    self.connection.map_window(bar.window())?;
+                }
+            }
+
             self.apply_layout()?;
         }