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

commita6b2837857480df85afefeb8d2c65f35fc774da2
parent592b6e297e
authorLucas Galante <[email protected]>
date2026-06-27 19:09
Remove all visible server-side borders and disable special Wine/Proton rules

 src/server/config.rs         | 16 ++++++++--------
 src/server/window.rs         | 25 ++-----------------------
 src/server/window_manager.rs |  2 +-
 3 files changed, 11 insertions(+), 32 deletions(-)

diff --git a/src/server/config.rs b/src/server/config.rs
index 884ad5b..082947a 100644
--- a/src/server/config.rs
+++ b/src/server/config.rs
@@ -55,11 +55,11 @@ impl Default for Layout {
             gap_bottom: 48,
             cascade_offset: 20,
             bar_height: 24,
-            border_width: 6,
+            border_width: 0,
             fullscreen_border_width: 0,
-            cascade_border_width: 6,
-            grid_border_width: 6,
-            floating_border_width: 6,
+            cascade_border_width: 0,
+            grid_border_width: 0,
+            floating_border_width: 0,
             border_r: 0x3E3E3E3Eu32,
             border_g: 0x3E3E3E3Eu32,
             border_b: 0x3E3E3E3Eu32,
@@ -393,11 +393,11 @@ fn default_gap_right() -> i64 { 48 }
 fn default_gap_bottom() -> i64 { 48 }
 fn default_cascade_offset() -> i64 { 20 }
 fn default_bar_height() -> i64 { 24 }
-fn default_border_width() -> i64 { 6 }
+fn default_border_width() -> i64 { 0 }
 fn default_fullscreen_border_width() -> i64 { 0 }
-fn default_cascade_border_width() -> i64 { 6 }
-fn default_grid_border_width() -> i64 { 6 }
-fn default_floating_border_width() -> i64 { 6 }
+fn default_cascade_border_width() -> i64 { 0 }
+fn default_grid_border_width() -> i64 { 0 }
+fn default_floating_border_width() -> i64 { 0 }
 fn default_border_color() -> String { "#3e3e3e".to_string() }
 fn default_background_color() -> String { "#0a0a0a".to_string() }
 fn default_border_font_size() -> i64 { 11 }
diff --git a/src/server/window.rs b/src/server/window.rs
index 174a11b..87b4e4f 100644
--- a/src/server/window.rs
+++ b/src/server/window.rs
@@ -261,28 +261,7 @@ pub struct Window {
 
 impl Window {
     pub unsafe fn is_wine(&self) -> bool {
-        match self.impl_type {
-            WindowImpl::Xwayland(xwindow) => {
-                if xwindow.is_null() {
-                    return false;
-                }
-                let class_ptr = (*(*xwindow).xsurface).class;
-                let class = if class_ptr.is_null() { "" } else { std::ffi::CStr::from_ptr(class_ptr).to_str().unwrap_or("") };
-                let title_ptr = (*(*xwindow).xsurface).title;
-                let title = if title_ptr.is_null() { "" } else { std::ffi::CStr::from_ptr(title_ptr).to_str().unwrap_or("") };
-                
-                let class_lower = class.to_lowercase();
-                let title_lower = title.to_lowercase();
-                class_lower.contains("steam_proton")
-                    || class_lower.contains("steam_app")
-                    || class_lower.contains("wine")
-                    || class_lower.contains("upc.exe")
-                    || class_lower.contains("trackmania")
-                    || title_lower.contains("ubisoft")
-                    || title_lower.contains("trackmania")
-            }
-            _ => false,
-        }
+        false
     }
 
     pub unsafe fn is_fullscreen(&self) -> bool {
@@ -1781,7 +1760,7 @@ impl Window {
         ffi::wlr_scene_rect_set_color(self.window_background, bg_color.as_ptr());
         ffi::wlr_scene_node_set_enabled(self.window_background as *mut ffi::wlr_scene_node, !requested.hidden && self.wm_requested.ssd);
 
-        let is_virtual_border = !self.wm_requested.ssd || requested.border.width == 0;
+        let is_virtual_border = true;
         if requested.circular {
             ffi::wlr_scene_node_set_enabled(self.border.left as *mut ffi::wlr_scene_node, false);
             ffi::wlr_scene_node_set_enabled(self.border.right as *mut ffi::wlr_scene_node, false);
diff --git a/src/server/window_manager.rs b/src/server/window_manager.rs
index ab8369b..20a8faf 100644
--- a/src/server/window_manager.rs
+++ b/src/server/window_manager.rs
@@ -1048,7 +1048,7 @@ fn get_closest_tag(x: f64, y: f64) -> i32 {
                 }
             }
 
-            let bw = self.layout.border_width;
+            let bw = 0;
 
             let g = self.layout.overlay_border_gap;
             let dec_h = std::cmp::max(bw, 16);