aboutsummaryrefslogtreecommitdiff
path: root/include/sway
diff options
context:
space:
mode:
Diffstat (limited to 'include/sway')
-rw-r--r--include/sway/desktop/launcher.h22
-rw-r--r--include/sway/tree/view.h3
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