aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sway/xdg_activation_v1.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/sway/xdg_activation_v1.c b/sway/xdg_activation_v1.c
index b7c80dd4..fd604874 100644
--- a/sway/xdg_activation_v1.c
+++ b/sway/xdg_activation_v1.c
@@ -38,14 +38,14 @@ void xdg_activation_v1_handle_request_activate(struct wl_listener *listener,
}
// This is an activation request. If this context is internal we have ctx->seat.
- struct sway_seat *seat = ctx->seat;
- if (!seat) {
- // Otherwise, use the seat indicated by the launcher client in set_serial
- seat = ctx->token->seat ? ctx->token->seat->data : NULL;
+ if (ctx->seat) {
+ view_request_activate(view, ctx->seat);
+ return;
}
- if (seat && ctx->had_focused_surface) {
- view_request_activate(view, seat);
+ // Otherwise, activate if passed from another focused client
+ if (ctx->token->seat && ctx->had_focused_surface) {
+ view_request_activate(view, ctx->token->seat->data);
} else {
// The token is valid, but cannot be used to activate a window
view_request_urgent(view);