pub struct KdeOutputManagementV2 { /* private fields */ }Expand description
configuration of server outputs through clients
This interface enables clients to set properties of output devices for screen configuration purposes via the server. To this end output devices are referenced by global kde_output_device_v2 objects.
§outputmanagement (wl_global)
request:
- create_configuration -> outputconfiguration (wl_resource)
§outputconfiguration (wl_resource)
requests:
- enable(outputdevice, bool)
- mode(outputdevice, mode)
- transformation(outputdevice, flag)
- position(outputdevice, x, y)
- apply
events:
- applied
- failed
The server registers one outputmanagement object as a global object. In order to configure outputs a client requests create_configuration, which provides a resource referencing an outputconfiguration for one-time configuration. That way the server knows which requests belong together and can group them by that.
On the outputconfiguration object the client calls for each output whether the output should be enabled, which mode should be set (by referencing the mode from the list of announced modes) and the output’s global position. Once all outputs are configured that way, the client calls apply. At that point and not earlier the server should try to apply the configuration. If this succeeds the server emits the applied signal, otherwise the failed signal, such that the configuring client is noticed about the success of its configuration request.
Through this design the interface enables atomic output configuration changes if internally supported by the server.
Warning! The protocol described in this file is a desktop environment implementation detail. Regular clients must not use this protocol. Backward incompatible changes may be added without bumping the major version of the extension.
This interface has no events.
Implementations§
Source§impl KdeOutputManagementV2
impl KdeOutputManagementV2
Sourcepub fn create_configuration<U: Send + Sync + 'static, D: Dispatch<KdeOutputConfigurationV2, U> + 'static>(
&self,
qh: &QueueHandle<D>,
udata: U,
) -> KdeOutputConfigurationV2
pub fn create_configuration<U: Send + Sync + 'static, D: Dispatch<KdeOutputConfigurationV2, U> + 'static>( &self, qh: &QueueHandle<D>, udata: U, ) -> KdeOutputConfigurationV2
provide outputconfiguration object for configuring outputs
Request an outputconfiguration object through which the client can configure output devices.
Sourcepub fn create_mode_list<U: Send + Sync + 'static, D: Dispatch<KdeModeListV2, U> + 'static>(
&self,
qh: &QueueHandle<D>,
udata: U,
) -> KdeModeListV2
pub fn create_mode_list<U: Send + Sync + 'static, D: Dispatch<KdeModeListV2, U> + 'static>( &self, qh: &QueueHandle<D>, udata: U, ) -> KdeModeListV2
create a list of custom modes
For details, see the description of kde_mode_list_v2 and kde_output_configuration_v2.set_custom_modes.
Trait Implementations§
Source§impl Borrow<ObjectId> for KdeOutputManagementV2
impl Borrow<ObjectId> for KdeOutputManagementV2
Source§impl Clone for KdeOutputManagementV2
impl Clone for KdeOutputManagementV2
Source§fn clone(&self) -> KdeOutputManagementV2
fn clone(&self) -> KdeOutputManagementV2
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for KdeOutputManagementV2
impl Debug for KdeOutputManagementV2
impl Eq for KdeOutputManagementV2
Source§impl Hash for KdeOutputManagementV2
impl Hash for KdeOutputManagementV2
Source§impl PartialEq for KdeOutputManagementV2
impl PartialEq for KdeOutputManagementV2
Source§impl PartialEq<Weak<KdeOutputManagementV2>> for KdeOutputManagementV2
impl PartialEq<Weak<KdeOutputManagementV2>> for KdeOutputManagementV2
Source§impl Proxy for KdeOutputManagementV2
impl Proxy for KdeOutputManagementV2
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 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 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>
Auto Trait Implementations§
impl !RefUnwindSafe for KdeOutputManagementV2
impl !UnwindSafe for KdeOutputManagementV2
impl Freeze for KdeOutputManagementV2
impl Send for KdeOutputManagementV2
impl Sync for KdeOutputManagementV2
impl Unpin for KdeOutputManagementV2
impl UnsafeUnpin for KdeOutputManagementV2
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more