Skip to main content

WindowCommand

Enum WindowCommand 

Source
pub enum WindowCommand {
    StartDrag(WindowId),
    Close(WindowId),
    Minimize(WindowId),
    ToggleMaximize(WindowId),
    Open {
        id: WindowId,
        owner: WindowId,
        origin: OriginId,
        config: WindowConfig,
    },
    SetSize {
        window: WindowId,
        size: Size,
    },
    Focus(WindowId),
    Redraw(WindowId),
}
Expand description

A window-level intent for the frame driver, drained with Core::take_window_commands after each input dispatch and each frame. Three things produce one: input on a chrome node, the diff of the declared window set, and an app asking directly (Core::set_window_size, Core::focus_window, Core::push_window_command). A headless driver never drains.

Every variant says which window it is about (WindowCommand::window) and is Copy: an Open carries no title (the new window’s first frame declares one through window_title).

Variants§

§

StartDrag(WindowId)

Begin an interactive OS move (the press landed on a Drag node).

§

Close(WindowId)

Close this window: from its chrome close button, or because no frame declares it any more. For the main window a driver exits.

§

Minimize(WindowId)

§

ToggleMaximize(WindowId)

§

Open

Open a window the declared set gained. id is the one the core assigned and will stamp on the window’s events; origin is the frontend whose declaration won (a host may refuse an extension’s); owner is the window whose frame that declaration came from — what a WindowKind::Popup is anchored against and owned by, and what closing takes the popup with it (the owner’s declarations leave the declared set when the owner does, so the diff closes the child in the same pass).

Fields

§owner: WindowId
§origin: OriginId
§

SetSize

Resize window to size (logical px), asked for by the app (Core::set_window_size). A command rather than part of the declaration, because the user owns a window’s size once it exists. The OS may answer with a different size (a minimum, a tiling manager); the frame that follows posts a resize event with whatever it actually became.

Fields

§window: WindowId
§size: Size
§

Focus(WindowId)

Give window keyboard focus (Core::focus_window). Advisory, like every focus request an app makes of a window manager.

§

Redraw(WindowId)

Draw window again: something another window’s frame or input changed is shown there (the devtools window’s row hover outlines a node in the main window). A driver that redraws every window on every event may ignore it.

Implementations§

Source§

impl WindowCommand

Source

pub fn kind_name(&self) -> &'static str

The command’s wire name: startDrag, close, minimize, toggleMaximize, open, setSize, focus, redraw.

Source

pub fn to_value(&self) -> Value

{kind, window} plus what the variant carries: width/height for setSize; owner, origin and config for open.

Source

pub fn window(&self) -> WindowId

The window the command is about.

Trait Implementations§

Source§

impl Clone for WindowCommand

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for WindowCommand

Source§

impl Debug for WindowCommand

Source§

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

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

impl PartialEq for WindowCommand

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for WindowCommand

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

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

Source§

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

Source§

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

Source§

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
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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

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

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

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.