Skip to content

ext_session_lock_surface_v1¤

wayland.ext_session_lock_surface_v1 ¤

A surface displayed while the session is locked

The client may use lock surfaces to display a screensaver, render a dialog to enter a password and unlock the session, or however else it sees fit.

On binding this interface the compositor will immediately send the first configure event. After making the ack_configure request in response to this event the client should attach and commit the first buffer. Committing the surface before acking the first configure is a protocol error. Committing the surface with a null buffer at any time is a protocol error.

The compositor is free to handle keyboard/pointer focus for lock surfaces however it chooses. A reasonable way to do this would be to give the first lock surface created keyboard focus and change keyboard focus if the user clicks on other surfaces.

Methods:

error ¤

events

configure ¤

configure(serial: int, width: int, height: int) -> None

The client should resize its surface

This event is sent once on binding the interface and may be sent again at the compositor's discretion, for example if output geometry changes.

The width and height are in surface-local coordinates and are exact requirements. Failing to match these surface dimensions in the next commit after acking a configure is a protocol error.

Parameters:

  • serial ¤

    (int) –

    Serial for use in ack_configure

destroy ¤

destroy() -> None

Destroy the lock surface object

This informs the compositor that the lock surface object will no longer be used.

It is recommended for a lock client to destroy lock surfaces if their corresponding wl_output global is removed.

If a lock surface on an active output is destroyed before the ext_session_lock_v1.unlock_and_destroy event is sent, the compositor must fall back to rendering a solid color.

ack_configure ¤

ack_configure(serial: int) -> None

Ack a configure event

When a configure event is received, if a client commits the surface in response to the configure event, then the client must make an ack_configure request sometime before the commit request, passing along the serial of the configure event.

If the client receives multiple configure events before it can respond to one, it only has to ack the last configure event.

A client is not required to commit immediately after sending an ack_configure request - it may even ack_configure several times before its next surface commit.

A client may send multiple ack_configure requests before committing, but only the last request sent before a commit indicates which configure event the client really is responding to.

Sending an ack_configure request consumes the configure event referenced by the given serial, as well as all older configure events sent on this object.

It is a protocol error to issue multiple ack_configure requests referencing the same configure event or to issue an ack_configure request referencing a configure event older than the last configure event acked for a given lock surface.

Parameters:

  • serial ¤

    (int) –

    Serial from the configure event

on_configure ¤

on_configure(serial: int, width: int, height: int) -> None

The client should resize its surface.

Override to handle wayland.ext_session_lock_surface_v1.events.configure.