Struct wayland_protocols::ext::foreign_toplevel_list::v1::server::ext_foreign_toplevel_handle_v1::ExtForeignToplevelHandleV1
source · pub struct ExtForeignToplevelHandleV1 { /* private fields */ }
Expand description
a mapped toplevel
A ext_foreign_toplevel_handle_v1 object represents a mapped toplevel window. A single app may have multiple mapped toplevels.
See also the Request enum for this interface.
Implementations§
source§impl ExtForeignToplevelHandleV1
impl ExtForeignToplevelHandleV1
sourcepub fn closed(&self)
pub fn closed(&self)
the toplevel has been closed
The server will emit no further events on the ext_foreign_toplevel_handle_v1 after this event. Any requests received aside from the destroy request must be ignored. Upon receiving this event, the client should destroy the handle.
Other protocols which extend the ext_foreign_toplevel_handle_v1 interface must also ignore requests other than destructors.
sourcepub fn done(&self)
pub fn done(&self)
all information about the toplevel has been sent
This event is sent after all changes in the toplevel state have been sent.
This allows changes to the ext_foreign_toplevel_handle_v1 properties to be atomically applied. Other protocols which extend the ext_foreign_toplevel_handle_v1 interface may use this event to also atomically apply any pending state.
This event must not be sent after the ext_foreign_toplevel_handle_v1.closed event.
sourcepub fn title(&self, title: String)
pub fn title(&self, title: String)
title change
The title of the toplevel has changed.
The configured state must not be applied immediately. See ext_foreign_toplevel_handle_v1.done for details.
sourcepub fn app_id(&self, app_id: String)
pub fn app_id(&self, app_id: String)
app_id change
The app id of the toplevel has changed.
The configured state must not be applied immediately. See ext_foreign_toplevel_handle_v1.done for details.
sourcepub fn identifier(&self, identifier: String)
pub fn identifier(&self, identifier: String)
a stable identifier for a toplevel
This identifier is used to check if two or more toplevel handles belong to the same toplevel.
The identifier is useful for command line tools or privileged clients which may need to reference an exact toplevel across processes or instances of the ext_foreign_toplevel_list_v1 global.
The compositor must only send this event when the handle is created.
The identifier must be unique per toplevel and it’s handles. Two different toplevels must not have the same identifier. The identifier is only valid as long as the toplevel is mapped. If the toplevel is unmapped the identifier must not be reused. An identifier must not be reused by the compositor to ensure there are no races when sharing identifiers between processes.
An identifier is a string that contains up to 32 printable ASCII bytes. An identifier must not be an empty string. It is recommended that a compositor includes an opaque generation value in identifiers. How the generation value is used when generating the identifier is implementation dependent.
Trait Implementations§
source§impl Borrow<ObjectId> for ExtForeignToplevelHandleV1
impl Borrow<ObjectId> for ExtForeignToplevelHandleV1
source§impl Clone for ExtForeignToplevelHandleV1
impl Clone for ExtForeignToplevelHandleV1
source§fn clone(&self) -> ExtForeignToplevelHandleV1
fn clone(&self) -> ExtForeignToplevelHandleV1
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ExtForeignToplevelHandleV1
impl Debug for ExtForeignToplevelHandleV1
source§impl Hash for ExtForeignToplevelHandleV1
impl Hash for ExtForeignToplevelHandleV1
source§impl PartialEq<Weak<ExtForeignToplevelHandleV1>> for ExtForeignToplevelHandleV1
impl PartialEq<Weak<ExtForeignToplevelHandleV1>> for ExtForeignToplevelHandleV1
source§impl PartialEq for ExtForeignToplevelHandleV1
impl PartialEq for ExtForeignToplevelHandleV1
source§fn eq(&self, other: &ExtForeignToplevelHandleV1) -> bool
fn eq(&self, other: &ExtForeignToplevelHandleV1) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Resource for ExtForeignToplevelHandleV1
impl Resource for ExtForeignToplevelHandleV1
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 ExtForeignToplevelHandleV1
Auto Trait Implementations§
impl !RefUnwindSafe for ExtForeignToplevelHandleV1
impl Send for ExtForeignToplevelHandleV1
impl Sync for ExtForeignToplevelHandleV1
impl Unpin for ExtForeignToplevelHandleV1
impl !UnwindSafe for ExtForeignToplevelHandleV1
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.