diff options
Diffstat (limited to 'include/sway')
-rw-r--r-- | include/sway/desktop/launcher.h | 22 | ||||
-rw-r--r-- | include/sway/tree/view.h | 3 |
2 files changed, 22 insertions, 3 deletions
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 <stdlib.h> -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 diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h index 0dcbf1aa..ca099431 100644 --- a/include/sway/tree/view.h +++ b/include/sway/tree/view.h @@ -74,6 +74,7 @@ struct sway_view { struct sway_xdg_decoration *xdg_decoration; pid_t pid; + struct launcher_ctx *ctx; // The size the view would want to be if it weren't tiled. // Used when changing a view from tiled to floating. @@ -372,4 +373,6 @@ void view_save_buffer(struct sway_view *view); bool view_is_transient_for(struct sway_view *child, struct sway_view *ancestor); +void view_assign_ctx(struct sway_view *view, struct launcher_ctx *ctx); + #endif |