From c2e4fed9182c84c713b24e6f3c60754c950bcf9b Mon Sep 17 00:00:00 2001 From: bakkeby Date: Sat, 7 Aug 2021 12:31:43 +0200 Subject: [PATCH] swallow: new window to respect border of parent terminal --- patch/swallow.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/patch/swallow.c b/patch/swallow.c index 824ca83..955d748 100644 --- a/patch/swallow.c +++ b/patch/swallow.c @@ -12,6 +12,7 @@ int swallow(Client *p, Client *c) { Client *s; + XWindowChanges wc; if (c->noswallow > 0 || c->isterminal) return 0; @@ -41,7 +42,14 @@ swallow(Client *p, Client *c) #if BAR_EWMHTAGS_PATCH setfloatinghint(s); #endif // BAR_EWMHTAGS_PATCH + + wc.border_width = p->bw; + XConfigureWindow(dpy, p->win, CWBorderWidth, &wc); XMoveResizeWindow(dpy, p->win, s->x, s->y, s->w, s->h); + #if !BAR_FLEXWINTITLE_PATCH + XSetWindowBorder(dpy, p->win, scheme[SchemeNorm][ColBorder].pixel); + #endif // BAR_FLEXWINTITLE_PATCH + arrange(p->mon); configure(p); updateclientlist(); @@ -52,6 +60,7 @@ swallow(Client *p, Client *c) void unswallow(Client *c) { + XWindowChanges wc; c->win = c->swallowing->win; free(c->swallowing); @@ -64,7 +73,14 @@ unswallow(Client *c) updatetitle(c); arrange(c->mon); XMapWindow(dpy, c->win); + + wc.border_width = c->bw; + XConfigureWindow(dpy, c->win, CWBorderWidth, &wc); XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h); + #if !BAR_FLEXWINTITLE_PATCH + XSetWindowBorder(dpy, c->win, scheme[SchemeNorm][ColBorder].pixel); + #endif // BAR_FLEXWINTITLE_PATCH + #if BAR_EWMHTAGS_PATCH setfloatinghint(c); #endif // BAR_EWMHTAGS_PATCH