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

commitf1fe346f0de0d37d6a2855b96951cd12abaeb251
parent0bb86b5b3b
authorLucas Galante <[email protected]>
date2026-06-29 16:52
Remove legacy layout fallback routines in server

 src/server/config.rs | 51 +++++++++++++++++----------------------------------
 src/server/window.rs |  5 +++++
 2 files changed, 22 insertions(+), 34 deletions(-)

diff --git a/src/server/config.rs b/src/server/config.rs
index 43c8c94..2e1b608 100644
--- a/src/server/config.rs
+++ b/src/server/config.rs
@@ -941,47 +941,30 @@ fn parse_kdl_config(content: &str) -> Result<Config, String> {
         layout.gap_bottom = get_child_arg_i64(node, "gap_bottom", default_gap_bottom());
         layout.cascade_offset = get_child_arg_i64(node, "cascade_offset", default_cascade_offset());
         layout.bar_height = get_child_arg_i64(node, "bar_height", default_bar_height());
-        layout.border_width = get_child_arg_i64(node, "border_width", default_border_width());
-        layout.fullscreen_border_width = get_child_arg_i64(node, "fullscreen_border_width", default_fullscreen_border_width());
-        layout.cascade_border_width = get_child_arg_i64(node, "cascade_border_width", default_cascade_border_width());
-        layout.grid_border_width = get_child_arg_i64(node, "grid_border_width", default_grid_border_width());
-        layout.floating_border_width = get_child_arg_i64(node, "floating_border_width", default_floating_border_width());
-        layout.border_color = get_child_arg_string(node, "border_color", &default_border_color());
-        layout.background_color = get_child_arg_string(node, "background_color", &default_background_color());
-        layout.border_font_size = get_child_arg_i64(node, "border_font_size", default_border_font_size());
-        layout.transition_duration = get_child_arg_i64(node, "transition_duration", default_transition_duration());
         layout.grid_gap = get_child_arg_i64(node, "grid_gap", default_grid_gap());
-        layout.border_blur = get_child_arg_bool(node, "border_blur", default_border_blur());
-        layout.window_blur = get_child_arg_bool(node, "window_blur", default_window_blur());
-        layout.overlay_behavior = get_child_arg_string(node, "overlay_behavior", &default_overlay_behavior());
-        layout.overlay_width = get_child_arg_i64(node, "overlay_width", default_overlay_width());
-        layout.overlay_position = get_child_arg_string(node, "overlay_position", &default_overlay_position());
-        layout.overlay_border_gap = get_child_arg_i64(node, "overlay_border_gap", default_overlay_border_gap());
-        layout.status_normal_color = get_child_arg_string(node, "status_normal_color", &default_status_normal_color());
-        layout.window_opacity = get_child_arg_bool(node, "window_opacity", default_window_opacity());
     }
     
     if let Some(node) = doc.nodes().iter().find(|n| n.name().value() == "style") {
-        layout.border_color = get_nested_prop_string(node, "border", "color", &layout.border_color);
-        layout.border_width = get_nested_prop_i64(node, "border", "width", layout.border_width);
-        layout.border_blur = get_nested_prop_bool(node, "border", "blur", layout.border_blur);
-        layout.border_font_size = get_nested_prop_i64(node, "border", "font_size", layout.border_font_size);
-        layout.fullscreen_border_width = get_nested_prop_i64(node, "border", "fullscreen_border_width", layout.fullscreen_border_width);
-        layout.cascade_border_width = get_nested_prop_i64(node, "border", "cascade_border_width", layout.cascade_border_width);
-        layout.grid_border_width = get_nested_prop_i64(node, "border", "grid_border_width", layout.grid_border_width);
-        layout.floating_border_width = get_nested_prop_i64(node, "border", "floating_border_width", layout.floating_border_width);
+        layout.border_color = get_nested_prop_string(node, "border", "color", &default_border_color());
+        layout.border_width = get_nested_prop_i64(node, "border", "width", default_border_width());
+        layout.border_blur = get_nested_prop_bool(node, "border", "blur", default_border_blur());
+        layout.border_font_size = get_nested_prop_i64(node, "border", "font_size", default_border_font_size());
+        layout.fullscreen_border_width = get_nested_prop_i64(node, "border", "fullscreen_border_width", default_fullscreen_border_width());
+        layout.cascade_border_width = get_nested_prop_i64(node, "border", "cascade_border_width", default_cascade_border_width());
+        layout.grid_border_width = get_nested_prop_i64(node, "border", "grid_border_width", default_grid_border_width());
+        layout.floating_border_width = get_nested_prop_i64(node, "border", "floating_border_width", default_floating_border_width());
         
-        layout.background_color = get_nested_prop_string(node, "background", "color", &layout.background_color);
-        layout.transition_duration = get_nested_prop_i64(node, "window", "transition_duration", layout.transition_duration);
-        layout.window_blur = get_nested_prop_bool(node, "window", "blur", layout.window_blur);
-        layout.window_opacity = get_nested_prop_bool(node, "window", "opacity", layout.window_opacity);
+        layout.background_color = get_nested_prop_string(node, "background", "color", &default_background_color());
+        layout.transition_duration = get_nested_prop_i64(node, "window", "transition_duration", default_transition_duration());
+        layout.window_blur = get_nested_prop_bool(node, "window", "blur", default_window_blur());
+        layout.window_opacity = get_nested_prop_bool(node, "window", "opacity", default_window_opacity());
         
-        layout.overlay_behavior = get_nested_prop_string(node, "overlay", "behavior", &layout.overlay_behavior);
-        layout.overlay_width = get_nested_prop_i64(node, "overlay", "width", layout.overlay_width);
-        layout.overlay_position = get_nested_prop_string(node, "overlay", "position", &layout.overlay_position);
-        layout.overlay_border_gap = get_nested_prop_i64(node, "overlay", "border_gap", layout.overlay_border_gap);
+        layout.overlay_behavior = get_nested_prop_string(node, "overlay", "behavior", &default_overlay_behavior());
+        layout.overlay_width = get_nested_prop_i64(node, "overlay", "width", default_overlay_width());
+        layout.overlay_position = get_nested_prop_string(node, "overlay", "position", &default_overlay_position());
+        layout.overlay_border_gap = get_nested_prop_i64(node, "overlay", "border_gap", default_overlay_border_gap());
         
-        layout.status_normal_color = get_nested_prop_string(node, "status", "normal_color", &layout.status_normal_color);
+        layout.status_normal_color = get_nested_prop_string(node, "status", "normal_color", &default_status_normal_color());
     }
 
     // 2. env
diff --git a/src/server/window.rs b/src/server/window.rs
index 2a57993..3772eba 100644
--- a/src/server/window.rs
+++ b/src/server/window.rs
@@ -803,6 +803,11 @@ impl Window {
                     (*(*window).server).wm.focus_next_visible_window(seat);
                 }
             }
+            if let Some(ref op) = (*seat).op {
+                if op.window_ptr == window {
+                    (*seat).op = None;
+                }
+            }
             curr = next;
         }