launcher: export xdga tokens and use them for workspace matching

This commit is contained in:
Ronan Pigott 2022-11-18 20:05:24 -07:00 committed by Simon Ser
parent bdeb9f9565
commit 30ad4dc4a5
4 changed files with 38 additions and 2 deletions

View file

@ -50,7 +50,10 @@ void launcher_ctx_consume(struct launcher_ctx *ctx) {
wl_list_remove(&ctx->token_destroy.link);
wl_list_init(&ctx->token_destroy.link);
wlr_xdg_activation_token_v1_destroy(ctx->token);
if (!ctx->activated) {
// An unactivated token hasn't been destroyed yet
wlr_xdg_activation_token_v1_destroy(ctx->token);
}
ctx->token = NULL;
// Prevent additional matches
@ -201,3 +204,8 @@ struct launcher_ctx *launcher_ctx_create() {
wl_list_insert(&server.pending_launcher_ctxs, &ctx->link);
return ctx;
}
const char *launcher_ctx_get_token_name(struct launcher_ctx *ctx) {
const char *token = wlr_xdg_activation_token_v1_get_name(ctx->token);
return token;
}