git.lucas.co / cce-compositor
Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git

commit19cb24b8b4a7dd44693190b218cec5627e8d39c8
parentc61e4beec3
authorLucas Galante <[email protected]>
date2026-06-22 14:34
fix: reset window scale to 1.0 when exiting expose mode

 src/server/window_manager.rs | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/server/window_manager.rs b/src/server/window_manager.rs
index 4dd7c9a..debb681 100644
--- a/src/server/window_manager.rs
+++ b/src/server/window_manager.rs
@@ -652,6 +652,14 @@ impl WindowManager {
             let aid = (*win_ptr).get_app_id_string().unwrap_or_else(|| "None".to_string());
             log::info!("  window #{}: title={:?}, app_id={:?}, state={:?}, closed={}", idx, title, aid, (*win_ptr).state, (*win_ptr).closed);
         }
+
+        if !self.expose_active {
+            for &win_ptr in self.windows.iter() {
+                if !win_ptr.is_null() {
+                    (*win_ptr).scale = 1.0;
+                }
+            }
+        }
         
         let outputs_list = &mut (*self.server).om.outputs as *mut ffi::wl_list as *mut WlList;
         let mut curr_out = (*outputs_list).next;