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

commit172006d880ebc613e3d70f49cf1060b19a7a0564
parentaf9440bbc4
authorLucas Galante <[email protected]>
date2026-07-17 22:17
fix: keep blur during viewport pan for all cce-* apps

Previously only cce-data-editor kept its backdrop blur during active
viewport zoom/pan; every other cce-* app had blur disabled for the
duration of the motion. Because these apps use translucent backgrounds,
toggling blur off/on across pan frames made them flicker. Broaden the
exception to all cce-* app_ids so the blur stays stable through the pan.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>

 src/server/window.rs | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/server/window.rs b/src/server/window.rs
index 835ccb3..da0cacb 100644
--- a/src/server/window.rs
+++ b/src/server/window.rs
@@ -2098,9 +2098,10 @@ impl Window {
             ffi::river_scene_node_set_position_if_changed(self.popup_tree as *mut ffi::wlr_scene_node, self.box_geom.x, self.box_geom.y);
 
             // Disable backdrop blur during active viewport zoom/pan for maximum performance,
-            // EXCEPT for the data editor window (app_id: "cce-data-editor") which we want to keep blurred.
+            // EXCEPT for cce-* apps, which we keep blurred during the pan so their translucent
+            // backgrounds don't flicker as blur toggles on/off across motion frames.
             let app_id = self.get_app_id_string().unwrap_or_default();
-            if app_id.starts_with("cce-data-editor") {
+            if app_id.starts_with("cce-") {
                 let is_status = self.tiling_mode == crate::tiling::TilingMode::Status ||
                                 app_id.starts_with("cce-status");
                 let is_cce_app = app_id.starts_with("cce-");