#[non_exhaustive]
pub enum Request { Enable { outputdevice: OrgKdeKwinOutputdevice, enable: i32, }, Mode { outputdevice: OrgKdeKwinOutputdevice, mode_id: i32, }, Transform { outputdevice: OrgKdeKwinOutputdevice, transform: i32, }, Position { outputdevice: OrgKdeKwinOutputdevice, x: i32, y: i32, }, Scale { outputdevice: OrgKdeKwinOutputdevice, scale: i32, }, Apply, Scalef { outputdevice: OrgKdeKwinOutputdevice, scale: f64, }, Colorcurves { outputdevice: OrgKdeKwinOutputdevice, red: Vec<u8>, green: Vec<u8>, blue: Vec<u8>, }, Destroy, Overscan { outputdevice: OrgKdeKwinOutputdevice, overscan: u32, }, SetVrrPolicy { outputdevice: OrgKdeKwinOutputdevice, policy: WEnum<VrrPolicy>, }, }

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: OrgKdeKwinOutputdevice

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: OrgKdeKwinOutputdevice

outputdevice this mode change applies to

§mode_id: i32

aspired mode’s id

switch outputdevice to mode

Sets the mode for a given output by its mode size (width and height) and refresh rate.

§

Transform

Fields

§outputdevice: OrgKdeKwinOutputdevice

outputdevice this transformation change applies to

§transform: i32

transform enum

transform outputdevice

Sets the transformation for a given output.

§

Position

Fields

§outputdevice: OrgKdeKwinOutputdevice

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: OrgKdeKwinOutputdevice

outputdevice this mode change applies to

§scale: i32

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.

§

Scalef

Fields

§outputdevice: OrgKdeKwinOutputdevice

outputdevice this mode change applies to

§scale: f64

scaling factor

set scaling factor of this output

Sets the scaling factor for this output device. Sending both scale and scalef is undefined.

Only available since version 2 of the interface

§

Colorcurves

Fields

§outputdevice: OrgKdeKwinOutputdevice

outputdevice curves apply to

§red: Vec<u8>

red color ramp

§green: Vec<u8>

green color ramp

§blue: Vec<u8>

blue color ramp

set output color curves

Set color curves of output devices through RGB color ramps. Allows color correction of output device from user space.

These are the raw values. A compositor might opt to adjust these values internally, for example to shift color temperature at night.

Only available since version 2 of the interface

§

Destroy

release the outputconfiguration object

This is a destructor, once received this object cannot be used any longer. Only available since version 2 of the interface

§

Overscan

Fields

§outputdevice: OrgKdeKwinOutputdevice

outputdevice overscan applies to

§overscan: u32

overscan value

set overscan value

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

Only available since version 3 of the interface

§

SetVrrPolicy

Fields

§outputdevice: OrgKdeKwinOutputdevice

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.

Only available since version 4 of the interface

Implementations§

source§

impl Request

source

pub fn opcode(&self) -> u16

Get the opcode number of this message

Trait Implementations§

source§

impl Debug for Request

source§

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

Formats the value using the given formatter. 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
§

impl<T> Downcast for T
where T: Any,

§

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.
§

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.
§

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.
§

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.
§

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

§

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.