diff options
author | 2023-12-26 22:26:02 -0800 | |
---|---|---|
committer | 2024-02-17 00:54:30 -0700 | |
commit | d19810eba8959f052d91fd6609cef6adf36b3951 (patch) | |
tree | 90b727f8cb792b06bf9aa1cc527d254c6c23edbf /include | |
parent | launcher: track the seat in the launcher ctx (diff) | |
download | sway-d19810eba8959f052d91fd6609cef6adf36b3951.tar.gz sway-d19810eba8959f052d91fd6609cef6adf36b3951.tar.zst sway-d19810eba8959f052d91fd6609cef6adf36b3951.zip |
xdg-activation: distinguish activation and urgency requests
Check if the app that requested a token has provided a valid input
serial and a focused surface. Downgrade activation request to urgency
otherwise.
This is mostly in line with what other Wayland compositors decided to
do, and offers a better security than the original logic.
Diffstat (limited to 'include')
-rw-r--r-- | include/sway/desktop/launcher.h | 1 | ||||
-rw-r--r-- | include/sway/tree/view.h | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/include/sway/desktop/launcher.h b/include/sway/desktop/launcher.h index ad465a9e..412068a9 100644 --- a/include/sway/desktop/launcher.h +++ b/include/sway/desktop/launcher.h | |||
@@ -14,6 +14,7 @@ struct launcher_ctx { | |||
14 | struct wl_listener seat_destroy; | 14 | struct wl_listener seat_destroy; |
15 | 15 | ||
16 | bool activated; | 16 | bool activated; |
17 | bool had_focused_surface; | ||
17 | 18 | ||
18 | struct sway_node *node; | 19 | struct sway_node *node; |
19 | struct wl_listener node_destroy; | 20 | struct wl_listener node_destroy; |
diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h index 8bfda018..ef1a26b8 100644 --- a/include/sway/tree/view.h +++ b/include/sway/tree/view.h | |||
@@ -242,6 +242,11 @@ void view_set_activated(struct sway_view *view, bool activated); | |||
242 | */ | 242 | */ |
243 | void view_request_activate(struct sway_view *view, struct sway_seat *seat); | 243 | void view_request_activate(struct sway_view *view, struct sway_seat *seat); |
244 | 244 | ||
245 | /* | ||
246 | * Called when the view requests urgent state | ||
247 | */ | ||
248 | void view_request_urgent(struct sway_view *view); | ||
249 | |||
245 | /** | 250 | /** |
246 | * If possible, instructs the client to change their decoration mode. | 251 | * If possible, instructs the client to change their decoration mode. |
247 | */ | 252 | */ |