diff options
-rw-r--r-- | sway/desktop/output.c | 4 | ||||
-rw-r--r-- | sway/input/cursor.c | 17 |
2 files changed, 12 insertions, 9 deletions
diff --git a/sway/desktop/output.c b/sway/desktop/output.c index a5f2f71f..299b57f1 100644 --- a/sway/desktop/output.c +++ b/sway/desktop/output.c | |||
@@ -280,11 +280,11 @@ static void render_output(struct sway_output *output, struct timespec *when, | |||
280 | 280 | ||
281 | struct sway_container *workspace = output_get_active_workspace(output); | 281 | struct sway_container *workspace = output_get_active_workspace(output); |
282 | 282 | ||
283 | render_layer(output, &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND]); | ||
284 | |||
283 | if (workspace->sway_workspace->fullscreen) { | 285 | if (workspace->sway_workspace->fullscreen) { |
284 | render_container(output, workspace->sway_workspace->fullscreen->swayc); | 286 | render_container(output, workspace->sway_workspace->fullscreen->swayc); |
285 | } else { | 287 | } else { |
286 | render_layer(output, | ||
287 | &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND]); | ||
288 | render_layer(output, &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM]); | 288 | render_layer(output, &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM]); |
289 | 289 | ||
290 | render_container(output, workspace); | 290 | render_container(output, workspace); |
diff --git a/sway/input/cursor.c b/sway/input/cursor.c index 6d14c12c..a19f0752 100644 --- a/sway/input/cursor.c +++ b/sway/input/cursor.c | |||
@@ -84,19 +84,22 @@ static struct sway_container *container_at_cursor(struct sway_cursor *cursor, | |||
84 | ox, oy, sx, sy))) { | 84 | ox, oy, sx, sy))) { |
85 | return ws; | 85 | return ws; |
86 | } | 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 | } | ||
87 | if ((*surface = layer_surface_at(output, | 97 | if ((*surface = layer_surface_at(output, |
88 | &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_TOP], | 98 | &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_TOP], |
89 | ox, oy, sx, sy))) { | 99 | ox, oy, sx, sy))) { |
90 | return ws; | 100 | return ws; |
91 | } | 101 | } |
92 | 102 | ||
93 | if (ws->sway_workspace->fullscreen) { | ||
94 | *sx = ox; | ||
95 | *sy = oy; | ||
96 | *surface = ws->sway_workspace->fullscreen->surface; | ||
97 | return ws->sway_workspace->fullscreen->swayc; | ||
98 | } | ||
99 | |||
100 | struct sway_container *c; | 103 | struct sway_container *c; |
101 | if ((c = container_at(ws, cursor->cursor->x, cursor->cursor->y, | 104 | if ((c = container_at(ws, cursor->cursor->x, cursor->cursor->y, |
102 | surface, sx, sy))) { | 105 | surface, sx, sy))) { |