diff options
-rw-r--r-- | dwl.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -574,14 +574,18 @@ createnotifyx11(struct wl_listener *listener, void *data) /* Listen to the various events it can emit */ if (!xwayland_surface->override_redirect) { + c->map.notify = maprequest; + c->unmap.notify = unmapnotify; + /* Only "managed" windows can be activated */ c->activate.notify = activate; wl_signal_add(&xwayland_surface->events.request_activate, &c->activate); + } else { + c->map.notify = maprequestindependent; + c->unmap.notify = unmapnotifyindependent; } - c->map.notify = xwayland_surface->override_redirect ? maprequestindependent : maprequest; + c->destroy.notify = destroynotify; wl_signal_add(&xwayland_surface->events.map, &c->map); - c->unmap.notify = xwayland_surface->override_redirect ? unmapnotifyindependent : unmapnotify; wl_signal_add(&xwayland_surface->events.unmap, &c->unmap); - c->destroy.notify = destroynotify; wl_signal_add(&xwayland_surface->events.destroy, &c->destroy); } |