From db2845963408dd0d66a3587469c6f26bfa4d9e1f Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Wed, 19 Sep 2018 21:54:27 +1000 Subject: Introduce create_output command (for developer use) Should help with testing hotplugging. --- include/sway/commands.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include/sway') diff --git a/include/sway/commands.h b/include/sway/commands.h index e51b12fd..226cf932 100644 --- a/include/sway/commands.h +++ b/include/sway/commands.h @@ -103,6 +103,7 @@ sway_cmd cmd_client_urgent; sway_cmd cmd_client_placeholder; sway_cmd cmd_client_background; sway_cmd cmd_commands; +sway_cmd cmd_create_output; sway_cmd cmd_debuglog; sway_cmd cmd_default_border; sway_cmd cmd_default_floating_border; -- cgit v1.2.3 From 81f3fda6fa9b0789c8b40582a4b85b2e9501c185 Mon Sep 17 00:00:00 2001 From: Ian Fan Date: Wed, 19 Sep 2018 22:21:09 +0100 Subject: ipc: add pid information for views in layout tree --- include/sway/tree/view.h | 2 ++ sway/ipc-json.c | 2 ++ sway/tree/view.c | 1 + 3 files changed, 5 insertions(+) (limited to 'include/sway') diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h index 439dc1bf..d10251dd 100644 --- a/include/sway/tree/view.h +++ b/include/sway/tree/view.h @@ -61,6 +61,8 @@ struct sway_view { struct sway_container *container; // NULL if unmapped and transactions finished struct wlr_surface *surface; // NULL for unmapped views + pid_t pid; + // Geometry of the view itself (excludes borders) in layout coordinates double x, y; int width, height; diff --git a/sway/ipc-json.c b/sway/ipc-json.c index 52278be2..f054ac9f 100644 --- a/sway/ipc-json.c +++ b/sway/ipc-json.c @@ -221,6 +221,8 @@ static const char *describe_container_border(enum sway_container_border border) } static void ipc_json_describe_view(struct sway_container *c, json_object *object) { + json_object_object_add(object, "pid", json_object_new_int(c->view->pid)); + const char *app_id = view_get_app_id(c->view); json_object_object_add(object, "app_id", app_id ? json_object_new_string(app_id) : NULL); diff --git a/sway/tree/view.c b/sway/tree/view.c index e4e1c161..4398f518 100644 --- a/sway/tree/view.c +++ b/sway/tree/view.c @@ -470,6 +470,7 @@ static struct sway_workspace *select_workspace(struct sway_view *view) { wl_resource_get_client(view->surface->resource); wl_client_get_credentials(client, &pid, NULL, NULL); #endif + view->pid = pid; ws = root_workspace_for_pid(pid); if (ws) { return ws; -- cgit v1.2.3