#[non_exhaustive]
pub enum Request<'a> { Enable { outputdevice: KdeOutputDeviceV2, enable: i32, }, Mode { outputdevice: KdeOutputDeviceV2, mode: KdeOutputDeviceModeV2, }, Transform { outputdevice: KdeOutputDeviceV2, transform: i32, }, Position { outputdevice: KdeOutputDeviceV2, x: i32, y: i32, }, Scale { outputdevice: KdeOutputDeviceV2, scale: f64, }, Apply, Destroy, Overscan { outputdevice: KdeOutputDeviceV2, overscan: u32, }, SetVrrPolicy { outputdevice: KdeOutputDeviceV2, policy: WEnum<VrrPolicy>, }, SetRgbRange { outputdevice: KdeOutputDeviceV2, rgb_range: WEnum<RgbRange>, }, SetPrimaryOutput { output: KdeOutputDeviceV2, }, SetPriority { outputdevice: KdeOutputDeviceV2, priority: u32, }, }

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Enable

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice to be en- or disabled

§enable: i32

1 to enable or 0 to disable this output

enable or disable an output

Mark the output as enabled or disabled.

§

Mode

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this mode change applies to

§mode: KdeOutputDeviceModeV2

the mode to apply

switch output-device to mode

Sets the mode for a given output.

§

Transform

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this transformation change applies to

§transform: i32

transform enum

transform output-device

Sets the transformation for a given output.

§

Position

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this position applies to

§x: i32

position on the x-axis

§y: i32

position on the y-axis

position output in global space

Sets the position for this output device. (x,y) describe the top-left corner of the output in global space, whereby the origin (0,0) of the global space has to be aligned with the top-left corner of the most left and in case this does not define a single one the top output.

There may be no gaps or overlaps between outputs, i.e. the outputs are stacked horizontally, vertically, or both on each other.

§

Scale

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this scale change applies to

§scale: f64

scaling factor

set scaling factor of this output

Sets the scaling factor for this output device.

§

Apply

apply configuration changes to all output devices

Asks the server to apply property changes requested through this outputconfiguration object to all outputs on the server side.

The output configuration can be applied only once. The already_applied protocol error will be posted if the apply request is called the second time.

§

Destroy

release the outputconfiguration object

This is a destructor, once sent this object cannot be used any longer.

§

Overscan

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice overscan applies to

§overscan: u32

overscan value

set overscan value

Set the overscan value of this output device with a value in percent.

§

SetVrrPolicy

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this VRR policy applies to

§policy: WEnum<VrrPolicy>

the vrr policy to apply

set the VRR policy

Set what policy the compositor should employ regarding its use of variable refresh rate.

§

SetRgbRange

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice the rgb range applies to

§rgb_range: WEnum<RgbRange>

RGB range

Whether full or limited color range should be used

§

SetPrimaryOutput

Fields

Select which primary output to use

Only available since version 2 of the interface

§

SetPriority

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice the index applies to

§priority: u32

the priority of the output

Set the order of outputs

The order of outputs can be used to assign desktop environment components to a specific screen, see kde_output_order_v1 for details. The priority is 1-based for outputs that will be enabled after this changeset is applied, all outputs that are disabled need to have the index set to zero.

Only available since version 3 of the interface

Implementations§

source§

impl<'a> Request<'a>

source

pub fn opcode(&self) -> u16

Get the opcode number of this message

Trait Implementations§

source§

impl<'a> Debug for Request<'a>

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> !RefUnwindSafe for Request<'a>

§

impl<'a> Send for Request<'a>

§

impl<'a> Sync for Request<'a>

§

impl<'a> Unpin for Request<'a>

§

impl<'a> !UnwindSafe for Request<'a>

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> Downcast for T
where T: Any,

source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert 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>

Convert 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)

Convert &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)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
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, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.