diff options
author | 2016-12-01 22:09:33 -0500 | |
---|---|---|
committer | 2016-12-01 22:09:33 -0500 | |
commit | 8aeeacf178b234cefd046aa4ea8ec9c076d3f7b1 (patch) | |
tree | 71be219183e97dc396b6653cd3f6dc253d7b27f2 /sway/handlers.c | |
parent | Enforce fullscreen permissions (diff) | |
download | sway-8aeeacf178b234cefd046aa4ea8ec9c076d3f7b1.tar.gz sway-8aeeacf178b234cefd046aa4ea8ec9c076d3f7b1.tar.zst sway-8aeeacf178b234cefd046aa4ea8ec9c076d3f7b1.zip |
Enforce keyboard permissions
Diffstat (limited to 'sway/handlers.c')
-rw-r--r-- | sway/handlers.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sway/handlers.c b/sway/handlers.c index 24784330..3b85679d 100644 --- a/sway/handlers.c +++ b/sway/handlers.c | |||
@@ -725,6 +725,15 @@ static bool handle_key(wlc_handle view, uint32_t time, const struct wlc_modifier | |||
725 | } | 725 | } |
726 | 726 | ||
727 | list_free(candidates); | 727 | list_free(candidates); |
728 | |||
729 | swayc_t *focused = get_focused_container(&root_container); | ||
730 | if (focused->type == C_VIEW) { | ||
731 | pid_t pid = wlc_view_get_pid(focused->handle); | ||
732 | if (!(get_feature_policy(pid) & FEATURE_KEYBOARD)) { | ||
733 | sway_log(L_INFO, "Denying keypress to %d (%s)", pid, focused->name); | ||
734 | return EVENT_HANDLED; | ||
735 | } | ||
736 | } | ||
728 | return EVENT_PASSTHROUGH; | 737 | return EVENT_PASSTHROUGH; |
729 | } | 738 | } |
730 | 739 | ||