#[non_exhaustive]pub struct Node {Show 30 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>,
pub nodes: Vec<Node>,
pub floating_nodes: Vec<Node>,
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>,
pub inhibit_idle: Option<bool>,
pub idle_inhibitors: Option<IdleInhibitors>,
pub shell: Option<ShellType>,
pub visible: Option<bool>,
pub output: Option<String>,
}
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
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>
Array of child node IDs in the current focus order.
nodes: Vec<Node>
The tiling children nodes for the node.
floating_nodes: Vec<Node>
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>
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.
output: Option<String>
(Only workspaces) Name of the output the node is located on.