Wait until map to set window's tiled state
Workaround for a bug in Chromium where it fails to attach a buffer to the surface. Fixes #119.
This commit is contained in:
parent
1b139a860d
commit
93a58abf29
8
dwl.c
8
dwl.c
@ -885,10 +885,6 @@ createnotify(struct wl_listener *listener, void *data)
|
|||||||
c->surface.xdg = xdg_surface;
|
c->surface.xdg = xdg_surface;
|
||||||
c->bw = borderpx;
|
c->bw = borderpx;
|
||||||
|
|
||||||
/* Tell the client not to try anything fancy */
|
|
||||||
wlr_xdg_toplevel_set_tiled(c->surface.xdg, WLR_EDGE_TOP |
|
|
||||||
WLR_EDGE_BOTTOM | WLR_EDGE_LEFT | WLR_EDGE_RIGHT);
|
|
||||||
|
|
||||||
LISTEN(&xdg_surface->surface->events.commit, &c->commit, commitnotify);
|
LISTEN(&xdg_surface->surface->events.commit, &c->commit, commitnotify);
|
||||||
LISTEN(&xdg_surface->events.map, &c->map, mapnotify);
|
LISTEN(&xdg_surface->events.map, &c->map, mapnotify);
|
||||||
LISTEN(&xdg_surface->events.unmap, &c->unmap, unmapnotify);
|
LISTEN(&xdg_surface->events.unmap, &c->unmap, unmapnotify);
|
||||||
@ -1308,6 +1304,10 @@ mapnotify(struct wl_listener *listener, void *data)
|
|||||||
c->geom.width += 2 * c->bw;
|
c->geom.width += 2 * c->bw;
|
||||||
c->geom.height += 2 * c->bw;
|
c->geom.height += 2 * c->bw;
|
||||||
|
|
||||||
|
/* Tell the client not to try anything fancy */
|
||||||
|
wlr_xdg_toplevel_set_tiled(c->surface.xdg, WLR_EDGE_TOP |
|
||||||
|
WLR_EDGE_BOTTOM | WLR_EDGE_LEFT | WLR_EDGE_RIGHT);
|
||||||
|
|
||||||
/* Set initial monitor, tags, floating status, and focus */
|
/* Set initial monitor, tags, floating status, and focus */
|
||||||
applyrules(c);
|
applyrules(c);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user