⚠️ VeridianOS Kernel Documentation - This is low-level kernel code. All functions are unsafe unless explicitly marked otherwise. no_std

DesktopMessageType

Enum DesktopMessageType 

Source
#[repr(u32)]
pub enum DesktopMessageType {
Show 35 variants CreateWindow = 100, DestroyWindow = 101, MoveWindow = 102, ResizeWindow = 103, FocusWindow = 104, UpdateWindowContent = 105, MinimizeWindow = 106, MaximizeWindow = 107, SetWindowTitle = 108, GetWindowGeometry = 109, KeyPress = 200, KeyRelease = 201, MouseMove = 202, MouseButton = 203, ScrollEvent = 204, TouchDown = 205, TouchUp = 206, TouchMotion = 207, TerminalInput = 300, TerminalOutput = 301, TerminalResize = 302, SurfaceCommit = 400, SurfaceAttach = 401, SurfaceDamage = 402, FrameCallback = 403, NotificationShow = 500, NotificationDismiss = 501, NotificationAction = 502, ClipboardSet = 600, ClipboardGet = 601, ClipboardChanged = 602, LaunchApp = 700, ListApps = 701, Success = 900, Error = 901,
}
Expand description

Desktop IPC message types.

Grouped by subsystem with non-overlapping discriminant ranges so that a single match on the wire u32 unambiguously identifies the message.

Variants§

§

CreateWindow = 100

Request: create a new window

§

DestroyWindow = 101

Request: destroy an existing window

§

MoveWindow = 102

Request: move a window to (x, y)

§

ResizeWindow = 103

Request: resize a window to (w, h)

§

FocusWindow = 104

Request: give keyboard focus to a window

§

UpdateWindowContent = 105

Request: update a region of the window’s framebuffer

§

MinimizeWindow = 106

Request: minimize a window

§

MaximizeWindow = 107

Request: maximize/restore a window

§

SetWindowTitle = 108

Request: set a window’s title

§

GetWindowGeometry = 109

Request: query window geometry

§

KeyPress = 200

Event: key pressed

§

KeyRelease = 201

Event: key released

§

MouseMove = 202

Event: pointer motion

§

MouseButton = 203

Event: pointer button press/release

§

ScrollEvent = 204

Event: scroll wheel or touchpad scroll

§

TouchDown = 205

Event: touch down

§

TouchUp = 206

Event: touch up

§

TouchMotion = 207

Event: touch motion

§

TerminalInput = 300

Data: terminal stdin bytes

§

TerminalOutput = 301

Data: terminal stdout bytes

§

TerminalResize = 302

Request: resize terminal (cols, rows)

§

SurfaceCommit = 400

Request: commit surface

§

SurfaceAttach = 401

Request: attach buffer to surface

§

SurfaceDamage = 402

Request: mark damage region

§

FrameCallback = 403

Event: frame callback

§

NotificationShow = 500

Request: show a notification

§

NotificationDismiss = 501

Request: dismiss a notification

§

NotificationAction = 502

Event: notification was clicked

§

ClipboardSet = 600

Request: set clipboard content

§

ClipboardGet = 601

Request: get clipboard content

§

ClipboardChanged = 602

Event: clipboard content changed

§

LaunchApp = 700

Request: launch an application by name

§

ListApps = 701

Request: list available applications

§

Success = 900

Generic success response

§

Error = 901

Generic error response with reason code

Implementations§

Source§

impl DesktopMessageType

Source

pub fn from_u32(v: u32) -> Option<Self>

Convert from a raw u32 wire value.

Trait Implementations§

Source§

impl Clone for DesktopMessageType

Source§

fn clone(&self) -> DesktopMessageType

Returns a duplicate of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DesktopMessageType

Source§

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

Formats the value using the given formatter. Read more
Source§

impl PartialEq for DesktopMessageType

Source§

fn eq(&self, other: &DesktopMessageType) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for DesktopMessageType

Source§

impl Eq for DesktopMessageType

Source§

impl StructuralPartialEq for DesktopMessageType

Auto Trait Implementations§

§

impl Freeze for DesktopMessageType

§

impl RefUnwindSafe for DesktopMessageType

§

impl Send for DesktopMessageType

§

impl Sync for DesktopMessageType

§

impl Unpin for DesktopMessageType

§

impl UnwindSafe for DesktopMessageType

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.