No borders on fullscreen windows
Some code has been borrowed from the smartBorders patchmain
parent
06982a56b5
commit
4b1ab7804b
9
dwl.c
9
dwl.c
|
@ -672,7 +672,9 @@ destroyxdeco(struct wl_listener *listener, void *data)
|
||||||
void
|
void
|
||||||
fullscreenotify(struct wl_listener *listener, void *data) {
|
fullscreenotify(struct wl_listener *listener, void *data) {
|
||||||
Client *c = wl_container_of(listener, c, fullscreen);
|
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 *
|
Monitor *
|
||||||
|
@ -1193,6 +1195,10 @@ renderclients(Monitor *m, struct timespec *now)
|
||||||
ox = c->geom.x, oy = c->geom.y;
|
ox = c->geom.x, oy = c->geom.y;
|
||||||
wlr_output_layout_output_coords(output_layout, m->wlr_output,
|
wlr_output_layout_output_coords(output_layout, m->wlr_output,
|
||||||
&ox, &oy);
|
&ox, &oy);
|
||||||
|
|
||||||
|
if (c->bw == 0)
|
||||||
|
goto render;
|
||||||
|
|
||||||
w = surface->current.width;
|
w = surface->current.width;
|
||||||
h = surface->current.height;
|
h = surface->current.height;
|
||||||
borders = (struct wlr_box[4]) {
|
borders = (struct wlr_box[4]) {
|
||||||
|
@ -1210,6 +1216,7 @@ renderclients(Monitor *m, struct timespec *now)
|
||||||
m->wlr_output->transform_matrix);
|
m->wlr_output->transform_matrix);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
render:
|
||||||
/* This calls our render function for each surface among the
|
/* This calls our render function for each surface among the
|
||||||
* xdg_surface's toplevel and popups. */
|
* xdg_surface's toplevel and popups. */
|
||||||
rdata.output = m->wlr_output;
|
rdata.output = m->wlr_output;
|
||||||
|
|
Loading…
Reference in New Issue