#[non_exhaustive]
pub enum Event {
Show 14 variants Name { name: String, }, Description { description: String, }, PhysicalSize { width: i32, height: i32, }, Mode { mode: ZwlrOutputModeV1, }, Enabled { enabled: i32, }, CurrentMode { mode: ZwlrOutputModeV1, }, Position { x: i32, y: i32, }, Transform { transform: WEnum<Transform>, }, Scale { scale: f64, }, Finished, Make { make: String, }, Model { model: String, }, SerialNumber { serial_number: String, }, AdaptiveSync { state: WEnum<AdaptiveSyncState>, },
}

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

Name

head name

This event describes the head name.

The naming convention is compositor defined, but limited to alphanumeric characters and dashes (-). Each name is unique among all wlr_output_head objects, but if a wlr_output_head object is destroyed the same name may be reused later. The names will also remain consistent across sessions with the same hardware and software configuration.

Examples of names include ‘HDMI-A-1’, ‘WL-1’, ‘X11-1’, etc. However, do not assume that the name is a reflection of an underlying DRM connector, X11 connection, etc.

If the compositor implements the xdg-output protocol and this head is enabled, the xdg_output.name event must report the same name.

The name event is sent after a wlr_output_head object is created. This event is only sent once per object, and the name does not change over the lifetime of the wlr_output_head object.

Fields

§name: String
§

Description

head description

This event describes a human-readable description of the head.

The description is a UTF-8 string with no convention defined for its contents. Examples might include ‘Foocorp 11“ Display’ or ‘Virtual X11 output via :1’. However, do not assume that the name is a reflection of the make, model, serial of the underlying DRM connector or the display name of the underlying X11 connection, etc.

If the compositor implements xdg-output and this head is enabled, the xdg_output.description must report the same description.

The description event is sent after a wlr_output_head object is created. This event is only sent once per object, and the description does not change over the lifetime of the wlr_output_head object.

Fields

§description: String
§

PhysicalSize

head physical size

This event describes the physical size of the head. This event is only sent if the head has a physical size (e.g. is not a projector or a virtual device).

Fields

§width: i32

width in millimeters of the output

§height: i32

height in millimeters of the output

§

Mode

introduce a mode

This event introduces a mode for this head. It is sent once per supported mode.

Fields

§

Enabled

head is enabled or disabled

This event describes whether the head is enabled. A disabled head is not mapped to a region of the global compositor space.

When a head is disabled, some properties (current_mode, position, transform and scale) are irrelevant.

Fields

§enabled: i32

zero if disabled, non-zero if enabled

§

CurrentMode

current mode

This event describes the mode currently in use for this head. It is only sent if the output is enabled.

Fields

§

Position

current position

This events describes the position of the head in the global compositor space. It is only sent if the output is enabled.

Fields

§x: i32

x position within the global compositor space

§y: i32

y position within the global compositor space

§

Transform

current transformation

This event describes the transformation currently applied to the head. It is only sent if the output is enabled.

Fields

§transform: WEnum<Transform>
§

Scale

current scale

This events describes the scale of the head in the global compositor space. It is only sent if the output is enabled.

Fields

§scale: f64
§

Finished

the head has disappeared

This event indicates that the head is no longer available. The head object becomes inert. Clients should send a destroy request and release any resources associated with it.

§

Make

head manufacturer

This event describes the manufacturer of the head.

This must report the same make as the wl_output interface does in its geometry event.

Together with the model and serial_number events the purpose is to allow clients to recognize heads from previous sessions and for example load head-specific configurations back.

It is not guaranteed this event will be ever sent. A reason for that can be that the compositor does not have information about the make of the head or the definition of a make is not sensible in the current setup, for example in a virtual session. Clients can still try to identify the head by available information from other events but should be aware that there is an increased risk of false positives.

It is not recommended to display the make string in UI to users. For that the string provided by the description event should be preferred.

Only available since version 2 of the interface

Fields

§make: String
§

Model

head model

This event describes the model of the head.

This must report the same model as the wl_output interface does in its geometry event.

Together with the make and serial_number events the purpose is to allow clients to recognize heads from previous sessions and for example load head-specific configurations back.

It is not guaranteed this event will be ever sent. A reason for that can be that the compositor does not have information about the model of the head or the definition of a model is not sensible in the current setup, for example in a virtual session. Clients can still try to identify the head by available information from other events but should be aware that there is an increased risk of false positives.

It is not recommended to display the model string in UI to users. For that the string provided by the description event should be preferred.

Only available since version 2 of the interface

Fields

§model: String
§

SerialNumber

head serial number

This event describes the serial number of the head.

Together with the make and model events the purpose is to allow clients to recognize heads from previous sessions and for example load head- specific configurations back.

It is not guaranteed this event will be ever sent. A reason for that can be that the compositor does not have information about the serial number of the head or the definition of a serial number is not sensible in the current setup. Clients can still try to identify the head by available information from other events but should be aware that there is an increased risk of false positives.

It is not recommended to display the serial_number string in UI to users. For that the string provided by the description event should be preferred.

Only available since version 2 of the interface

Fields

§serial_number: String
§

AdaptiveSync

current adaptive sync state

This event describes whether adaptive sync is currently enabled for the head or not. Adaptive sync is also known as Variable Refresh Rate or VRR.

Only available since version 4 of the interface

Implementations§

source§

impl Event

source

pub fn opcode(&self) -> u16

Get the opcode number of this message

Trait Implementations§

source§

impl Debug for Event

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Event

§

impl !RefUnwindSafe for Event

§

impl Send for Event

§

impl Sync for Event

§

impl Unpin for Event

§

impl !UnwindSafe for Event

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 + Sync + Send>

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.