The reply consists of a serialized tree. Each node in the tree (representing
one container) has at least the properties listed below. While the nodes might
have more properties, please do not use any properties which are not documented
@@ -426,24 +543,44 @@ name (string)
The internal name of this container. For all containers which are part
of the tree structure down to the workspace contents, this is set to a
nice human-readable name of the container.
+ For containers that have an X11 window, the content is the title
+ (_NET_WM_NAME property) of that window.
For all other containers, the content is not defined (yet).
+type (string)
+
+
+
+ Type of this container. Can be one of "root", "output", "con",
+ "floating_con", "workspace" or "dockarea".
+
+
+
border (string)
- Can be either "normal", "none" or "1pixel", dependending on the
+ Can be either "normal", "none" or "pixel", depending on the
containerâs border style.
+current_border_width (integer)
+
+
+
+ Number of pixels of the border width.
+
+
+
layout (string)
- Can be either "default", "stacked", "tabbed", "dockarea" or "output".
+ Can be either "splith", "splitv", "stacked", "tabbed", "dockarea" or
+ "output".
Other values might be possible in the future, should we add new
layouts.
@@ -455,6 +592,8 @@ orientation (string)
Can be either "none" (for non-split containers), "horizontal" or
"vertical".
+ THIS FIELD IS OBSOLETE. It is still present, but your code should not
+ use it. Instead, rely on the layout field.
@@ -493,6 +632,16 @@ window_rect (map)
+deco_rect (map)
+
+
+
+ The coordinates of the window decoration inside its container. These
+ coordinates are relative to the container and do not include the actual
+ client window.
+
+
+
geometry (map)
@@ -502,11 +651,33 @@ geometry (map)
+window (integer)
+
+
+
+ The X11 window ID of the actual client window inside this container.
+ This field is set to null for split containers or otherwise empty
+ containers. This ID corresponds to what xwininfo(1) and other
+ X11-related tools display (usually in hex).
+
+
+
+window_properties (map)
+
+
+
+ X11 window properties title, instance, class, window_role and transient_for.
+
+
+
urgent (bool)
- Whether this container (window or workspace) has the urgency hint set.
+ Whether this container (window, split container, floating container or
+ workspace) has the urgency hint set, directly or indirectly. All parent
+ containers up until the workspace container will be marked urgent if they
+ have at least one urgent child.
@@ -517,6 +688,34 @@ focused (bool)
Whether this container is currently focused.
+
+focus (array of integer)
+
+
+
+ List of child node IDs (see nodes, floating_nodes and id) in focus
+ order. Traversing the tree by following the first entry in this array
+ will result in eventually reaching the one node with focused set to
+ true.
+
+
+
+nodes (array of node)
+
+
+
+ The tiling (i.e. non-floating) child containers of this node.
+
+
+
+floating_nodes (array of node)
+
+
+
+ The floating child containers of this node. Only non-empty on nodes with
+ type workspace.
+
+
Please note that in the following example, I have left out some keys/values
which are not relevant for the type of the node. Otherwise, the example would
@@ -617,7 +816,7 @@ VGA1
"y": 0,
"width": 1280,
"height": 0
- },
+ }
},
{
@@ -641,6 +840,12 @@ VGA1
"width": 1280,
"height": 782
},
+ "window_properties": {
+ "class": "Evince",
+ "instance": "evince",
+ "title": "Properties",
+ "transient_for": 52428808
+ },
"floating_nodes": [],
"nodes": [
@@ -696,149 +901,996 @@ VGA1
}