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

commit7bc0b46ebd1a85c99db4badf1d04cee7bfa86412
parent1159584d09
authorIsaac Freund <[email protected]>
date2025-12-04 23:03
rwm: remove unimplemented events/requests

These can be added back in future protocol versions when they are
implemented and used by window managers.

 protocol/river-window-management-v1.xml | 55 ---------------------------------
 river/Seat.zig                          |  5 ---
 2 files changed, 60 deletions(-)

diff --git a/protocol/river-window-management-v1.xml b/protocol/river-window-management-v1.xml
index 31a48ca..3e77368 100644
--- a/protocol/river-window-management-v1.xml
+++ b/protocol/river-window-management-v1.xml
@@ -1356,20 +1356,6 @@
       </description>
     </event>
 
-    <event name="pointer_activity">
-      <description summary="the pointer was moved">
-        The seat's pointer was moved.
-
-        Rationale: The motivating window manager feature for this event is the
-        "always" style of focus-follows-cursor. Carrying out a full manage
-        sequence on every single pointer motion event is noisy, wasteful, and
-        unnecessary.
-
-        This event will be followed by a manage_start event after all other new
-        state has been sent by the server.
-      </description>
-    </event>
-
     <event name="window_interaction">
       <description summary="a window has been interacted with">
         A window has been interacted with beyond the pointer merely passing over
@@ -1472,47 +1458,6 @@
       </description>
     </request>
 
-    <request name="pointer_confine_to_region">
-      <description summary="prevent the pointer from leaving a region">
-        This request tells the compositor to confine the movement of the pointer
-        to a given region, preventing movement of the input device from moving
-        the pointer outside the region. In addition, the pointer continues to be
-        confined to the bounds of the outputs.
-
-        If the pointer is not inside the given region when this request is made
-        it will have no effect until the pointer is moved inside the region.
-
-        If the pointer is warped to a point outside of the region it will
-        (temporarily) escape confinement. Moving or warping the pointer back
-        inside the region will resume the confinement.
-
-        If the region argument is null the compositor will only confine the
-        cursor to the bounds of the outputs. This is also the behavior if this
-        request is never made.
-
-        The region is defined in the compositor's logical coordinate space.
-
-        This request may be useful to place bounds on an interactive pointer
-        move or resize for example.
-
-        This request modifies window management state and may only be made as
-        part of a manage sequence, see the river_window_manager_v1 description.
-      </description>
-      <arg name="region" type="object" allow-null="true" interface="wl_region"/>
-    </request>
-
-    <request name="pointer_warp">
-      <description summary="warp the pointer to a given position">
-        Warp the pointer to the given position in the compositor's logical
-        coordinate space.
-
-        This request modifies window management state and may only be made as
-        part of a manage sequence, see the river_window_manager_v1 description.
-      </description>
-      <arg name="x" type="int"/>
-      <arg name="y" type="int"/>
-    </request>
-
     <enum name="modifiers" bitfield="true">
       <description summary="a set of keyboard modifiers">
         This enum is used to describe the keyboard modifiers that must be held
diff --git a/river/Seat.zig b/river/Seat.zig
index 33940f4..8257f42 100644
--- a/river/Seat.zig
+++ b/river/Seat.zig
@@ -145,8 +145,6 @@ wm_requested: struct {
         start_pointer,
         end,
     } = .none,
-    // TODO confine region
-    // TODO pointer warp
 } = .{},
 
 xkb_bindings: wl.list.Head(XkbBinding, .link),
@@ -476,9 +474,6 @@ fn handleRequest(
             seat.wm_requested.op = .end;
         },
 
-        .pointer_confine_to_region => {},
-        .pointer_warp => {},
-
         .get_pointer_binding => |args| {
             PointerBinding.create(
                 seat,