#[non_exhaustive]
pub struct Node {
Show 29 fields pub id: i64, pub name: Option<String>, pub node_type: NodeType, pub border: NodeBorder, pub current_border_width: i32, pub layout: NodeLayout, pub percent: Option<f64>, pub rect: Rect, pub window_rect: Rect, pub deco_rect: Rect, pub geometry: Rect, pub urgent: bool, pub focused: bool, pub focus: Vec<i64, Global>, pub nodes: Vec<Node, Global>, pub floating_nodes: Vec<Node, Global>, pub sticky: bool, pub representation: Option<String>, pub fullscreen_mode: Option<u8>, pub app_id: Option<String>, pub pid: Option<i32>, pub window: Option<i64>, pub num: Option<i32>, pub window_properties: Option<WindowProperties>, pub marks: Vec<String, Global>, pub inhibit_idle: Option<bool>, pub idle_inhibitors: Option<IdleInhibitors>, pub shell: Option<ShellType>, pub visible: Option<bool>,
}

Fields (Non-exhaustive)

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
id: i64

The internal unique ID for this node.

name: Option<String>

The name of the node such as the output name or window title. For the scratchpad, this will be __i3_scratch for compatibility with i3.

node_type: NodeType

The node type. It can be root, output, workspace, con, or floating_con.

border: NodeBorder

The border style for the node. It can be normal, none, pixel, or csd.

current_border_width: i32

Number of pixels used for the border width.

layout: NodeLayout

The node’s layout. It can either be splith, splitv, stacked, tabbed, or output.

percent: Option<f64>

The percentage of the node’s parent that it takes up or null for the root and other special nodes such as the scratchpad.

rect: Rect

The absolute geometry of the node. The window decorations are excluded from this, but borders are included.

window_rect: Rect

The geometry of the contents inside the node. The window decorations are excluded from this calculation, but borders are included.

deco_rect: Rect

The geometry of the decorations for the node relative to the parent node.

geometry: Rect

The natural geometry of the contents if it were to size itself.

urgent: bool

Whether the node or any of its descendants has the urgent hint set. Note: This may not exist when compiled without xwayland support.

focused: bool

Whether the node is currently focused by the default seat (seat0).

focus: Vec<i64, Global>

Array of child node IDs in the current focus order.

nodes: Vec<Node, Global>

The tiling children nodes for the node.

floating_nodes: Vec<Node, Global>

The floating children nodes for the node.

sticky: bool

Whether the node is sticky (shows on all workspaces).

representation: Option<String>

(Only workspaces) A string representation of the layout of the workspace that can be used as an aid in submitting reproduction steps for bug reports.

fullscreen_mode: Option<u8>

(Only containers and views) The fullscreen mode of the node. 0 means none, 1 means full workspace, and 2 means global fullscreen.

app_id: Option<String>

(Only views) For an xdg-shell view, the name of the application, if set. Otherwise, null.

pid: Option<i32>

(Only views) The PID of the application that owns the view.

window: Option<i64>

(Only xwayland views) The X11 window ID for the xwayland view.

num: Option<i32>window_properties: Option<WindowProperties>

(Only xwayland views) An object containing the title, class, instance, window_role, window_type, and transient_for for the view.

marks: Vec<String, Global>

List of marks assigned to the node.

inhibit_idle: Option<bool>

(Only views) Whether the view is inhibiting the idle state.

idle_inhibitors: Option<IdleInhibitors>

(Only views) An object containing the state of the application and user idle inhibitors. application can be enabled or none. user can be focus, fullscreen, open, visible or none.

shell: Option<ShellType>

(Only views) The shell of the view, such as xdg_shell or xwayland.

visible: Option<bool>

(Only views) Whether the node is visible.

Implementations

Trait Implementations

Formats the value using the given formatter. Read more

Deserialize this value from the given Serde deserializer. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.