aboutsummaryrefslogtreecommitdiffstats
path: root/sway/input
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <sir@cmpwn.com>2018-07-18 12:42:09 -0700
committerLibravatar GitHub <noreply@github.com>2018-07-18 12:42:09 -0700
commit4931d0ddc5d9de1f823af7efd931702b2fa80260 (patch)
treeb486f3576982ab0f94183323d44bc4bbb3a456e3 /sway/input
parentMerge pull request #2292 from emersion/update-cursor-on-focus (diff)
parentDon't unfocus when an override redirect window is mapped (diff)
downloadsway-4931d0ddc5d9de1f823af7efd931702b2fa80260.tar.gz
sway-4931d0ddc5d9de1f823af7efd931702b2fa80260.tar.zst
sway-4931d0ddc5d9de1f823af7efd931702b2fa80260.zip
Merge pull request #2300 from emersion/override-redirect-updates
Handle xwayland override_redirect flag change
Diffstat (limited to 'sway/input')
-rw-r--r--sway/input/seat.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sway/input/seat.c b/sway/input/seat.c
index 8ed4a3fe..eadf3b26 100644
--- a/sway/input/seat.c
+++ b/sway/input/seat.c
@@ -753,11 +753,11 @@ void seat_set_focus(struct sway_seat *seat,
753} 753}
754 754
755void seat_set_focus_surface(struct sway_seat *seat, 755void seat_set_focus_surface(struct sway_seat *seat,
756 struct wlr_surface *surface) { 756 struct wlr_surface *surface, bool unfocus) {
757 if (seat->focused_layer != NULL) { 757 if (seat->focused_layer != NULL) {
758 return; 758 return;
759 } 759 }
760 if (seat->has_focus) { 760 if (seat->has_focus && unfocus) {
761 struct sway_container *focus = seat_get_focus(seat); 761 struct sway_container *focus = seat_get_focus(seat);
762 seat_send_unfocus(focus, seat); 762 seat_send_unfocus(focus, seat);
763 seat->has_focus = false; 763 seat->has_focus = false;
@@ -789,7 +789,7 @@ void seat_set_focus_layer(struct sway_seat *seat,
789 } else if (!layer || seat->focused_layer == layer) { 789 } else if (!layer || seat->focused_layer == layer) {
790 return; 790 return;
791 } 791 }
792 seat_set_focus_surface(seat, layer->surface); 792 seat_set_focus_surface(seat, layer->surface, true);
793 if (layer->layer >= ZWLR_LAYER_SHELL_V1_LAYER_TOP) { 793 if (layer->layer >= ZWLR_LAYER_SHELL_V1_LAYER_TOP) {
794 seat->focused_layer = layer; 794 seat->focused_layer = layer;
795 } 795 }