#[non_exhaustive]
pub enum Request {
    Destroy,
    GetLockSurface {
        surface: WlSurface,
        output: WlOutput,
    },
    UnlockAndDestroy,
}
Available on crate features staging and client only.

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.

Destroy

destroy the session lock

This informs the compositor that the lock object will no longer be used. Existing objects created through this interface remain valid.

After this request is made, lock surfaces created through this object should be destroyed by the client as they will no longer be used by the compositor.

It is a protocol error to make this request if the locked event was sent, the unlock_and_destroy request must be used instead.

This is a destructor, once sent this object cannot be used any longer.

GetLockSurface

Fields

surface: WlSurface
output: WlOutput

create a lock surface for a given output

The client is expected to create lock surfaces for all outputs currently present and any new outputs as they are advertised. These won’t be displayed by the compositor unless the lock is successful and the locked event is sent.

Providing a wl_surface which already has a role or already has a buffer attached or committed is a protocol error, as is attaching/committing a buffer before the first ext_session_lock_surface_v1.configure event.

Attempting to create more than one lock surface for a given output is a duplicate_output protocol error.

UnlockAndDestroy

unlock the session, destroying the object

This request indicates that the session should be unlocked, for example because the user has entered their password and it has been verified by the client.

This request also informs the compositor that the lock object will no longer be used and may be safely destroyed. Existing objects created through this interface remain valid.

After this request is made, lock surfaces created through this object should be destroyed by the client as they will no longer be used by the compositor.

It is a protocol error to make this request if the locked event has not been sent. In that case, the lock object may only be destroyed using the destroy request.

This is a destructor, once sent this object cannot be used any longer.

Trait Implementations

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s. Read more

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.