From 7b24474ef23933fcb9fdf51389e0ae991784edf9 Mon Sep 17 00:00:00 2001 From: LGUG2Z Date: Sat, 2 Mar 2024 19:30:47 -0800 Subject: [PATCH] fix(wm): prevent ghost active border on empty ws This commit ensures that a "ghost border" will not be drawn when switching to empty workspaces if active_window_border = true. --- komorebi/src/window_manager.rs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/komorebi/src/window_manager.rs b/komorebi/src/window_manager.rs index 0f0a2879..185fb635 100644 --- a/komorebi/src/window_manager.rs +++ b/komorebi/src/window_manager.rs @@ -212,12 +212,16 @@ impl WindowManager { #[tracing::instrument(skip(self))] pub fn show_border(&self) -> Result<()> { - let foreground = WindowsApi::foreground_window()?; - let foreground_window = Window { hwnd: foreground }; + if self.focused_container().is_ok() { + let foreground = WindowsApi::foreground_window()?; + let foreground_window = Window { hwnd: foreground }; - let border = Border::from(BORDER_HWND.load(Ordering::SeqCst)); - border.set_position(foreground_window, true)?; - WindowsApi::invalidate_border_rect() + let border = Border::from(BORDER_HWND.load(Ordering::SeqCst)); + border.set_position(foreground_window, true)?; + WindowsApi::invalidate_border_rect()?; + } + + Ok(()) } #[tracing::instrument(skip(self))]