package oxbow

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Window_management.River_seat_v1Source

A window management seat.

This object represents a single user's collection of input devices. It allows the window manager to route keyboard input to windows, get high-level information about pointer input, define pointer bindings, etc.

For keyboard bindings, see the river-xkb-bindings-v1 protocol.

Since version 4: The cursor surface/shape set by the window manager on the wl_pointer of this seat is used when no client has pointer focus, for example during a pointer operation. Since the window manager is allowed to set cursor surface/shape even when it does not have pointer focus, the compositor must ignore the serial argument of wl_pointer.set_cursor and wp_cursor_shape_device_v1.set_shape requests made by the window manager.

The most recent cursor surface/shape set by the window manager is remembered by the compositor and restored whenever no client has pointer focus. If the window manager never sets a cursor surface/shape, the "default" shape is used.

Sourcetype 'v t = ([ `River_seat_v1 ], 'v, [ `Client ]) Wayland.Proxy.t
Sourcemodule Modifiers : sig ... end

A set of keyboard modifiers.

Version 1

Sourceval get_pointer_binding : ([< `V1 | `V2 | `V3 | `V4 | `V5 ] as 'a) t -> [[ `River_pointer_binding_v1 ], 'a, [ `Client ]] Wayland.Proxy.Handler.t -> button:int32 -> modifiers:int32 -> ([ `River_pointer_binding_v1 ], 'a, [ `Client ]) Wayland.Proxy.t

Define a new pointer binding.

Define a pointer binding in terms of a pointer button, keyboard modifiers, and other configurable properties.

The button argument is a Linux input event code defined in the linux/input-event-codes.h header file (e.g. BTN_RIGHT).

The new pointer binding is not enabled until initial configuration is completed and the enable request is made during a manage sequence.

Sourceval op_end : [< `V1 | `V2 | `V3 | `V4 | `V5 ] t -> unit

End an interactive operation.

End an interactive operation.

This request is ignored if there is no operation in progress.

This request modifies window management state and may only be made as part of a manage sequence, see the river_window_manager_v1 description.

Sourceval op_start_pointer : [< `V1 | `V2 | `V3 | `V4 | `V5 ] t -> unit

Start an interactive pointer operation.

Start an interactive pointer operation. During the operation, op_delta events will be sent based on pointer input.

When all pointer buttons are released, the op_release event is sent.

The pointer operation continues until the op_end request is made during a manage sequence and that manage sequence is finished.

The window manager may use this operation to implement interactive move/resize of windows by setting the position of windows and proposing dimensions based off of the op_delta events.

This request is ignored if an operation is already in progress.

The compositor must ensure that no client has pointer focus from this seat during the pointer operation. This means that the window manager has control over the pointer's cursor surface/shape during the pointer operation. See the river_seat_v1 description.

This request modifies window management state and may only be made as part of a manage sequence, see the river_window_manager_v1 description.

Sourceval clear_focus : [< `V1 | `V2 | `V3 | `V4 | `V5 ] t -> unit

Clear keyboard focus.

Request that the compositor not send keyboard input to any client.

This request modifies window management state and may only be made as part of a manage sequence, see the river_window_manager_v1 description.

Sourceval focus_shell_surface : [< `V1 | `V2 | `V3 | `V4 | `V5 ] t -> shell_surface:([ `River_shell_surface_v1 ], 'a, [ `Client ]) Wayland.Proxy.t -> unit

Give keyboard focus to a shell_surface.

Request that the compositor send keyboard input to the given shell surface.

This request modifies window management state and may only be made as part of a manage sequence, see the river_window_manager_v1 description.

Sourceval focus_window : [< `V1 | `V2 | `V3 | `V4 | `V5 ] t -> window:([ `River_window_v1 ], 'a, [ `Client ]) Wayland.Proxy.t -> unit

Give keyboard focus to a window.

Request that the compositor send keyboard input to the given window.

This request modifies window management state and may only be made as part of a manage sequence, see the river_window_manager_v1 description.

Sourceval destroy : [< `V1 | `V2 | `V3 | `V4 | `V5 ] t -> unit

Destroy the seat object.

This request indicates that the client will no longer use the seat object and that it may be safely destroyed.

This request should be made after the river_seat_v1.removed event is received to complete destruction of the seat.

Version 2

Sourceval set_xcursor_theme : [< `V2 | `V3 | `V4 | `V5 ] t -> name:string -> size:int32 -> unit

Set the xcursor theme for the seat.

Set the XCursor theme for the seat. This theme is used for cursors rendered by the compositor, but not necessarily for cursors rendered by clients.

Note: The window manager may also wish to set the XCURSOR_THEME and XCURSOR_SIZE environment variable for programs it starts.

Version 3, 4, 5

Sourceval pointer_warp : [< `V3 | `V4 | `V5 ] t -> x:int32 -> y:int32 -> unit

Warp the pointer to a given position.

Warp the pointer to the given position in the compositor's logical coordinate space.

If the given position is outside the bounds of all outputs, the pointer will be warped to the closest point inside an output instead.

If an op_start_pointer request is made during the same manage sequence as a pointer_warp request, the warp is applied first by the server regardless of the relative ordering of the two requests.

This request modifies window management state and may only be made as part of a manage sequence, see the river_window_manager_v1 description.

Handlers

Note: Servers will always want to use v1.

Sourceclass virtual +'a v1 : object ... end

Handler for a proxy with version >= 1.

Sourceclass virtual +'a v2 : object ... end

Handler for a proxy with version >= 2.

Sourceclass virtual +'a v3 : object ... end

Handler for a proxy with version >= 3.

Sourceclass virtual +'a v4 : object ... end

Handler for a proxy with version >= 4.

Sourceclass virtual +'a v5 : object ... end

Handler for a proxy with version >= 5.