pub struct ExtWorkspaceManagerV1 {
id: ObjectId,
version: u32,
data: Option<Arc<dyn ObjectData>>,
backend: WeakBackend,
}
Expand description
list and control workspaces
Workspaces, also called virtual desktops, are groups of surfaces. A compositor with a concept of workspaces may only show some such groups of surfaces (those of ‘active’ workspaces) at a time. ‘Activating’ a workspace is a request for the compositor to display that workspace’s surfaces as normal, whereas the compositor may hide or otherwise de-emphasise surfaces that are associated only with ‘inactive’ workspaces. Workspaces are grouped by which sets of outputs they correspond to, and may contain surfaces only from those outputs. In this way, it is possible for each output to have its own set of workspaces, or for all outputs (or any other arbitrary grouping) to share workspaces. Compositors may optionally conceptually arrange each group of workspaces in an N-dimensional grid.
The purpose of this protocol is to enable the creation of taskbars and docks by providing them with a list of workspaces and their properties, and allowing them to activate and deactivate workspaces.
After a client binds the ext_workspace_manager_v1, each workspace will be sent via the workspace event.
See also the Event enum for this interface.
Fields§
§id: ObjectId
§version: u32
§data: Option<Arc<dyn ObjectData>>
§backend: WeakBackend
Implementations§
Source§impl ExtWorkspaceManagerV1
impl ExtWorkspaceManagerV1
Sourcepub fn commit(&self)
pub fn commit(&self)
all requests about the workspaces have been sent
The client must send this request after it has finished sending other requests. The compositor must process a series of requests preceding a commit request atomically.
This allows changes to the workspace properties to be seen as atomic, even if they happen via multiple events, and even if they involve multiple ext_workspace_handle_v1 objects, for example, deactivating one workspace and activating another.
Sourcepub fn stop(&self)
pub fn stop(&self)
stop sending events
Indicates the client no longer wishes to receive events for new workspace groups. However the compositor may emit further workspace events, until the finished event is emitted. The compositor is expected to send the finished event eventually once the stop request has been processed.
The client must not send any requests after this one, doing so will raise a wl_display invalid_object error.
Trait Implementations§
Source§impl Borrow<ObjectId> for ExtWorkspaceManagerV1
impl Borrow<ObjectId> for ExtWorkspaceManagerV1
Source§impl Clone for ExtWorkspaceManagerV1
impl Clone for ExtWorkspaceManagerV1
Source§fn clone(&self) -> ExtWorkspaceManagerV1
fn clone(&self) -> ExtWorkspaceManagerV1
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ExtWorkspaceManagerV1
impl Debug for ExtWorkspaceManagerV1
Source§impl Hash for ExtWorkspaceManagerV1
impl Hash for ExtWorkspaceManagerV1
Source§impl PartialEq for ExtWorkspaceManagerV1
impl PartialEq for ExtWorkspaceManagerV1
Source§impl Proxy for ExtWorkspaceManagerV1
impl Proxy for ExtWorkspaceManagerV1
Source§fn data<U: Send + Sync + 'static>(&self) -> Option<&U>
fn data<U: Send + Sync + 'static>(&self) -> Option<&U>
Source§fn object_data(&self) -> Option<&Arc<dyn ObjectData>>
fn object_data(&self) -> Option<&Arc<dyn ObjectData>>
Source§fn backend(&self) -> &WeakBackend
fn backend(&self) -> &WeakBackend
Source§fn send_request(&self, req: Self::Request<'_>) -> Result<(), InvalidId>
fn send_request(&self, req: Self::Request<'_>) -> Result<(), InvalidId>
Source§fn send_constructor<I: Proxy>(
&self,
req: Self::Request<'_>,
data: Arc<dyn ObjectData>,
) -> Result<I, InvalidId>
fn send_constructor<I: Proxy>( &self, req: Self::Request<'_>, data: Arc<dyn ObjectData>, ) -> Result<I, InvalidId>
Source§fn from_id(conn: &Connection, id: ObjectId) -> Result<Self, InvalidId>
fn from_id(conn: &Connection, id: ObjectId) -> Result<Self, InvalidId>
Source§fn inert(backend: WeakBackend) -> Self
fn inert(backend: WeakBackend) -> Self
Source§fn parse_event(
conn: &Connection,
msg: Message<ObjectId, OwnedFd>,
) -> Result<(Self, Self::Event), DispatchError>
fn parse_event( conn: &Connection, msg: Message<ObjectId, OwnedFd>, ) -> Result<(Self, Self::Event), DispatchError>
Source§fn write_request<'a>(
&self,
conn: &Connection,
msg: Self::Request<'a>,
) -> Result<(Message<ObjectId, BorrowedFd<'a>>, Option<(&'static Interface, u32)>), InvalidId>
fn write_request<'a>( &self, conn: &Connection, msg: Self::Request<'a>, ) -> Result<(Message<ObjectId, BorrowedFd<'a>>, Option<(&'static Interface, u32)>), InvalidId>
impl Eq for ExtWorkspaceManagerV1
Auto Trait Implementations§
impl Freeze for ExtWorkspaceManagerV1
impl !RefUnwindSafe for ExtWorkspaceManagerV1
impl Send for ExtWorkspaceManagerV1
impl Sync for ExtWorkspaceManagerV1
impl Unpin for ExtWorkspaceManagerV1
impl !UnwindSafe for ExtWorkspaceManagerV1
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.