aboutsummaryrefslogtreecommitdiffstats
path: root/sway/input/cursor.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/input/cursor.c')
-rw-r--r--sway/input/cursor.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/sway/input/cursor.c b/sway/input/cursor.c
index 15a61cbf..a19f0752 100644
--- a/sway/input/cursor.c
+++ b/sway/input/cursor.c
@@ -12,6 +12,7 @@
12#include "sway/layers.h" 12#include "sway/layers.h"
13#include "sway/output.h" 13#include "sway/output.h"
14#include "sway/tree/view.h" 14#include "sway/tree/view.h"
15#include "sway/tree/workspace.h"
15#include "wlr-layer-shell-unstable-v1-protocol.h" 16#include "wlr-layer-shell-unstable-v1-protocol.h"
16 17
17static struct wlr_surface *layer_surface_at(struct sway_output *output, 18static struct wlr_surface *layer_surface_at(struct sway_output *output,
@@ -83,6 +84,16 @@ static struct sway_container *container_at_cursor(struct sway_cursor *cursor,
83 ox, oy, sx, sy))) { 84 ox, oy, sx, sy))) {
84 return ws; 85 return ws;
85 } 86 }
87 if (ws->sway_workspace->fullscreen) {
88 struct wlr_surface *wlr_surface = ws->sway_workspace->fullscreen->surface;
89 if (wlr_surface_point_accepts_input(wlr_surface, ox, oy)) {
90 *sx = ox;
91 *sy = oy;
92 *surface = wlr_surface;
93 return ws->sway_workspace->fullscreen->swayc;
94 }
95 return NULL;
96 }
86 if ((*surface = layer_surface_at(output, 97 if ((*surface = layer_surface_at(output,
87 &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_TOP], 98 &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_TOP],
88 ox, oy, sx, sy))) { 99 ox, oy, sx, sy))) {