aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevin J. Pohly <djpohly@gmail.com>2020-07-25 11:43:52 -0400
committerDevin J. Pohly <djpohly@gmail.com>2020-07-25 11:46:12 -0400
commite5e170e420aafaad4cb851caeca8d652f9949846 (patch)
tree84092f0d139584c9ab0d2db8539a04ca83602a0e
parent39f3b87f3ac83bf143280508a4a23470af9e474d (diff)
add client.type field
Current options are XDGShell, X11Managed, and X11Unmanaged.
-rw-r--r--dwl.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/dwl.c b/dwl.c
index 04f6318..0780632 100644
--- a/dwl.c
+++ b/dwl.c
@@ -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;
}