dwl

My patch set and modifications to dwl
git clone git://git.ethandl.dev/dwl
Log | Files | Refs | README | LICENSE

commit 43228bd493f53f996a645156f0505b63e79a4f72
parent 03e167dbb70fbc967e310f95200bcd63f43cac72
Author: Leonardo Hernández Hernández <leohdz172@protonmail.com>
Date:   Sun, 13 Mar 2022 20:54:44 -0600

don't use fullscreen event in fullscreennotify()

Diffstat:
Mclient.h | 10++++++++++
Mdwl.c | 7++++---
2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/client.h b/client.h @@ -96,6 +96,16 @@ client_is_float_type(Client *c) } static inline int +client_wants_fullscreen(Client *c) +{ +#ifdef XWAYLAND + if (client_is_x11(c)) + return c->surface.xwayland->fullscreen; +#endif + return c->surface.xdg->toplevel->requested.fullscreen; +} + +static inline int client_is_unmanaged(Client *c) { #ifdef XWAYLAND diff --git a/dwl.c b/dwl.c @@ -1042,13 +1042,14 @@ void fullscreennotify(struct wl_listener *listener, void *data) { Client *c = wl_container_of(listener, c, fullscreen); - struct wlr_xdg_toplevel_set_fullscreen_event *event = data; + int fullscreen = client_wants_fullscreen(c); + if (!c->mon) { /* if the client is not mapped yet, let mapnotify() call setfullscreen() */ - c->isfullscreen = event->fullscreen; + c->isfullscreen = fullscreen; return; } - setfullscreen(c, event->fullscreen); + setfullscreen(c, fullscreen); } Monitor *