pub struct XxSessionV1 { /* private fields */ }client only.Expand description
A session for an application
A xx_session_v1 object represents a session for an application. While the object exists, all surfaces which have been added to the session will have states stored by the compositor which can be reapplied at a later time. Two sessions cannot exist for the same identifier string.
States for surfaces added to a session are automatically updated by the compositor when they are changed.
Surfaces which have been added to a session are automatically removed from the session if xdg_toplevel.destroy is called for the surface.
See also the Event enum for this interface.
Implementations§
Source§impl XxSessionV1
impl XxSessionV1
Sourcepub fn destroy(&self)
pub fn destroy(&self)
Destroy the session
Destroy a session object, preserving the current state but not continuing to make further updates if state changes occur. This makes the associated xx_toplevel_session_v1 objects inert.
Sourcepub fn remove(&self)
pub fn remove(&self)
Remove the session
Remove the session, making it no longer available for restoration. A compositor should in response to this request remove the data related to this session from its storage.
Sourcepub fn add_toplevel<U: Send + Sync + 'static, D: Dispatch<XxToplevelSessionV1, U> + 'static>(
&self,
toplevel: &XdgToplevel,
name: String,
qh: &QueueHandle<D>,
udata: U,
) -> XxToplevelSessionV1
pub fn add_toplevel<U: Send + Sync + 'static, D: Dispatch<XxToplevelSessionV1, U> + 'static>( &self, toplevel: &XdgToplevel, name: String, qh: &QueueHandle<D>, udata: U, ) -> XxToplevelSessionV1
add a new surface to the session
Attempt to add a given surface to the session. The passed name is used to identify what window is being restored, and may be used store window specific state within the session.
Calling this with a toplevel that is already managed by the session with the same associated will raise an in_use error.
Sourcepub fn restore_toplevel<U: Send + Sync + 'static, D: Dispatch<XxToplevelSessionV1, U> + 'static>(
&self,
toplevel: &XdgToplevel,
name: String,
qh: &QueueHandle<D>,
udata: U,
) -> XxToplevelSessionV1
pub fn restore_toplevel<U: Send + Sync + 'static, D: Dispatch<XxToplevelSessionV1, U> + 'static>( &self, toplevel: &XdgToplevel, name: String, qh: &QueueHandle<D>, udata: U, ) -> XxToplevelSessionV1
restore a surface state
Inform the compositor that the toplevel associated with the passed name should have its window management state restored.
Calling this with a toplevel that is already managed by the session with the same associated will raise an in_use error.
This request must be called prior to the first commit on the associated wl_surface, otherwise an already_mapped error is raised.
As part of the initial configure sequence, if the toplevel was successfully restored, a xx_toplevel_session_v1.restored event is emitted. See the xx_toplevel_session_v1.restored event for further details.
Trait Implementations§
Source§impl Borrow<ObjectId> for XxSessionV1
impl Borrow<ObjectId> for XxSessionV1
Source§impl Clone for XxSessionV1
impl Clone for XxSessionV1
Source§fn clone(&self) -> XxSessionV1
fn clone(&self) -> XxSessionV1
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for XxSessionV1
impl Debug for XxSessionV1
Source§impl Hash for XxSessionV1
impl Hash for XxSessionV1
Source§impl PartialEq<Weak<XxSessionV1>> for XxSessionV1
impl PartialEq<Weak<XxSessionV1>> for XxSessionV1
Source§impl PartialEq for XxSessionV1
impl PartialEq for XxSessionV1
Source§impl Proxy for XxSessionV1
impl Proxy for XxSessionV1
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 XxSessionV1
Auto Trait Implementations§
impl Freeze for XxSessionV1
impl !RefUnwindSafe for XxSessionV1
impl Send for XxSessionV1
impl Sync for XxSessionV1
impl Unpin for XxSessionV1
impl !UnwindSafe for XxSessionV1
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.