#[non_exhaustive]
pub enum Request<'a> {
Show 23 variants 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, }, SetHighDynamicRange { outputdevice: KdeOutputDeviceV2, enable_hdr: u32, }, SetSdrBrightness { outputdevice: KdeOutputDeviceV2, sdr_brightness: u32, }, SetWideColorGamut { outputdevice: KdeOutputDeviceV2, enable_wcg: u32, }, SetAutoRotatePolicy { outputdevice: KdeOutputDeviceV2, policy: WEnum<AutoRotatePolicy>, }, SetIccProfilePath { outputdevice: KdeOutputDeviceV2, profile_path: String, }, SetBrightnessOverrides { outputdevice: KdeOutputDeviceV2, max_peak_brightness: i32, max_frame_average_brightness: i32, min_brightness: i32, }, SetSdrGamutWideness { outputdevice: KdeOutputDeviceV2, gamut_wideness: u32, }, SetColorProfileSource { outputdevice: KdeOutputDeviceV2, color_profile_source: WEnum<ColorProfileSource>, }, SetBrightness { outputdevice: KdeOutputDeviceV2, brightness: u32, }, SetColorPowerTradeoff { outputdevice: KdeOutputDeviceV2, preference: WEnum<ColorPowerTradeoff>, }, SetDimming { outputdevice: KdeOutputDeviceV2, multiplier: 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

enable or disable an output

Mark the output as enabled or disabled.

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice to be en- or disabled

§enable: i32

1 to enable or 0 to disable this output

§

Mode

switch output-device to mode

Sets the mode for a given output.

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this mode change applies to

§mode: KdeOutputDeviceModeV2

the mode to apply

§

Transform

transform output-device

Sets the transformation for a given output.

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this transformation change applies to

§transform: i32

transform enum

§

Position

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.

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this position applies to

§x: i32

position on the x-axis

§y: i32

position on the y-axis

§

Scale

set scaling factor of this output

Sets the scaling factor for this output device.

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this scale change applies to

§scale: f64

scaling factor

§

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

set overscan value

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

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice overscan applies to

§overscan: u32

overscan value

§

SetVrrPolicy

set the VRR policy

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

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this VRR policy applies to

§policy: WEnum<VrrPolicy>

the vrr policy to apply

§

SetRgbRange

RGB range

Whether full or limited color range should be used

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice the rgb range applies to

§rgb_range: WEnum<RgbRange>
§

SetPrimaryOutput

Select which primary output to use

Only available since version 2 of the interface

Fields

§

SetPriority

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

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice the index applies to

§priority: u32

the priority of the output

§

SetHighDynamicRange

change if HDR should be enabled

Sets whether or not the output should be set to HDR mode.

Only available since version 4 of the interface

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this setting applies to

§enable_hdr: u32

1 to enable, 0 to disable hdr

§

SetSdrBrightness

set the brightness for sdr content

Sets the brightness of standard dynamic range content in nits. Only has an effect while the output is in HDR mode. Note that while the value is in nits, that doesn’t necessarily translate to the same brightness on the screen.

Only available since version 4 of the interface

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this setting applies to

§sdr_brightness: u32
§

SetWideColorGamut

change if a wide color gamut should be used

Whether or not the output should use a wide color gamut

Only available since version 4 of the interface

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this setting applies to

§enable_wcg: u32

1 to enable, 0 to disable wcg

§

SetAutoRotatePolicy

change when auto rotate should be used

Only available since version 5 of the interface

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this setting applies to

§

SetIccProfilePath

change the used icc profile

Only available since version 6 of the interface

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this setting applies to

§profile_path: String
§

SetBrightnessOverrides

override metadata about the screen’s brightness limits

Only available since version 7 of the interface

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this setting applies to

§max_peak_brightness: i32

-1 for not overriding, or positive values in nits

§max_frame_average_brightness: i32

-1 for not overriding, or positive values in nits

§min_brightness: i32

-1 for not overriding, or positive values in 0.0001 nits

§

SetSdrGamutWideness

describes which gamut is assumed for sRGB applications

This can be used to provide the colors users assume sRGB applications should have based on the default experience on many modern sRGB screens.

Only available since version 7 of the interface

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this setting applies to

§gamut_wideness: u32

0 means rec.709 primaries, 10000 means native primaries

§

SetColorProfileSource

which source the compositor should use for the color profile on an output

Only available since version 8 of the interface

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this setting applies to

§color_profile_source: WEnum<ColorProfileSource>

the color profile source

§

SetBrightness

brightness multiplier

Set the brightness modifier of the output. It doesn’t specify any absolute values, but is merely a multiplier on top of other brightness values, like sdr_brightness and brightness_metadata. 0 is the minimum brightness (not completely dark) and 10000 is the maximum brightness. This is supported while HDR is active in versions 8 and below, or when the device supports the brightness_control capability in versions 9 and above.

Only available since version 9 of the interface

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this setting applies to

§brightness: u32

brightness in 0-10000

§

SetColorPowerTradeoff

set the preferred color/power tradeoff

Only available since version 10 of the interface

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this setting applies to

§

SetDimming

dimming multiplier

Set the dimming multiplier of the output. This is similar to the brightness setting, except it’s meant to be a temporary setting only, not persistent and may be implemented differently depending on the display. 0 is the minimum dimming factor (not completely dark) and 10000 means the output is not dimmed.

This is supported only when the brightness_control capability is also supported.

Only available since version 11 of the interface

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this setting applies to

§multiplier: u32

multiplier in 0-10000

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> Freeze for Request<'a>

§

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
§

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

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.