diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-04-18 08:35:28 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-04-18 08:35:28 +1000 |
commit | 35ccdd67a89280c1d906ed914d67918cfb382e1f (patch) | |
tree | 6800043b2527e9f9baf9dba0f811d6a97a5e2ea3 /sway/input/cursor.c | |
parent | Fullscreen fixes. (diff) | |
download | sway-35ccdd67a89280c1d906ed914d67918cfb382e1f.tar.gz sway-35ccdd67a89280c1d906ed914d67918cfb382e1f.tar.zst sway-35ccdd67a89280c1d906ed914d67918cfb382e1f.zip |
More fullscreen fixes.
* Render fullscreen views without wlr function, which makes popups and
lockscreen work.
* Don't allow input events to surfaces behind fullscreen views.
* Use correct output dimensions (for rotated outputs).
Diffstat (limited to 'sway/input/cursor.c')
-rw-r--r-- | sway/input/cursor.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sway/input/cursor.c b/sway/input/cursor.c index 15a61cbf..6d14c12c 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 | ||
17 | static struct wlr_surface *layer_surface_at(struct sway_output *output, | 18 | static struct wlr_surface *layer_surface_at(struct sway_output *output, |
@@ -89,6 +90,13 @@ static struct sway_container *container_at_cursor(struct sway_cursor *cursor, | |||
89 | return ws; | 90 | return ws; |
90 | } | 91 | } |
91 | 92 | ||
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 | |||
92 | struct sway_container *c; | 100 | struct sway_container *c; |
93 | if ((c = container_at(ws, cursor->cursor->x, cursor->cursor->y, | 101 | if ((c = container_at(ws, cursor->cursor->x, cursor->cursor->y, |
94 | surface, sx, sy))) { | 102 | surface, sx, sy))) { |