LockSelection

Struct LockSelection 

Source
pub struct LockSelection<'a> { /* private fields */ }
Expand description

A selection of session lock surfaces matching a selector

Provides methods to interact with all matching lock surfaces at once. Created via Shell::select_lock().

Implementations§

Source§

impl<'a> LockSelection<'a>

Source

pub fn on_callback<F, R>(&self, callback_name: &str, handler: F) -> &Self
where F: Fn(CallbackContext) -> R + Clone + 'static, R: IntoValue,

Registers a callback handler for all matching lock surfaces

Handler receives a CallbackContext with surface identity and shell control. Callbacks are stored and applied when the lock is activated, and automatically applied to new surfaces when outputs are hotplugged during an active lock.

Source

pub fn on_callback_with_args<F, R>( &self, callback_name: &str, handler: F, ) -> &Self
where F: Fn(&[Value], CallbackContext) -> R + Clone + 'static, R: IntoValue,

Registers a callback handler that receives arguments for all matching lock surfaces

Source

pub fn with_component<F>(&self, f: F)

Executes a function with each matching lock component instance

Returns immediately if no lock surfaces are active. During activation, this iterates over all lock component instances matching the selector.

Source

pub fn set_property(&self, name: &str, value: &Value) -> Result<(), Error>

Sets a property value on all matching lock surfaces

If the lock is inactive, the property operation is stored and will be applied when the lock is activated. If the lock is active, the property is set immediately on all matching component instances.

Source

pub fn get_property(&self, name: &str) -> Result<Vec<Value>, Error>

Gets property values from all matching lock surfaces

Returns an empty vector if the lock is inactive.

Source

pub fn count(&self) -> usize

Returns the number of lock surfaces matching the selector

Returns 0 if the lock is inactive.

Source

pub fn is_empty(&self) -> bool

Checks if no lock surfaces match the selector

Returns true if the lock is inactive or no surfaces match the selector.

Source

pub fn info(&self) -> Vec<SurfaceInfo>

Returns information about all matching lock surfaces

Returns an empty vector if the lock is inactive.

Auto Trait Implementations§

§

impl<'a> Freeze for LockSelection<'a>

§

impl<'a> !RefUnwindSafe for LockSelection<'a>

§

impl<'a> !Send for LockSelection<'a>

§

impl<'a> !Sync for LockSelection<'a>

§

impl<'a> Unpin for LockSelection<'a>

§

impl<'a> !UnwindSafe for LockSelection<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

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.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

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

fn as_any(&self) -> &(dyn Any + 'static)

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

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more