pub struct ZcosmicToplevelHandleV1 { /* private fields */ }
Expand description
an open toplevel
A zcosmic_toplevel_handle_v1 object represents an open toplevel window. A single app may have multiple open toplevels.
Each toplevel has a list of outputs it is visible on, exposed to the client via the output_enter and output_leave events.
See also the Request enum for this interface.
Implementations§
Source§impl ZcosmicToplevelHandleV1
impl ZcosmicToplevelHandleV1
Sourcepub fn closed(&self)
pub fn closed(&self)
the toplevel has been closed
The server will emit no further events on the zcosmic_toplevel_handle_v1 after this event. Any requests received aside from the destroy request will be ignored. Upon receiving this event, the client should make the destroy request to allow freeing of resources.
Note: This event will not be emitted for clients binding version 2
of this protocol, as ext_foreign_toplevel_handle_v1.closed
is
equivalent.
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 zcosmic_toplevel_handle_v1 properties to be seen as atomic, even if they happen via multiple events.
Note: this is is not sent after the closed event.
Note: This event will not be emitted for clients binding version 2
of this protocol, as ext_foreign_toplevel_handle_v1.done
is
equivalent.
Sourcepub fn title(&self, title: String)
pub fn title(&self, title: String)
title change
This event is emitted whenever the title of the toplevel changes.
Note: This event will not be emitted for clients binding version 2
of this protocol, as ext_foreign_toplevel_handle_v1.title
is
equivalent.
Sourcepub fn app_id(&self, app_id: String)
pub fn app_id(&self, app_id: String)
app_id change
This event is emitted whenever the app_id of the toplevel changes.
Note: This event will not be emitted for clients binding version 2
of this protocol, as ext_foreign_toplevel_handle_v1.app_id
is
equivalent.
Sourcepub fn output_enter(&self, output: &WlOutput)
pub fn output_enter(&self, output: &WlOutput)
toplevel entered an output
This event is emitted whenever the toplevel becomes visible on the given output. A toplevel may be visible on multiple outputs.
Sourcepub fn output_leave(&self, output: &WlOutput)
pub fn output_leave(&self, output: &WlOutput)
toplevel left an output
This event is emitted whenever the toplevel is no longer visible on a given output. It is guaranteed that an output_enter event with the same output has been emitted before this event.
Sourcepub fn workspace_enter(&self, workspace: &ZcosmicWorkspaceHandleV1)
pub fn workspace_enter(&self, workspace: &ZcosmicWorkspaceHandleV1)
toplevel entered an workspace
This event is emitted whenever the toplevel becomes visible on the given workspace. A toplevel may be visible on multiple workspaces.
Sourcepub fn workspace_leave(&self, workspace: &ZcosmicWorkspaceHandleV1)
pub fn workspace_leave(&self, workspace: &ZcosmicWorkspaceHandleV1)
toplevel left an workspace
This event is emitted whenever the toplevel is no longer visible on a given workspace. It is guaranteed that an workspace_enter event with the same workspace has been emitted before this event.
Sourcepub fn state(&self, state: Vec<u8>)
pub fn state(&self, state: Vec<u8>)
the toplevel state changed
This event is emitted once on creation of the zcosmic_toplevel_handle_v1 and again whenever the state of the toplevel changes.
Sourcepub fn geometry(
&self,
output: &WlOutput,
x: i32,
y: i32,
width: i32,
height: i32,
)
pub fn geometry( &self, output: &WlOutput, x: i32, y: i32, width: i32, height: i32, )
the toplevel’s position and/or size has changed
Emitted when the geometry of a toplevel (it’s position and/or size) relative to the provided output has changed.
This event is emitted once on creation of the zcosmic_toplevel_handle_v1 for every entered output and again whenever the geometry of the toplevel changes relative to any output.
Sourcepub fn ext_workspace_enter(&self, workspace: &ExtWorkspaceHandleV1)
pub fn ext_workspace_enter(&self, workspace: &ExtWorkspaceHandleV1)
toplevel entered an workspace
This event is emitted whenever the toplevel becomes visible on the given workspace. A toplevel may be visible on multiple workspaces.
Sourcepub fn ext_workspace_leave(&self, workspace: &ExtWorkspaceHandleV1)
pub fn ext_workspace_leave(&self, workspace: &ExtWorkspaceHandleV1)
toplevel left an workspace
This event is emitted whenever the toplevel is no longer visible on a given workspace. It is guaranteed that an workspace_enter event with the same workspace has been emitted before this event.
Trait Implementations§
Source§impl Borrow<ObjectId> for ZcosmicToplevelHandleV1
impl Borrow<ObjectId> for ZcosmicToplevelHandleV1
Source§impl Clone for ZcosmicToplevelHandleV1
impl Clone for ZcosmicToplevelHandleV1
Source§fn clone(&self) -> ZcosmicToplevelHandleV1
fn clone(&self) -> ZcosmicToplevelHandleV1
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ZcosmicToplevelHandleV1
impl Debug for ZcosmicToplevelHandleV1
Source§impl Hash for ZcosmicToplevelHandleV1
impl Hash for ZcosmicToplevelHandleV1
Source§impl PartialEq<Weak<ZcosmicToplevelHandleV1>> for ZcosmicToplevelHandleV1
impl PartialEq<Weak<ZcosmicToplevelHandleV1>> for ZcosmicToplevelHandleV1
Source§impl PartialEq for ZcosmicToplevelHandleV1
impl PartialEq for ZcosmicToplevelHandleV1
Source§impl Resource for ZcosmicToplevelHandleV1
impl Resource for ZcosmicToplevelHandleV1
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 ZcosmicToplevelHandleV1
Auto Trait Implementations§
impl Freeze for ZcosmicToplevelHandleV1
impl !RefUnwindSafe for ZcosmicToplevelHandleV1
impl Send for ZcosmicToplevelHandleV1
impl Sync for ZcosmicToplevelHandleV1
impl Unpin for ZcosmicToplevelHandleV1
impl !UnwindSafe for ZcosmicToplevelHandleV1
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§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§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
.Source§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
.Source§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.Source§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.