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

commit1159584d0944a816a1553cc6325d00f69aae7148
parent5dfda6663a
authorIsaac Freund <[email protected]>
date2025-12-04 22:46
river: clean up remaining XXX comments

These can be "downgraded" to TODO comments as they are mere missing
features not broken code.

 river/IdleInhibitManager.zig | 7 ++-----
 river/Seat.zig               | 3 ++-
 river/Server.zig             | 2 +-
 river/XdgToplevel.zig        | 2 +-
 4 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/river/IdleInhibitManager.zig b/river/IdleInhibitManager.zig
index 287fcaa..b4b3cd4 100644
--- a/river/IdleInhibitManager.zig
+++ b/river/IdleInhibitManager.zig
@@ -54,11 +54,8 @@ pub fn checkActive(inhibit_manager: *IdleInhibitManager) void {
     while (it.next()) |inhibitor| {
         const node_data = SceneNodeData.fromSurface(inhibitor.wlr_inhibitor.surface) orelse continue;
         switch (node_data.data) {
-            .window => {
-                inhibited = true; // XXX be strict
-                break;
-            },
-            .shell_surface, .lock_surface, .layer_surface, .override_redirect => {
+            // TODO be stricter here so that clients don't abuse the protocol
+            .window, .shell_surface, .lock_surface, .layer_surface, .override_redirect => {
                 inhibited = true;
                 break;
             },
diff --git a/river/Seat.zig b/river/Seat.zig
index f47d7ba..33940f4 100644
--- a/river/Seat.zig
+++ b/river/Seat.zig
@@ -191,7 +191,8 @@ pub fn create(name: [*:0]const u8) !void {
     const seat = try util.gpa.create(Seat);
     errdefer util.gpa.destroy(seat);
 
-    // XXX have actual reasoning for choosing this capacity.
+    // Empirically, this limit is not hit in practice unless the window manager hangs.
+    // TODO have better reasoning for choosing this capacity.
     var event_queue: Deque(Event) = try .initCapacity(util.gpa, 1024);
     errdefer event_queue.deinit(util.gpa);
 
diff --git a/river/Server.zig b/river/Server.zig
index ea90628..43bec95 100644
--- a/river/Server.zig
+++ b/river/Server.zig
@@ -383,7 +383,7 @@ fn handleRequestActivate(
 ) void {
     const node_data = SceneNodeData.fromSurface(event.surface) orelse return;
     switch (node_data.data) {
-        .window => |_| {}, // XXX
+        .window => |_| {}, // TODO support xdg-activation with a rwm extension protocol
         else => |tag| {
             log.info("ignoring xdg-activation-v1 activate request of {s} surface", .{@tagName(tag)});
         },
diff --git a/river/XdgToplevel.zig b/river/XdgToplevel.zig
index 2f20000..5a631b1 100644
--- a/river/XdgToplevel.zig
+++ b/river/XdgToplevel.zig
@@ -346,7 +346,7 @@ fn handleCommit(listener: *wl.Listener(*wlr.Surface), _: *wlr.Surface) void {
                 old_geometry.y != toplevel.geometry.y)
             {
                 // We need to update the surface clip box to reflect the geometry change.
-                // XXX actually update the clip box
+                // TODO actually update the clip box when clipping is supported
             }
         },
         // If the client has not yet acked our configure, we need to send a