Struct wayland_protocols::ext::session_lock::v1::server::ext_session_lock_surface_v1::ExtSessionLockSurfaceV1
source · pub struct ExtSessionLockSurfaceV1 { /* private fields */ }
Expand description
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.
See also the Request enum for this interface.
Implementations§
source§impl ExtSessionLockSurfaceV1
impl ExtSessionLockSurfaceV1
sourcepub fn configure(&self, serial: u32, width: u32, height: u32)
pub fn configure(&self, serial: u32, width: u32, height: u32)
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.
Trait Implementations§
source§impl Borrow<ObjectId> for ExtSessionLockSurfaceV1
impl Borrow<ObjectId> for ExtSessionLockSurfaceV1
source§impl Clone for ExtSessionLockSurfaceV1
impl Clone for ExtSessionLockSurfaceV1
source§fn clone(&self) -> ExtSessionLockSurfaceV1
fn clone(&self) -> ExtSessionLockSurfaceV1
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ExtSessionLockSurfaceV1
impl Debug for ExtSessionLockSurfaceV1
source§impl Hash for ExtSessionLockSurfaceV1
impl Hash for ExtSessionLockSurfaceV1
source§impl PartialEq<Weak<ExtSessionLockSurfaceV1>> for ExtSessionLockSurfaceV1
impl PartialEq<Weak<ExtSessionLockSurfaceV1>> for ExtSessionLockSurfaceV1
source§impl PartialEq for ExtSessionLockSurfaceV1
impl PartialEq for ExtSessionLockSurfaceV1
source§impl Resource for ExtSessionLockSurfaceV1
impl Resource for ExtSessionLockSurfaceV1
source§fn object_data(&self) -> Option<&Arc<dyn Any + Send + Sync>>
fn object_data(&self) -> Option<&Arc<dyn Any + Send + Sync>>
source§fn handle(&self) -> &WeakHandle
fn handle(&self) -> &WeakHandle
source§fn from_id(conn: &DisplayHandle, id: ObjectId) -> Result<Self, InvalidId>
fn from_id(conn: &DisplayHandle, id: ObjectId) -> Result<Self, InvalidId>
source§fn send_event(&self, evt: Self::Event<'_>) -> Result<(), InvalidId>
fn send_event(&self, evt: Self::Event<'_>) -> Result<(), InvalidId>
source§fn parse_request(
conn: &DisplayHandle,
msg: Message<ObjectId, OwnedFd>,
) -> Result<(Self, Self::Request), DispatchError>
fn parse_request( conn: &DisplayHandle, msg: Message<ObjectId, OwnedFd>, ) -> Result<(Self, Self::Request), DispatchError>
source§fn write_event<'a>(
&self,
conn: &DisplayHandle,
msg: Self::Event<'a>,
) -> Result<Message<ObjectId, BorrowedFd<'a>>, InvalidId>
fn write_event<'a>( &self, conn: &DisplayHandle, msg: Self::Event<'a>, ) -> Result<Message<ObjectId, BorrowedFd<'a>>, InvalidId>
source§fn is_alive(&self) -> bool
fn is_alive(&self) -> bool
impl Eq for ExtSessionLockSurfaceV1
Auto Trait Implementations§
impl Freeze for ExtSessionLockSurfaceV1
impl !RefUnwindSafe for ExtSessionLockSurfaceV1
impl Send for ExtSessionLockSurfaceV1
impl Sync for ExtSessionLockSurfaceV1
impl Unpin for ExtSessionLockSurfaceV1
impl !UnwindSafe for ExtSessionLockSurfaceV1
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.