summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dwl.c24
1 files changed, 4 insertions, 20 deletions
diff --git a/dwl.c b/dwl.c
index c0182c5..e0e3b30 100644
--- a/dwl.c
+++ b/dwl.c
@@ -217,7 +217,6 @@ static void motionabsolute(struct wl_listener *listener, void *data);
static void motionnotify(uint32_t time);
static void motionrelative(struct wl_listener *listener, void *data);
static void moveresize(const Arg *arg);
-static void quitfullscreen(Client *c);
static void pointerfocus(Client *c, struct wlr_surface *surface,
double sx, double sy, uint32_t time);
static void quit(const Arg *arg);
@@ -580,24 +579,6 @@ createmon(struct wl_listener *listener, void *data)
}
void
-quitfullscreen(Client *c)
-{
- wl_list_for_each(c, &clients, link) {
- if (c->isfullscreen && VISIBLEON(c, c->mon)) {
-#ifdef XWAYLAND
- if (c->type == X11Managed)
- wlr_xwayland_surface_set_fullscreen(c->surface.xwayland, false);
- else
-#endif
- wlr_xdg_toplevel_set_fullscreen(c->surface.xdg, false);
- c->bw = borderpx;
- resize(c, c->prevx, c->prevy, c->prevwidth, c->prevheight, 0);
- c->isfullscreen = 0;
- }
- }
-}
-
-void
createnotify(struct wl_listener *listener, void *data)
{
/* This event is raised when wlr_xdg_shell receives a new xdg surface from a
@@ -608,11 +589,14 @@ createnotify(struct wl_listener *listener, void *data)
if (xdg_surface->role != WLR_XDG_SURFACE_ROLE_TOPLEVEL)
return;
+ wl_list_for_each(c, &clients, link)
+ if (c->isfullscreen && VISIBLEON(c, c->mon))
+ setfullscreen(c, 0);
+
/* Allocate a Client for this surface */
c = xdg_surface->data = calloc(1, sizeof(*c));
c->surface.xdg = xdg_surface;
c->bw = borderpx;
- quitfullscreen(c);
/* Tell the client not to try anything fancy */
wlr_xdg_toplevel_set_tiled(c->surface.xdg, WLR_EDGE_TOP |