Skip to content

Commit

Permalink
sway/ipc-json: add ext-foreign-toplevel-handle identifier to get_tree…
Browse files Browse the repository at this point in the history
… ipc output

Fixes swaywm#8291
  • Loading branch information
Ferdi265 committed Feb 16, 2025
1 parent 4852087 commit 3b0b1c7
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 0 deletions.
5 changes: 5 additions & 0 deletions sway/ipc-json.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
#include <wlr/config.h>
#include <wlr/types/wlr_content_type_v1.h>
#include <wlr/types/wlr_output.h>
#include <wlr/types/wlr_ext_foreign_toplevel_list_v1.h>
#include <xkbcommon/xkbcommon.h>
#include "config.h"
#include "log.h"
Expand Down Expand Up @@ -577,6 +578,10 @@ static void ipc_json_describe_view(struct sway_container *c, json_object *object
json_object_object_add(object, "app_id",
app_id ? json_object_new_string(app_id) : NULL);

json_object_object_add(object, "foreign_toplevel_identifier",
c->view->ext_foreign_toplevel ?
json_object_new_string(c->view->ext_foreign_toplevel->identifier) : NULL);

bool visible = view_is_visible(c->view);
json_object_object_add(object, "visible", json_object_new_boolean(visible));

Expand Down
3 changes: 3 additions & 0 deletions sway/sway-ipc.7.scd
Original file line number Diff line number Diff line change
Expand Up @@ -389,6 +389,9 @@ node and will have the following properties:
|- pid
: integer
: (Only views) The PID of the application that owns the view
|- foreign_toplevel_identifier
: string
: (Only views) The ext-foreign-toplevel-list-v1 toplevel identifier of this node.
|- visible
: boolean
: (Only views) Whether the node is visible
Expand Down
4 changes: 4 additions & 0 deletions swaymsg/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,7 @@ static void pretty_print_tree(json_object *obj, int indent) {
const char *instance = json_object_get_string(json_object_object_get(window_props_obj, "instance"));
const char *class = json_object_get_string(json_object_object_get(window_props_obj, "class"));
int x11_id = json_object_get_int(json_object_object_get(obj, "window"));
const char *foreign_toplevel_id = json_object_get_string(json_object_object_get(obj, "foreign_toplevel_identifier"));
const char *sandbox_engine = json_object_get_string(json_object_object_get(obj, "sandbox_engine"));
const char *sandbox_app_id = json_object_get_string(json_object_object_get(obj, "sandbox_app_id"));
const char *sandbox_instance_id = json_object_get_string(json_object_object_get(obj, "sandbox_instance_id"));
Expand All @@ -347,6 +348,9 @@ static void pretty_print_tree(json_object *obj, int indent) {
if (x11_id != 0) {
printf(", X11 window: 0x%X", x11_id);
}
if (foreign_toplevel_id != NULL) {
printf(", foreign_toplevel_id: \"%s\"", foreign_toplevel_id);
}
if (sandbox_engine != NULL) {
printf(", sandbox_engine: \"%s\"", sandbox_engine);
}
Expand Down

0 comments on commit 3b0b1c7

Please sign in to comment.