~ruther/dwl

e5e170e420aafaad4cb851caeca8d652f9949846 — Devin J. Pohly 4 years ago 39f3b87
add client.type field

Current options are XDGShell, X11Managed, and X11Unmanaged.
1 files changed, 5 insertions(+), 1 deletions(-)

M dwl.c
M dwl.c => dwl.c +5 -1
@@ 49,6 49,7 @@
enum { CurNormal, CurMove, CurResize }; /* cursor */
enum { NetWMWindowTypeDialog, NetWMWindowTypeSplash, NetWMWindowTypeToolbar,
	NetWMWindowTypeUtility, NetLast }; /* EWMH atoms */
enum { XDGShell = 0, X11Managed, X11Unmanaged }; /* client types */

typedef union {
	int i;


@@ 78,8 79,9 @@ typedef struct {
	struct wl_listener unmap;
	struct wl_listener destroy;
	struct wlr_box geom;  /* layout-relative, includes border */
	int isx11;
	Monitor *mon;
	unsigned int type;
	int isx11;
	int bw;
	unsigned int tags;
	int isfloating;


@@ 574,12 576,14 @@ createnotifyx11(struct wl_listener *listener, void *data)

	/* Listen to the various events it can emit */
	if (!xwayland_surface->override_redirect) {
		c->type = X11Managed;
		c->map.notify = maprequest;
		c->unmap.notify = unmapnotify;
		/* Only "managed" windows can be activated */
		c->activate.notify = activatex11;
		wl_signal_add(&xwayland_surface->events.request_activate, &c->activate);
	} else {
		c->type = X11Unmanaged;
		c->map.notify = maprequestindependent;
		c->unmap.notify = unmapnotifyindependent;
	}

Do not follow this link