diff options
| -rw-r--r-- | client.h | 11 | ||||
| -rw-r--r-- | dwl.c | 9 | 
2 files changed, 17 insertions, 3 deletions
@@ -346,6 +346,17 @@ client_set_tiled(Client *c, uint32_t edges)  	wlr_xdg_toplevel_set_tiled(c->surface.xdg->toplevel, edges);  } +static inline void +client_set_suspended(Client *c, int suspended) +{ +#ifdef XWAYLAND +	if (client_is_x11(c)) +		return; +#endif + +	wlr_xdg_toplevel_set_suspended(c->surface.xdg->toplevel, suspended); +} +  static inline struct wlr_surface *  client_surface_at(Client *c, double cx, double cy, double *sx, double *sy)  { @@ -457,9 +457,12 @@ void  arrange(Monitor *m)  {  	Client *c; -	wl_list_for_each(c, &clients, link) -		if (c->mon == m) +	wl_list_for_each(c, &clients, link) { +		if (c->mon == m) {  			wlr_scene_node_set_enabled(&c->scene->node, VISIBLEON(c, m)); +			client_set_suspended(c, !VISIBLEON(c, m)); +		} +	}  	wlr_scene_node_set_enabled(&m->fullscreen_bg->node,  			(c = focustop(m)) && c->isfullscreen); @@ -2257,7 +2260,7 @@ setup(void)  	layer_shell = wlr_layer_shell_v1_create(dpy, 3);  	LISTEN_STATIC(&layer_shell->events.new_surface, createlayersurface); -	xdg_shell = wlr_xdg_shell_create(dpy, 5); +	xdg_shell = wlr_xdg_shell_create(dpy, 6);  	LISTEN_STATIC(&xdg_shell->events.new_surface, createnotify);  	session_lock_mgr = wlr_session_lock_manager_v1_create(dpy);  | 
