Skip to main content

XdgSessionManagerV1

Struct XdgSessionManagerV1 

Source
pub struct XdgSessionManagerV1 { /* private fields */ }
Expand description

manage sessions for applications

The xdg_session_manager_v1 interface defines base requests for creating and managing a session for an application. Sessions persist across application and compositor restarts unless explicitly destroyed. A session is created for the purpose of maintaining an application’s xdg_toplevel surfaces across compositor or application restarts. The compositor should remember as many states as possible for surfaces in a given session, but there is no requirement for which states must be remembered.

Policies such as cache eviction are declared an implementation detail of the compositor. Clients should account for no longer existing sessions.

This interface has no events.

Implementations§

Source§

impl XdgSessionManagerV1

Source

pub fn destroy(&self)

Destroy this object

Destroy the manager object. The existing session objects will be unaffected.

Source

pub fn get_session<U, D: 'static>( &self, reason: Reason, session_id: Option<String>, qh: &QueueHandle<D>, udata: U, ) -> XdgSessionV1
where U: Dispatch<XdgSessionV1, D> + Send + Sync + 'static,

create or restore a session

Create a session object corresponding to either an existing session identified by the given session identifier string or a new session. While the session object exists, the session is considered to be “in use”.

If an identifier string represents a session that is currently actively in use by the the same client, an ‘in_use’ error is raised. If some other client is currently using the same session, the new session will replace managing the associated state.

If the reason is not a valid enum entry, the ‘invalid_reason’ protocol error is raised.

NULL is passed to initiate a new session. If a session_id is passed which does not represent a valid session, the compositor treats it as if NULL had been passed.

The session id string must be UTF-8 encoded. It is also limited by the maximum length of wayland messages (around 4KB). The ‘invalid_session_id’ protocol error will be raised if an invalid string is provided.

A client is allowed to have any number of in use sessions at the same time.

Trait Implementations§

Source§

impl Borrow<ObjectId> for XdgSessionManagerV1

Source§

fn borrow(&self) -> &ObjectId

Immutably borrows from an owned value. Read more
Source§

impl Clone for XdgSessionManagerV1

Source§

fn clone(&self) -> XdgSessionManagerV1

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for XdgSessionManagerV1

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for XdgSessionManagerV1

Source§

impl Hash for XdgSessionManagerV1

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for XdgSessionManagerV1

Source§

fn eq(&self, other: &XdgSessionManagerV1) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl PartialEq<Weak<XdgSessionManagerV1>> for XdgSessionManagerV1

Source§

fn eq(&self, other: &Weak<XdgSessionManagerV1>) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Proxy for XdgSessionManagerV1

Source§

type Request<'request> = Request<'request>

The request enum for this interface
Source§

type Event = Event

The event enum for this interface
Source§

fn interface() -> &'static Interface

The interface description
Source§

fn id(&self) -> &ObjectId

The ID of this object
Source§

fn version(&self) -> u32

The version of this object
Source§

fn object_data(&self) -> Option<&Arc<dyn ObjectData>>

Access the raw data associated with this object. Read more
Source§

fn backend(&self) -> &WeakBackend

Access the backend associated with this object
Source§

fn from_id(conn: &Connection, id: ObjectId) -> Result<Self, InvalidId>

Create an object proxy from its ID Read more
Source§

fn inert(backend: WeakBackend) -> Self

Create an inert object proxy Read more
Source§

fn parse_event( conn: &Connection, msg: OwnedMessage<ObjectId>, ) -> Result<(Self, Self::Event), DispatchError>

Parse a event for this object Read more
Source§

fn write_request<'r, 'a: 'r, 'b: 'r>( &'a self, conn: &Connection, msg: Self::Request<'b>, ) -> Result<(Message<'r, ObjectId>, Option<(&'static Interface, u32)>), InvalidId>

Serialize a request for this object Read more
Source§

fn is_alive(&self) -> bool

Checks if the Wayland object associated with this proxy is still alive
Source§

fn data<U>(&self) -> Option<&U>
where U: Send + Sync + 'static,

Access the user-data associated with this object
Source§

fn send_request<'a>(&'a self, req: Self::Request<'a>) -> Result<(), InvalidId>

Send a request for this object. Read more
Source§

fn send_constructor<I>( &self, req: Self::Request<'_>, data: Arc<dyn ObjectData>, ) -> Result<I, InvalidId>
where I: Proxy,

Send a request for this object that creates another object. Read more
Source§

fn downgrade(&self) -> Weak<Self>

Creates a weak handle to this object Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.