add support for xdg-shell v6

This commit is contained in:
Leonardo Hernández Hernández 2023-07-23 20:59:29 -06:00 committed by Leonardo Hernández
parent ce997c4a21
commit 78cf88670f
2 changed files with 17 additions and 3 deletions

View File

@ -346,6 +346,17 @@ client_set_tiled(Client *c, uint32_t edges)
wlr_xdg_toplevel_set_tiled(c->surface.xdg->toplevel, 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 * static inline struct wlr_surface *
client_surface_at(Client *c, double cx, double cy, double *sx, double *sy) client_surface_at(Client *c, double cx, double cy, double *sx, double *sy)
{ {

9
dwl.c
View File

@ -457,9 +457,12 @@ void
arrange(Monitor *m) arrange(Monitor *m)
{ {
Client *c; Client *c;
wl_list_for_each(c, &clients, link) wl_list_for_each(c, &clients, link) {
if (c->mon == m) if (c->mon == m) {
wlr_scene_node_set_enabled(&c->scene->node, VISIBLEON(c, 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, wlr_scene_node_set_enabled(&m->fullscreen_bg->node,
(c = focustop(m)) && c->isfullscreen); (c = focustop(m)) && c->isfullscreen);
@ -2257,7 +2260,7 @@ setup(void)
layer_shell = wlr_layer_shell_v1_create(dpy, 3); layer_shell = wlr_layer_shell_v1_create(dpy, 3);
LISTEN_STATIC(&layer_shell->events.new_surface, createlayersurface); 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); LISTEN_STATIC(&xdg_shell->events.new_surface, createnotify);
session_lock_mgr = wlr_session_lock_manager_v1_create(dpy); session_lock_mgr = wlr_session_lock_manager_v1_create(dpy);