Enum wayland_protocols::xdg::toplevel_icon::v1::client::xdg_toplevel_icon_manager_v1::Request
source · #[non_exhaustive]pub enum Request<'a> {
Destroy,
CreateIcon {},
SetIcon {
toplevel: XdgToplevel,
icon: Option<XdgToplevelIconV1>,
},
}
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Destroy
destroy the toplevel icon manager
Destroy the toplevel icon manager. This does not destroy objects created with the manager.
This is a destructor, once sent this object cannot be used any longer.
CreateIcon
create a new icon instance
Creates a new icon object. This icon can then be attached to a xdg_toplevel via the ‘set_icon’ request.
SetIcon
set an icon on a toplevel window
This request assigns the icon ‘icon’ to ‘toplevel’, or clears the toplevel icon if ‘icon’ was null. This state is double-buffered and is applied on the next wl_surface.commit of the toplevel.
After making this call, the xdg_toplevel_icon_v1 provided as ‘icon’ can be destroyed by the client without ‘toplevel’ losing its icon. The xdg_toplevel_icon_v1 is immutable from this point, and any future attempts to change it must raise the ‘xdg_toplevel_icon_v1.immutable’ protocol error.
The compositor must set the toplevel icon from either the pixel data the icon provides, or by loading a stock icon using the icon name. See the description of ‘xdg_toplevel_icon_v1’ for details.
If ‘icon’ is set to null, the icon of the respective toplevel is reset to its default icon (usually the icon of the application, derived from its desktop-entry file, or a placeholder icon). If this request is passed an icon with no pixel buffers or icon name assigned, the icon must be reset just like if ‘icon’ was null.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for Request<'a>
impl<'a> !RefUnwindSafe for Request<'a>
impl<'a> Send for Request<'a>
impl<'a> Sync for Request<'a>
impl<'a> Unpin for Request<'a>
impl<'a> !UnwindSafe for Request<'a>
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
§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.