From 864b3a9a18f236f92f1898bb44ab977ceaebfd68 Mon Sep 17 00:00:00 2001 From: Ronan Pigott Date: Wed, 16 Nov 2022 15:50:34 -0700 Subject: view: associate launch contexts with views Views now maintain a reference to a launch context which, as a last resort, is populated at map time with a context associated with its pid. This opens the possibility of populating it before map via another source, e.g. xdga-tokens or configuration. --- include/sway/desktop/launcher.h | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'include/sway/desktop') diff --git a/include/sway/desktop/launcher.h b/include/sway/desktop/launcher.h index 7802bee1..927d7a37 100644 --- a/include/sway/desktop/launcher.h +++ b/include/sway/desktop/launcher.h @@ -3,10 +3,26 @@ #include -struct sway_workspace *workspace_for_pid(pid_t pid); +struct launcher_ctx { + pid_t pid; + char *name; + struct wlr_xdg_activation_token_v1 *token; + struct wl_listener token_destroy; -void launcher_ctx_create(pid_t pid); + struct sway_node *node; + struct wl_listener node_destroy; + + struct wl_list link; // sway_server::pending_launcher_ctxs +}; + +struct launcher_ctx *launcher_ctx_find_pid(pid_t pid); + +struct sway_workspace *launcher_ctx_get_workspace(struct launcher_ctx *ctx); -void remove_workspace_pid(pid_t pid); +void launcher_ctx_consume(struct launcher_ctx *ctx); + +void launcher_ctx_destroy(struct launcher_ctx *ctx); + +void launcher_ctx_create(pid_t pid); #endif -- cgit v1.2.3