From ffdbb9d05077db2a44ab0f307b09d6bdbd1cab27 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Thu, 1 Dec 2016 22:03:36 -0500 Subject: [PATCH] Enforce fullscreen permissions --- sway/handlers.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sway/handlers.c b/sway/handlers.c index 2235bc8b..24784330 100644 --- a/sway/handlers.c +++ b/sway/handlers.c @@ -21,6 +21,7 @@ #include "sway/criteria.h" #include "sway/ipc-server.h" #include "sway/input.h" +#include "sway/security.h" #include "list.h" #include "stringop.h" #include "log.h" @@ -516,8 +517,13 @@ static void handle_view_geometry_request(wlc_handle handle, const struct wlc_geo static void handle_view_state_request(wlc_handle view, enum wlc_view_state_bit state, bool toggle) { swayc_t *c = swayc_by_handle(view); + pid_t pid = wlc_view_get_pid(view); switch (state) { case WLC_BIT_FULLSCREEN: + if (!(get_feature_policy(pid) & FEATURE_FULLSCREEN)) { + sway_log(L_INFO, "Denying fullscreen to %d (%s)", pid, c->name); + break; + } // i3 just lets it become fullscreen wlc_view_set_state(view, state, toggle); if (c) {