diff options
| -rw-r--r-- | client.h | 10 | ||||
| -rw-r--r-- | dwl.c | 7 | 
2 files changed, 14 insertions, 3 deletions
@@ -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 @@ -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 *  | 
