aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2023-12-26 22:26:02 -0800
committerFurkan Sahin <furkan-dev@proton.me>2023-12-26 22:26:02 -0800
commit2eeb1bff2cb03e05f346984805d8f5320085953e (patch)
tree90b727f8cb792b06bf9aa1cc527d254c6c23edbf /include
parentc44f241bfb9e7438081fea98d3f3a652c2e051af (diff)
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.h1
-rw-r--r--include/sway/tree/view.h5
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 {
struct wl_listener seat_destroy;
bool activated;
+ bool had_focused_surface;
struct sway_node *node;
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);
*/
void view_request_activate(struct sway_view *view, struct sway_seat *seat);
+/*
+ * Called when the view requests urgent state
+ */
+void view_request_urgent(struct sway_view *view);
+
/**
* If possible, instructs the client to change their decoration mode.
*/