mirror of
https://github.com/NickHu/sway
synced 2024-12-25 21:58:16 +01:00
ipc: add floating
property to GET_TREE
i3 has had this property for over a decade but it wasn't documented until a couple of years ago, so it was likely missed when developing sway. Add the property to get us closer to ipc parity with i3.
This commit is contained in:
parent
fca8474e9b
commit
2867ef646b
2 changed files with 10 additions and 1 deletions
|
@ -288,6 +288,7 @@ static json_object *ipc_json_create_node(int id, const char* type, char *name,
|
||||||
json_object_object_add(object, "focus", focus);
|
json_object_object_add(object, "focus", focus);
|
||||||
json_object_object_add(object, "fullscreen_mode", json_object_new_int(0));
|
json_object_object_add(object, "fullscreen_mode", json_object_new_int(0));
|
||||||
json_object_object_add(object, "sticky", json_object_new_boolean(false));
|
json_object_object_add(object, "sticky", json_object_new_boolean(false));
|
||||||
|
json_object_object_add(object, "floating", NULL);
|
||||||
|
|
||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
|
@ -675,7 +676,8 @@ static void ipc_json_describe_view(struct sway_container *c, json_object *object
|
||||||
static void ipc_json_describe_container(struct sway_container *c, json_object *object) {
|
static void ipc_json_describe_container(struct sway_container *c, json_object *object) {
|
||||||
json_object_object_add(object, "name",
|
json_object_object_add(object, "name",
|
||||||
c->title ? json_object_new_string(c->title) : NULL);
|
c->title ? json_object_new_string(c->title) : NULL);
|
||||||
if (container_is_floating(c)) {
|
bool floating = container_is_floating(c);
|
||||||
|
if (floating) {
|
||||||
json_object_object_add(object, "type",
|
json_object_object_add(object, "type",
|
||||||
json_object_new_string("floating_con"));
|
json_object_new_string("floating_con"));
|
||||||
}
|
}
|
||||||
|
@ -693,6 +695,10 @@ static void ipc_json_describe_container(struct sway_container *c, json_object *o
|
||||||
json_object_object_add(object, "urgent", json_object_new_boolean(urgent));
|
json_object_object_add(object, "urgent", json_object_new_boolean(urgent));
|
||||||
json_object_object_add(object, "sticky", json_object_new_boolean(c->is_sticky));
|
json_object_object_add(object, "sticky", json_object_new_boolean(c->is_sticky));
|
||||||
|
|
||||||
|
// sway doesn't track the floating reason, so we can't use "auto_on" or "user_off"
|
||||||
|
json_object_object_add(object, "floating",
|
||||||
|
json_object_new_string(floating ? "user_on" : "auto_off"));
|
||||||
|
|
||||||
json_object_object_add(object, "fullscreen_mode",
|
json_object_object_add(object, "fullscreen_mode",
|
||||||
json_object_new_int(c->pending.fullscreen_mode));
|
json_object_new_int(c->pending.fullscreen_mode));
|
||||||
|
|
||||||
|
|
|
@ -376,6 +376,9 @@ node and will have the following properties:
|
||||||
: integer
|
: integer
|
||||||
: (Only containers and views) The fullscreen mode of the node. 0 means none, 1 means
|
: (Only containers and views) The fullscreen mode of the node. 0 means none, 1 means
|
||||||
full workspace, and 2 means global fullscreen
|
full workspace, and 2 means global fullscreen
|
||||||
|
|- floating
|
||||||
|
: string
|
||||||
|
: Floating state of container. Can be either "auto_off" or "user_on"
|
||||||
|- app_id
|
|- app_id
|
||||||
: string
|
: string
|
||||||
: (Only views) For an xdg-shell view, the name of the application, if set.
|
: (Only views) For an xdg-shell view, the name of the application, if set.
|
||||||
|
|
Loading…
Reference in a new issue