--- dwm.c 2025-01-16 21:07:02.942737362 +0100 +++ dwm.c 2024-06-25 01:55:26.771203825 +0200 @@ -49,7 +48,7 @@ #define CLEANMASK(mask) (mask & ~(numlockmask|LockMask) & (ShiftMask|ControlMask|Mod1Mask|Mod2Mask|Mod3Mask|Mod4Mask|Mod5Mask)) #define INTERSECT(x,y,w,h,m) (MAX(0, MIN((x)+(w),(m)->wx+(m)->ww) - MAX((x),(m)->wx)) \ * MAX(0, MIN((y)+(h),(m)->wy+(m)->wh) - MAX((y),(m)->wy))) -#define ISVISIBLE(C) (C->swallowed == NULL && (C->tags & C->mon->tagset[C->mon->seltags])) +#define ISVISIBLE(C) ((C->tags & C->mon->tagset[C->mon->seltags])) #define LENGTH(X) (sizeof X / sizeof X[0]) #define MOUSEMASK (BUTTONMASK|PointerMotionMask) #define WIDTH(X) ((X)->w + 2 * (X)->bw) @@ -400,69 +386,6 @@ arrangemon(Monitor *m) m->lt[m->sellt]->arrange(m); } -pid_t -wintopid(Window window) { - XResClientIdSpec spec; - spec.client = window; - spec.mask = XRES_CLIENT_ID_XID; - - long count; - XResClientIdValue *output; - XResQueryClientIds(dpy, 1, &spec, &count, &output); - - pid_t pid = -1; - - for (int i = 0; i < count; ++i) - if (output[i].spec.mask == XRES_CLIENT_ID_PID_MASK) { - pid = *(pid_t *)output[i].value; - break; - } - - XResClientIdsDestroy(count, output); - - return pid; -} - -void -copyclientpos(Client *dst, Client *src) { - dst->bw = src->bw; - resizeclient(dst, src->x, src->y, src->w, src->h); - dst->oldx = src->oldx; - dst->oldy = src->oldy; - dst->oldw = src->oldw; - dst->oldh = src->oldh; - dst->oldbw = src->oldbw; - dst->oldstate = src->oldstate; - dst->isfullscreen = src->isfullscreen; - dst->isfloating = src->isfloating; - dst->tags = src->tags; - dst->mon = src->mon; -} - -void -checkswallowed(Client *c) { - pid_t pid = wintopid(c->win); - - if(pid < 0) return; - for(SwallowDef *sd = swallowlist; sd != NULL; sd = sd->next) { - if(pid == sd->pid) { - c->swallower = sd->swallower; - copyclientpos(c, sd->swallower); - - c->next_swallowed = c->swallower->swallowed; - c->swallower->swallowed = c; - - c->next = c->swallower->next; - c->swallower->next = c; - - c->snext = c->swallower->snext; - c->swallower->snext = c; - - return; - } - } -} - void attach(Client *c) {