Quit fullscreen on new x11 window

After the removal of quitfullscreen() dwl wouldn't compile widh xwayland
enabled because createnotifyx11 was still using the old function
main
Stivvo 2020-10-14 17:28:51 +02:00 committed by Guido Cella
parent 32612c90b6
commit 1e134fde97
1 changed files with 4 additions and 3 deletions

7
dwl.c
View File

@ -899,7 +899,6 @@ createnotify(struct wl_listener *listener, void *data)
if (xdg_surface->role != WLR_XDG_SURFACE_ROLE_TOPLEVEL) if (xdg_surface->role != WLR_XDG_SURFACE_ROLE_TOPLEVEL)
return; return;
wl_list_for_each(c, &clients, link) wl_list_for_each(c, &clients, link)
if (c->isfullscreen && VISIBLEON(c, c->mon)) if (c->isfullscreen && VISIBLEON(c, c->mon))
setfullscreen(c, 0); setfullscreen(c, 0);
@ -1719,7 +1718,7 @@ renderclients(Monitor *m, struct timespec *now)
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->isfullscreen || borderpx == 0) if (c->isfullscreen)
goto render; goto render;
w = surface->current.width; w = surface->current.width;
@ -2472,13 +2471,15 @@ createnotifyx11(struct wl_listener *listener, void *data)
{ {
struct wlr_xwayland_surface *xwayland_surface = data; struct wlr_xwayland_surface *xwayland_surface = data;
Client *c; Client *c;
wl_list_for_each(c, &clients, link)
if (c->isfullscreen && VISIBLEON(c, c->mon))
setfullscreen(c, 0);
/* Allocate a Client for this surface */ /* Allocate a Client for this surface */
c = xwayland_surface->data = calloc(1, sizeof(*c)); c = xwayland_surface->data = calloc(1, sizeof(*c));
c->surface.xwayland = xwayland_surface; c->surface.xwayland = xwayland_surface;
c->type = xwayland_surface->override_redirect ? X11Unmanaged : X11Managed; c->type = xwayland_surface->override_redirect ? X11Unmanaged : X11Managed;
c->bw = borderpx; c->bw = borderpx;
quitfullscreen(c);
/* Listen to the various events it can emit */ /* Listen to the various events it can emit */
c->map.notify = maprequest; c->map.notify = maprequest;