Skip to main content

Request

#[non_exhaustive]
pub enum Request<'a> {
Show 33 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, }, SetReplicationSource { outputdevice: KdeOutputDeviceV2, source: String, }, SetDdcCiAllowed { outputdevice: KdeOutputDeviceV2, allowed: u32, }, SetMaxBitsPerColor { outputdevice: KdeOutputDeviceV2, max_bpc: u32, }, SetEdrPolicy { outputdevice: KdeOutputDeviceV2, policy: WEnum<EdrPolicy>, }, SetSharpness { outputdevice: KdeOutputDeviceV2, sharpness: u32, }, SetCustomModes { outputdevice: KdeOutputDeviceV2, modes: KdeModeListV2, }, SetAutoBrightness { outputdevice: KdeOutputDeviceV2, enabled: u32, }, SetHdrIccProfilePath { outputdevice: KdeOutputDeviceV2, profile_path: String, }, SetHdrColorProfileSource { outputdevice: KdeOutputDeviceV2, color_profile_source: WEnum<ColorProfileSource>, }, SetAbmLevel { outputdevice: KdeOutputDeviceV2, level: 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

Set the position of the output in the output order list, with lower values being earlier in the list. There’s no specific value the list has to start at, this value is only used in sorting outputs.

The order of outputs can be used to assign desktop environment components to a specific screen, see kde_output_order_v1 and kde-output-device-v2 for details. Note that for consistent behavior, the priority value needs to be unique among all enabled outputs.

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

§policy: WEnum<AutoRotatePolicy>
§

SetIccProfilePath

change the used icc profile for SDR mode

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 in SDR mode

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

§preference: WEnum<ColorPowerTradeoff>
§

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

§

SetReplicationSource

source output for mirroring

Set the source output that the outputdevice should mirror its viewport from.

Only available since version 13 of the interface

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this setting applies to

§source: String

uuid of the source output

§

SetDdcCiAllowed

if DDC/CI should be used to control brightness etc.

Only available since version 14 of the interface

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this setting applies to

§allowed: u32

1 if allowed, 0 if disabled

§

SetMaxBitsPerColor

override the max bpc

This limits the amount of bits per color that are sent to the display.

Only available since version 15 of the interface

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this setting applies to

§max_bpc: u32

0 for the default / automatic

§

SetEdrPolicy

set when the compositor may apply EDR

When EDR is enabled, the compositor may increase the backlight beyond the user-specified setting, in order to present HDR content on displays without native HDR support. This will usually result in better visuals, but also increases battery usage.

Only available since version 16 of the interface

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this setting applies to

§policy: WEnum<EdrPolicy>
§

SetSharpness

sharpness strength

This is the sharpness modifier of the output. 0 is sharpness disabled and 10000 is the maximum sharpness

Only available since version 17 of the interface

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this setting applies to

§sharpness: u32

sharpness in 0-10000

§

SetCustomModes

set the custom mode list

Set the list of custom modes for this output. The compositor will in response generate the requested modes and add them to the output (or delete ones no longer in the list). This can be useful for overclocking displays, or for working around broken EDIDs. Note that there is no guarantee for any custom mode to actually work, or even to leave the display undamaged (in the case of CRTs). It’s entirely the responsibility of the user to ensure each added mode is the right one for their display.

Only available since version 18 of the interface

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this setting applies to

§

SetAutoBrightness

whether or not automatic brightness is enabled

Only available since version 19 of the interface

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this setting applies to

§enabled: u32

1 for enabled, 0 for disabled

§

SetHdrIccProfilePath

change the used icc profile for HDR mode

Only available since version 20 of the interface

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this setting applies to

§profile_path: String
§

SetHdrColorProfileSource

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

Only available since version 20 of the interface

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this setting applies to

§color_profile_source: WEnum<ColorProfileSource>

the color profile source

§

SetAbmLevel

set the allowed level of adaptive backlight modulation

Adaptive backlight modulation is a feature that reduces the backlight and increases contrast of colors on the screen to improve power usage.

Only available since version 21 of the interface

Fields

§outputdevice: KdeOutputDeviceV2

outputdevice this setting applies to

§level: u32

0 is off, 4 is the maximum level

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

§

impl<'a> Freeze for Request<'a>

§

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

§

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

§

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

§

impl<'a> UnsafeUnpin 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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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

impl<T> Ungil for T
where T: Send,

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more