summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStivvo <stivvo01@gmail.com>2020-09-04 17:09:12 +0200
committerGuido Cella <guido@guidocella.xyz>2020-12-19 18:05:51 +0100
commitde6db9740104843fced2f7594f58948beb021da4 (patch)
tree7f2b8c103cc5fc91aa0dc790aa8327bf05490a37
parentdd3920e75d2e71c569c3781914cd388f69f45bc9 (diff)
No borders on fullscreen windows
Some code has been borrowed from the smartBorders patch
-rw-r--r--dwl.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/dwl.c b/dwl.c
index c650875..26d977d 100644
--- a/dwl.c
+++ b/dwl.c
@@ -1045,7 +1045,9 @@ destroyxdeco(struct wl_listener *listener, void *data)
void
fullscreenotify(struct wl_listener *listener, void *data) {
Client *c = wl_container_of(listener, c, fullscreen);
- wlr_xdg_toplevel_set_fullscreen(c->surface.xdg, !c->surface.xdg->toplevel->current.fullscreen);
+ wlr_xdg_toplevel_set_fullscreen(
+ c->surface.xdg, !c->surface.xdg->toplevel->current.fullscreen);
+ c->bw = (int)c->surface.xdg->toplevel->current.fullscreen * borderpx;
}
Monitor *
@@ -1670,6 +1672,10 @@ renderclients(Monitor *m, struct timespec *now)
ox = c->geom.x, oy = c->geom.y;
wlr_output_layout_output_coords(output_layout, m->wlr_output,
&ox, &oy);
+
+ if (c->bw == 0)
+ goto render;
+
w = surface->current.width;
h = surface->current.height;
borders = (struct wlr_box[4]) {
@@ -1687,6 +1693,7 @@ renderclients(Monitor *m, struct timespec *now)
m->wlr_output->transform_matrix);
}
+ render:
/* This calls our render function for each surface among the
* xdg_surface's toplevel and popups. */
rdata.output = m->wlr_output;