package oxbow

  1. Overview
  2. Docs
Dynamic window manager for the river Wayland compositor

Install

dune-project
 Dependency

Authors

Maintainers

Sources

v0.1.0.tar.gz
md5=a637acaa0e19046cd65fff733874eb97
sha512=76230cbecd7510de7a05b5d1f335915ef7b6c4aa557d8dbfd23591606618d2cfa25082d17b93f2f4b53a118d1cbf6a80e4ad51cf0f099b4921fb83d6df0c9801

doc/oxbow.river/River/Window_management/River_seat_v1/class-v3/index.html

Class River_seat_v1.v3Source

Handler for a proxy with version >= 3.

constraint 'a = [< `V3 | `V4 | `V5 ]
method private virtual on_removed : [> `V3 | `V4 | `V5 ] t -> unit

The seat is removed.

This event indicates that seat is no longer in use and should be destroyed.

The server will send no further events on this object and ignore any request (other than river_seat_v1.destroy) made after this event is sent. The client should destroy this object with the river_seat_v1.destroy request to free up resources.

This event will be followed by a manage_start event after all other new state has been sent by the server.

method private virtual on_wl_seat : [> `V3 | `V4 | `V5 ] t -> name:int32 -> unit

Corresponding wl_seat.

The wl_seat object corresponding to the river_seat_v1. The argument is the global name of the wl_seat advertised with wl_registry.global.

It is guaranteed that the corresponding wl_seat is advertised before this event is sent.

This event is sent exactly once. The wl_seat associated with a river_seat_v1 cannot change. It is guaranteed that there is a 1-to-1 mapping between wl_seat and river_seat_v1 objects.

The global_remove event for the corresponding wl_seat may be sent before the river_seat_v1.removed event. This is due to the fact that river_seat_v1 state changes are synced to the river window management manage sequence while changes to globals are not.

Rationale: The window manager may want to trigger window management state changes based on normal input events received by its shell surfaces for example.

method private virtual on_pointer_enter : [> `V3 | `V4 | `V5 ] t -> window: ([ `River_window_v1 ], [> Imports.River_window_v1.versions ], [ `Client ]) Proxy.t -> unit

Pointer entered a window.

The seat's pointer entered the given window's area.

The area of a window is defined to include the area defined by the window dimensions, borders configured using river_window_v1.set_borders, and the input regions of decoration surfaces. In particular, it does not include input regions of surfaces belonging to the window that extend outside the window dimensions.

The pointer of a seat may only enter a single window at a time. When the pointer moves between windows, the pointer_leave event for the old window must be sent before the pointer_enter event for the new window.

This event will be followed by a manage_start event after all other new state has been sent by the server.

method private virtual on_pointer_leave : [> `V3 | `V4 | `V5 ] t -> unit

Pointer left the entered window.

The seat's pointer left the window for which pointer_enter was most recently sent. See pointer_enter for details.

This event will be followed by a manage_start event after all other new state has been sent by the server.

method private virtual on_window_interaction : [> `V3 | `V4 | `V5 ] t -> window: ([ `River_window_v1 ], [> Imports.River_window_v1.versions ], [ `Client ]) Proxy.t -> unit

A window has been interacted with.

A window has been interacted with beyond the pointer merely passing over it. This event might be sent due to a pointer button press or due to a touch/tablet tool interaction with the window.

There are no guarantees regarding how this event is sent in relation to the pointer_enter and pointer_leave events as the interaction may use touch or tablet tool input.

Rationale: this event gives window managers necessary information to determine when to send keyboard focus, raise a window that already has keyboard focus, etc. Rather than expose all pointer, touch, and tablet events to window managers, a policy over mechanism approach is taken.

This event will be followed by a manage_start event after all other new state has been sent by the server.

method private virtual on_shell_surface_interaction : [> `V3 | `V4 | `V5 ] t -> shell_surface: ([ `River_shell_surface_v1 ], [> Imports.River_shell_surface_v1.versions ], [ `Client ]) Proxy.t -> unit

A shell surface has been interacted with.

A shell surface has been interacted with beyond the pointer merely passing over it. This event might be sent due to a pointer button press or due to a touch/tablet tool interaction with the shell_surface.

There are no guarantees regarding how this event is sent in relation to the pointer_enter and pointer_leave events as the interaction may use touch or tablet tool input.

Rationale: While the shell surface does receive all wl_pointer, wl_touch, etc. input events for the surface directly, these events do not necessarily trigger a manage sequence and therefore do not allow the window manager to update focus or perform other actions in response to the input in a race-free way.

This event will be followed by a manage_start event after all other new state has been sent by the server.

method private virtual on_op_delta : [> `V3 | `V4 | `V5 ] t -> dx:int32 -> dy:int32 -> unit

Total cumulative motion since op start.

This event indicates the total change in position since the start of the operation of the pointer/touch point/etc.

This event will be followed by a manage_start event after all other new state has been sent by the server.

method private virtual on_op_release : [> `V3 | `V4 | `V5 ] t -> unit

Operation input has been released.

The input driving the current interactive operation has been released. For a pointer op for example, all pointer buttons have been released.

Depending on the op type, op_delta events may continue to be sent until the op is ended with the op_end request.

This event is sent at most once during an interactive operation.

This event will be followed by a manage_start event after all other new state has been sent by the server.

method private virtual on_pointer_position : [> `V3 | `V4 | `V5 ] t -> x:int32 -> y:int32 -> unit

The current position of the pointer.

The current position of the pointer in the compositor's logical coordinate space.

This state is special in that a change in pointer position alone must not cause the compositor to start a manage sequence.

Assuming the seat has a pointer, this event must be sent in every manage sequence unless there is no change in x/y position since the last time this event was sent.

method min_version : int32