From c56569549e0f8de0cccf75e70e6da33348a25bb0 Mon Sep 17 00:00:00 2001 From: rinri Date: Sun, 20 Sep 2020 17:22:45 +0000 Subject: [PATCH] added window swallowing --- config.def.h | 10 +- config.def.h.orig | 37 ++- config.def.h.rej | 21 +- config.h | 10 +- config.mk | 3 +- config.mk.orig | 38 +++ dwm | Bin 73072 -> 77832 bytes dwm-swallow-20200807-b2de9b0.diff | 412 ++++++++++++++++++++++++++++++ dwm.c | 235 ++++++++++++++++- dwm.c.orig | 45 +++- dwm.c.rej | 38 +++ dwm.o | Bin 64312 -> 67520 bytes 12 files changed, 824 insertions(+), 25 deletions(-) create mode 100644 config.mk.orig create mode 100644 dwm-swallow-20200807-b2de9b0.diff create mode 100644 dwm.c.rej diff --git a/config.def.h b/config.def.h index 17d84d5..6c16d2f 100644 --- a/config.def.h +++ b/config.def.h @@ -4,6 +4,7 @@ static const unsigned int borderpx = 2; /* border pixel of windows */ static const unsigned int gappx = 15; static const unsigned int snap = 32; /* snap pixel */ +static const int swallowfloating = 0; /* 1 means swallow floating windows by default */ static const int showbar = 1; /* 0 means no bar */ static const int topbar = 1; /* 0 means bottom bar */ static const char *fonts[] = { "monospace:size=13", "fontawesome:size=15"}; @@ -37,6 +38,11 @@ static const Rule rules[] = { /* class instance title tags mask iscentered isfloating monitor */ { "Gimp", NULL, NULL, 0, 0, 1, -1 }, { "Firefox", NULL, NULL, 1 << 8, 0, 0, -1 }, + /* class instance title tags mask iscentered isfloating isterminal noswallow monitor */ + { "Gimp", NULL, NULL, 0,0, 1, 0, 0, -1 }, + { "Firefox", NULL, NULL, 1 << 8,0, 0, 0, -1, -1 }, + { "St", NULL, NULL, 0,0, 0, 1, 0, -1 }, + { NULL, NULL, "Event Tester", 0,0, 0, 0, 1, -1 }, /* xev */ }; /* layout(s) */ @@ -85,10 +91,10 @@ static Key keys[] = { { 0, XF86XK_AudioForward, spawn, SHCMD("cmus-remote --seek +10") }, { MODKEY|ShiftMask, XK_space, togglealwaysontop, {0} }, { MODKEY, XK_w, spawn, SHCMD("firefox") }, - { MODKEY|ShiftMask, XK_l, spawn, SHCMD("xsecurelock") }, + { MODKEY|ShiftMask, XK_l, spawn, SHCMD("slock") }, { MODKEY|ShiftMask, XK_m, spawn, SHCMD("st ~/scripts/autostart.sh") }, { MODKEY|ShiftMask, XK_j, spawn, SHCMD("joplin-desktop") }, - { MODKEY|ShiftMask, XK_s, spawn, SHCMD("spectacle -r") }, + { MODKEY|ShiftMask, XK_s, spawn, SHCMD("~/scripts/screenshot.sh 1") }, { MODKEY|ShiftMask, XK_n, spawn, SHCMD("connman-gtk") }, { MODKEY, XK_p, spawn, {.v = dmenucmd } }, { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, diff --git a/config.def.h.orig b/config.def.h.orig index c8a451c..b53bf6a 100644 --- a/config.def.h.orig +++ b/config.def.h.orig @@ -2,10 +2,11 @@ /* appearance */ static const unsigned int borderpx = 2; /* border pixel of windows */ +static const unsigned int gappx = 15; static const unsigned int snap = 32; /* snap pixel */ static const int showbar = 1; /* 0 means no bar */ static const int topbar = 1; /* 0 means bottom bar */ -static const char *fonts[] = { "monospace:size=13", "fontawesome:size=13"}; +static const char *fonts[] = { "monospace:size=13", "fontawesome:size=15"}; static const char dmenufont[] = "monospace:size=13"; static const char col_gray1[] = "#222222"; static const char col_gray2[] = "#444444"; @@ -19,12 +20,14 @@ static const char *colors[][3] = { }; static const char *const autostart[] = { - "st", NULL, + "sh", "-c", "sh ~/scripts/xinit.sh", NULL, + "dunst", NULL, + "slstatus", NULL, NULL /* terminate */ }; /* tagging */ -static const char *tags[] = { "", "", "", "", "", "6", "7", "8", "9" }; +static const char *tags[] = { "", "", "", "", "", "", "" }; static const Rule rules[] = { /* xprop(1): @@ -49,7 +52,7 @@ static const Layout layouts[] = { }; /* key definitions */ -#define MODKEY Mod1Mask +#define MODKEY Mod4Mask #define TAGKEYS(KEY,TAG) \ { MODKEY, KEY, view, {.ui = 1 << TAG} }, \ { MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \ @@ -64,9 +67,30 @@ static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL }; static const char *termcmd[] = { "st", NULL }; +#include + static Key keys[] = { /* modifier key function argument */ - { MODKEY, XK_p, spawn, {.v = dmenucmd } }, + { 0, XK_Print, spawn, SHCMD("scrot -e 'mv $f ~/Screenshots'") }, + { 0, XF86XK_PowerOff, spawn, SHCMD("~/scripts/poweroff.sh") }, + { 0, XF86XK_AudioMute, spawn, SHCMD("pulsemixer --toggle-mute") }, + { 0, XF86XK_AudioRaiseVolume, spawn, SHCMD("pulsemixer --change-volume +1") }, + { 0, XF86XK_AudioLowerVolume, spawn, SHCMD("pulsemixer --change-volume -1") }, + { 0, XF86XK_AudioPrev, spawn, SHCMD("cmus-remote --prev") }, + { 0, XF86XK_AudioNext, spawn, SHCMD("cmus-remote --next") }, + { 0, XF86XK_AudioPause, spawn, SHCMD("cmus-remote --pause") }, + { 0, XF86XK_AudioPlay, spawn, SHCMD("cmus-remote --pause") }, + { 0, XF86XK_AudioStop, spawn, SHCMD("cmus-remote --stop") }, + { 0, XF86XK_AudioRewind, spawn, SHCMD("cmus-remote --seek -10") }, + { 0, XF86XK_AudioForward, spawn, SHCMD("cmus-remote --seek +10") }, + { MODKEY|ShiftMask, XK_space, togglealwaysontop, {0} }, + { MODKEY, XK_w, spawn, SHCMD("firefox") }, + { MODKEY|ShiftMask, XK_l, spawn, SHCMD("slock") }, + { MODKEY|ShiftMask, XK_m, spawn, SHCMD("st ~/scripts/autostart.sh") }, + { MODKEY|ShiftMask, XK_j, spawn, SHCMD("joplin-desktop") }, + { MODKEY|ShiftMask, XK_s, spawn, SHCMD("~/scripts/screenshot.sh 1") }, + { MODKEY|ShiftMask, XK_n, spawn, SHCMD("connman-gtk") }, + { MODKEY, XK_p, spawn, {.v = dmenucmd } }, { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, { MODKEY, XK_b, togglebar, {0} }, { MODKEY, XK_j, focusstack, {.i = +1 } }, @@ -89,6 +113,9 @@ static Key keys[] = { { MODKEY, XK_period, focusmon, {.i = +1 } }, { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } }, + { MODKEY, XK_minus, setgaps, {.i = -5 } }, + { MODKEY, XK_equal, setgaps, {.i = +5 } }, + { MODKEY|ShiftMask, XK_equal, setgaps, {.i = 0 } }, TAGKEYS( XK_1, 0) TAGKEYS( XK_2, 1) TAGKEYS( XK_3, 2) diff --git a/config.def.h.rej b/config.def.h.rej index 73b6d43..260bda8 100644 --- a/config.def.h.rej +++ b/config.def.h.rej @@ -1,10 +1,17 @@ --- config.def.h +++ config.def.h -@@ -2,6 +2,7 @@ +@@ -27,9 +28,11 @@ static const Rule rules[] = { + * WM_CLASS(STRING) = instance, class + * WM_NAME(STRING) = title + */ +- /* class instance title tags mask isfloating monitor */ +- { "Gimp", NULL, NULL, 0, 1, -1 }, +- { "Firefox", NULL, NULL, 1 << 8, 0, -1 }, ++ /* class instance title tags mask isfloating isterminal noswallow monitor */ ++ { "Gimp", NULL, NULL, 0, 1, 0, 0, -1 }, ++ { "Firefox", NULL, NULL, 1 << 8, 0, 0, -1, -1 }, ++ { "St", NULL, NULL, 0, 0, 1, 0, -1 }, ++ { NULL, NULL, "Event Tester", 0, 0, 0, 1, -1 }, /* xev */ + }; - /* appearance */ - static const unsigned int borderpx = 1; /* border pixel of windows */ -+static const unsigned int gappx = 5; /* gaps between windows */ - static const unsigned int snap = 32; /* snap pixel */ - static const int showbar = 1; /* 0 means no bar */ - static const int topbar = 1; /* 0 means bottom bar */ + /* layout(s) */ diff --git a/config.h b/config.h index 17d84d5..6c16d2f 100644 --- a/config.h +++ b/config.h @@ -4,6 +4,7 @@ static const unsigned int borderpx = 2; /* border pixel of windows */ static const unsigned int gappx = 15; static const unsigned int snap = 32; /* snap pixel */ +static const int swallowfloating = 0; /* 1 means swallow floating windows by default */ static const int showbar = 1; /* 0 means no bar */ static const int topbar = 1; /* 0 means bottom bar */ static const char *fonts[] = { "monospace:size=13", "fontawesome:size=15"}; @@ -37,6 +38,11 @@ static const Rule rules[] = { /* class instance title tags mask iscentered isfloating monitor */ { "Gimp", NULL, NULL, 0, 0, 1, -1 }, { "Firefox", NULL, NULL, 1 << 8, 0, 0, -1 }, + /* class instance title tags mask iscentered isfloating isterminal noswallow monitor */ + { "Gimp", NULL, NULL, 0,0, 1, 0, 0, -1 }, + { "Firefox", NULL, NULL, 1 << 8,0, 0, 0, -1, -1 }, + { "St", NULL, NULL, 0,0, 0, 1, 0, -1 }, + { NULL, NULL, "Event Tester", 0,0, 0, 0, 1, -1 }, /* xev */ }; /* layout(s) */ @@ -85,10 +91,10 @@ static Key keys[] = { { 0, XF86XK_AudioForward, spawn, SHCMD("cmus-remote --seek +10") }, { MODKEY|ShiftMask, XK_space, togglealwaysontop, {0} }, { MODKEY, XK_w, spawn, SHCMD("firefox") }, - { MODKEY|ShiftMask, XK_l, spawn, SHCMD("xsecurelock") }, + { MODKEY|ShiftMask, XK_l, spawn, SHCMD("slock") }, { MODKEY|ShiftMask, XK_m, spawn, SHCMD("st ~/scripts/autostart.sh") }, { MODKEY|ShiftMask, XK_j, spawn, SHCMD("joplin-desktop") }, - { MODKEY|ShiftMask, XK_s, spawn, SHCMD("spectacle -r") }, + { MODKEY|ShiftMask, XK_s, spawn, SHCMD("~/scripts/screenshot.sh 1") }, { MODKEY|ShiftMask, XK_n, spawn, SHCMD("connman-gtk") }, { MODKEY, XK_p, spawn, {.v = dmenucmd } }, { MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } }, diff --git a/config.mk b/config.mk index 6d36cb7..5d136bc 100644 --- a/config.mk +++ b/config.mk @@ -19,10 +19,11 @@ FREETYPELIBS = -lfontconfig -lXft FREETYPEINC = /usr/include/freetype2 # OpenBSD (uncomment) #FREETYPEINC = ${X11INC}/freetype2 +#KVMLIB = -lkvm # includes and libs INCS = -I${X11INC} -I${FREETYPEINC} -LIBS = -L${X11LIB} -lX11 ${XINERAMALIBS} ${FREETYPELIBS} +LIBS = -L${X11LIB} -lX11 ${XINERAMALIBS} ${FREETYPELIBS} -lX11-xcb -lxcb -lxcb-res ${KVMLIB} # flags CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=2 -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS} diff --git a/config.mk.orig b/config.mk.orig new file mode 100644 index 0000000..6d36cb7 --- /dev/null +++ b/config.mk.orig @@ -0,0 +1,38 @@ +# dwm version +VERSION = 6.2 + +# Customize below to fit your system + +# paths +PREFIX = /usr/local +MANPREFIX = ${PREFIX}/share/man + +X11INC = /usr/X11R6/include +X11LIB = /usr/X11R6/lib + +# Xinerama, comment if you don't want it +XINERAMALIBS = -lXinerama +XINERAMAFLAGS = -DXINERAMA + +# freetype +FREETYPELIBS = -lfontconfig -lXft +FREETYPEINC = /usr/include/freetype2 +# OpenBSD (uncomment) +#FREETYPEINC = ${X11INC}/freetype2 + +# includes and libs +INCS = -I${X11INC} -I${FREETYPEINC} +LIBS = -L${X11LIB} -lX11 ${XINERAMALIBS} ${FREETYPELIBS} + +# flags +CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=2 -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS} +#CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS} +CFLAGS = -std=c99 -pedantic -Wall -Wno-deprecated-declarations -Os ${INCS} ${CPPFLAGS} +LDFLAGS = ${LIBS} + +# Solaris +#CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\" +#LDFLAGS = ${LIBS} + +# compiler and linker +CC = cc diff --git a/dwm b/dwm index 04fda91a8576b22f5d02b576553663e62d3dcc77..5df234a68ff06fcc5de0e17a06c505a26f4cc161 100755 GIT binary patch literal 77832 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 Z(x7$~6Sl92mbLwICn@KfmIhzc{123L%$WcH literal 73072 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 diff --git a/dwm-swallow-20200807-b2de9b0.diff b/dwm-swallow-20200807-b2de9b0.diff new file mode 100644 index 0000000..b3dbf46 --- /dev/null +++ b/dwm-swallow-20200807-b2de9b0.diff @@ -0,0 +1,412 @@ +From b2de9b0fd7988241db516a8f032f26cb9cf32be1 Mon Sep 17 00:00:00 2001 +From: Ben +Date: Fri, 7 Aug 2020 20:14:29 -0400 +Subject: [PATCH] added openbsd support for swallowing + +--- + config.def.h | 9 +- + config.mk | 3 +- + dwm.c | 235 +++++++++++++++++++++++++++++++++++++++++++++++++-- + 3 files changed, 237 insertions(+), 10 deletions(-) + +diff --git a/config.def.h b/config.def.h +index 1c0b587..fe51476 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -3,6 +3,7 @@ + /* appearance */ + static const unsigned int borderpx = 1; /* border pixel of windows */ + static const unsigned int snap = 32; /* snap pixel */ ++static const int swallowfloating = 0; /* 1 means swallow floating windows by default */ + static const int showbar = 1; /* 0 means no bar */ + static const int topbar = 1; /* 0 means bottom bar */ + static const char *fonts[] = { "monospace:size=10" }; +@@ -26,9 +27,11 @@ static const Rule rules[] = { + * WM_CLASS(STRING) = instance, class + * WM_NAME(STRING) = title + */ +- /* class instance title tags mask isfloating monitor */ +- { "Gimp", NULL, NULL, 0, 1, -1 }, +- { "Firefox", NULL, NULL, 1 << 8, 0, -1 }, ++ /* class instance title tags mask isfloating isterminal noswallow monitor */ ++ { "Gimp", NULL, NULL, 0, 1, 0, 0, -1 }, ++ { "Firefox", NULL, NULL, 1 << 8, 0, 0, -1, -1 }, ++ { "St", NULL, NULL, 0, 0, 1, 0, -1 }, ++ { NULL, NULL, "Event Tester", 0, 0, 0, 1, -1 }, /* xev */ + }; + + /* layout(s) */ +diff --git a/config.mk b/config.mk +index 7084c33..ff9e508 100644 +--- a/config.mk ++++ b/config.mk +@@ -19,10 +19,11 @@ FREETYPELIBS = -lfontconfig -lXft + FREETYPEINC = /usr/include/freetype2 + # OpenBSD (uncomment) + #FREETYPEINC = ${X11INC}/freetype2 ++#KVMLIB = -lkvm + + # includes and libs + INCS = -I${X11INC} -I${FREETYPEINC} +-LIBS = -L${X11LIB} -lX11 ${XINERAMALIBS} ${FREETYPELIBS} ++LIBS = -L${X11LIB} -lX11 ${XINERAMALIBS} ${FREETYPELIBS} -lX11-xcb -lxcb -lxcb-res ${KVMLIB} + + # flags + CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=200809L -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS} +diff --git a/dwm.c b/dwm.c +index 9fd0286..e9f08f7 100644 +--- a/dwm.c ++++ b/dwm.c +@@ -40,6 +40,12 @@ + #include + #endif /* XINERAMA */ + #include ++#include ++#include ++#ifdef __OpenBSD__ ++#include ++#include ++#endif /* __OpenBSD */ + + #include "drw.h" + #include "util.h" +@@ -92,9 +98,11 @@ struct Client { + int basew, baseh, incw, inch, maxw, maxh, minw, minh; + int bw, oldbw; + unsigned int tags; +- int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen; ++ int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen, isterminal, noswallow; ++ pid_t pid; + Client *next; + Client *snext; ++ Client *swallowing; + Monitor *mon; + Window win; + }; +@@ -138,6 +146,8 @@ typedef struct { + const char *title; + unsigned int tags; + int isfloating; ++ int isterminal; ++ int noswallow; + int monitor; + } Rule; + +@@ -235,6 +245,12 @@ static int xerrordummy(Display *dpy, XErrorEvent *ee); + static int xerrorstart(Display *dpy, XErrorEvent *ee); + static void zoom(const Arg *arg); + ++static pid_t getparentprocess(pid_t p); ++static int isdescprocess(pid_t p, pid_t c); ++static Client *swallowingclient(Window w); ++static Client *termforwin(const Client *c); ++static pid_t winpid(Window w); ++ + /* variables */ + static const char broken[] = "broken"; + static char stext[256]; +@@ -269,6 +285,8 @@ static Drw *drw; + static Monitor *mons, *selmon; + static Window root, wmcheckwin; + ++static xcb_connection_t *xcon; ++ + /* configuration, allows nested code to access above variables */ + #include "config.h" + +@@ -298,6 +316,8 @@ applyrules(Client *c) + && (!r->class || strstr(class, r->class)) + && (!r->instance || strstr(instance, r->instance))) + { ++ c->isterminal = r->isterminal; ++ c->noswallow = r->noswallow; + c->isfloating = r->isfloating; + c->tags |= r->tags; + for (m = mons; m && m->num != r->monitor; m = m->next); +@@ -414,6 +434,53 @@ attachstack(Client *c) + c->mon->stack = c; + } + ++void ++swallow(Client *p, Client *c) ++{ ++ ++ if (c->noswallow || c->isterminal) ++ return; ++ if (c->noswallow && !swallowfloating && c->isfloating) ++ return; ++ ++ detach(c); ++ detachstack(c); ++ ++ setclientstate(c, WithdrawnState); ++ XUnmapWindow(dpy, p->win); ++ ++ p->swallowing = c; ++ c->mon = p->mon; ++ ++ Window w = p->win; ++ p->win = c->win; ++ c->win = w; ++ updatetitle(p); ++ XMoveResizeWindow(dpy, p->win, p->x, p->y, p->w, p->h); ++ arrange(p->mon); ++ configure(p); ++ updateclientlist(); ++} ++ ++void ++unswallow(Client *c) ++{ ++ c->win = c->swallowing->win; ++ ++ free(c->swallowing); ++ c->swallowing = NULL; ++ ++ /* unfullscreen the client */ ++ setfullscreen(c, 0); ++ updatetitle(c); ++ arrange(c->mon); ++ XMapWindow(dpy, c->win); ++ XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h); ++ setclientstate(c, NormalState); ++ focus(NULL); ++ arrange(c->mon); ++} ++ + void + buttonpress(XEvent *e) + { +@@ -653,6 +720,9 @@ destroynotify(XEvent *e) + + if ((c = wintoclient(ev->window))) + unmanage(c, 1); ++ ++ else if ((c = swallowingclient(ev->window))) ++ unmanage(c->swallowing, 1); + } + + void +@@ -1018,12 +1088,13 @@ killclient(const Arg *arg) + void + manage(Window w, XWindowAttributes *wa) + { +- Client *c, *t = NULL; ++ Client *c, *t = NULL, *term = NULL; + Window trans = None; + XWindowChanges wc; + + c = ecalloc(1, sizeof(Client)); + c->win = w; ++ c->pid = winpid(w); + /* geometry */ + c->x = c->oldx = wa->x; + c->y = c->oldy = wa->y; +@@ -1038,6 +1109,7 @@ manage(Window w, XWindowAttributes *wa) + } else { + c->mon = selmon; + applyrules(c); ++ term = termforwin(c); + } + + if (c->x + WIDTH(c) > c->mon->mx + c->mon->mw) +@@ -1074,6 +1146,8 @@ manage(Window w, XWindowAttributes *wa) + c->mon->sel = c; + arrange(c->mon); + XMapWindow(dpy, c->win); ++ if (term) ++ swallow(term, c); + focus(NULL); + } + +@@ -1768,6 +1842,20 @@ unmanage(Client *c, int destroyed) + Monitor *m = c->mon; + XWindowChanges wc; + ++ if (c->swallowing) { ++ unswallow(c); ++ return; ++ } ++ ++ Client *s = swallowingclient(c->win); ++ if (s) { ++ free(s->swallowing); ++ s->swallowing = NULL; ++ arrange(m); ++ focus(NULL); ++ return; ++ } ++ + detach(c); + detachstack(c); + if (!destroyed) { +@@ -1782,9 +1870,12 @@ unmanage(Client *c, int destroyed) + XUngrabServer(dpy); + } + free(c); +- focus(NULL); +- updateclientlist(); +- arrange(m); ++ ++ if (!s) { ++ arrange(m); ++ focus(NULL); ++ updateclientlist(); ++ } + } + + void +@@ -2047,6 +2138,136 @@ view(const Arg *arg) + arrange(selmon); + } + ++pid_t ++winpid(Window w) ++{ ++ ++ pid_t result = 0; ++ ++ #ifdef __linux__ ++ xcb_res_client_id_spec_t spec = {0}; ++ spec.client = w; ++ spec.mask = XCB_RES_CLIENT_ID_MASK_LOCAL_CLIENT_PID; ++ ++ xcb_generic_error_t *e = NULL; ++ xcb_res_query_client_ids_cookie_t c = xcb_res_query_client_ids(xcon, 1, &spec); ++ xcb_res_query_client_ids_reply_t *r = xcb_res_query_client_ids_reply(xcon, c, &e); ++ ++ if (!r) ++ return (pid_t)0; ++ ++ xcb_res_client_id_value_iterator_t i = xcb_res_query_client_ids_ids_iterator(r); ++ for (; i.rem; xcb_res_client_id_value_next(&i)) { ++ spec = i.data->spec; ++ if (spec.mask & XCB_RES_CLIENT_ID_MASK_LOCAL_CLIENT_PID) { ++ uint32_t *t = xcb_res_client_id_value_value(i.data); ++ result = *t; ++ break; ++ } ++ } ++ ++ free(r); ++ ++ if (result == (pid_t)-1) ++ result = 0; ++ ++ #endif /* __linux__ */ ++ ++ #ifdef __OpenBSD__ ++ Atom type; ++ int format; ++ unsigned long len, bytes; ++ unsigned char *prop; ++ pid_t ret; ++ ++ if (XGetWindowProperty(dpy, w, XInternAtom(dpy, "_NET_WM_PID", 1), 0, 1, False, AnyPropertyType, &type, &format, &len, &bytes, &prop) != Success || !prop) ++ return 0; ++ ++ ret = *(pid_t*)prop; ++ XFree(prop); ++ result = ret; ++ ++ #endif /* __OpenBSD__ */ ++ return result; ++} ++ ++pid_t ++getparentprocess(pid_t p) ++{ ++ unsigned int v = 0; ++ ++#ifdef __linux__ ++ FILE *f; ++ char buf[256]; ++ snprintf(buf, sizeof(buf) - 1, "/proc/%u/stat", (unsigned)p); ++ ++ if (!(f = fopen(buf, "r"))) ++ return 0; ++ ++ fscanf(f, "%*u %*s %*c %u", &v); ++ fclose(f); ++#endif /* __linux__*/ ++ ++#ifdef __OpenBSD__ ++ int n; ++ kvm_t *kd; ++ struct kinfo_proc *kp; ++ ++ kd = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, NULL); ++ if (!kd) ++ return 0; ++ ++ kp = kvm_getprocs(kd, KERN_PROC_PID, p, sizeof(*kp), &n); ++ v = kp->p_ppid; ++#endif /* __OpenBSD__ */ ++ ++ return (pid_t)v; ++} ++ ++int ++isdescprocess(pid_t p, pid_t c) ++{ ++ while (p != c && c != 0) ++ c = getparentprocess(c); ++ ++ return (int)c; ++} ++ ++Client * ++termforwin(const Client *w) ++{ ++ Client *c; ++ Monitor *m; ++ ++ if (!w->pid || w->isterminal) ++ return NULL; ++ ++ for (m = mons; m; m = m->next) { ++ for (c = m->clients; c; c = c->next) { ++ if (c->isterminal && !c->swallowing && c->pid && isdescprocess(c->pid, w->pid)) ++ return c; ++ } ++ } ++ ++ return NULL; ++} ++ ++Client * ++swallowingclient(Window w) ++{ ++ Client *c; ++ Monitor *m; ++ ++ for (m = mons; m; m = m->next) { ++ for (c = m->clients; c; c = c->next) { ++ if (c->swallowing && c->swallowing->win == w) ++ return c; ++ } ++ } ++ ++ return NULL; ++} ++ + Client * + wintoclient(Window w) + { +@@ -2138,10 +2359,12 @@ main(int argc, char *argv[]) + fputs("warning: no locale support\n", stderr); + if (!(dpy = XOpenDisplay(NULL))) + die("dwm: cannot open display"); ++ if (!(xcon = XGetXCBConnection(dpy))) ++ die("dwm: cannot get xcb connection\n"); + checkotherwm(); + setup(); + #ifdef __OpenBSD__ +- if (pledge("stdio rpath proc exec", NULL) == -1) ++ if (pledge("stdio rpath proc exec ps", NULL) == -1) + die("pledge"); + #endif /* __OpenBSD__ */ + scan(); +-- +2.26.2 + diff --git a/dwm.c b/dwm.c index 78e3aa4..aa9c6c9 100644 --- a/dwm.c +++ b/dwm.c @@ -40,6 +40,12 @@ #include #endif /* XINERAMA */ #include +#include +#include +#ifdef __OpenBSD__ +#include +#include +#endif /* __OpenBSD */ #include "drw.h" #include "util.h" @@ -92,9 +98,11 @@ struct Client { int basew, baseh, incw, inch, maxw, maxh, minw, minh; int bw, oldbw; unsigned int tags; - int isfixed, iscentered, isfloating, isalwaysontop, isurgent, neverfocus, oldstate, isfullscreen; + int isfixed, iscentered, isfloating, isalwaysontop, isurgent, neverfocus, oldstate, isfullscreen, isterminal, noswallow; + pid_t pid; Client *next; Client *snext; + Client *swallowing; Monitor *mon; Window win; }; @@ -140,6 +148,8 @@ typedef struct { unsigned int tags; int iscentered; int isfloating; + int isterminal; + int noswallow; int monitor; } Rule; @@ -239,6 +249,12 @@ static int xerrorstart(Display *dpy, XErrorEvent *ee); static void zoom(const Arg *arg); static void autostart_exec(void); +static pid_t getparentprocess(pid_t p); +static int isdescprocess(pid_t p, pid_t c); +static Client *swallowingclient(Window w); +static Client *termforwin(const Client *c); +static pid_t winpid(Window w); + /* variables */ static const char broken[] = "broken"; static char stext[256]; @@ -273,6 +289,8 @@ static Drw *drw; static Monitor *mons, *selmon; static Window root, wmcheckwin; +static xcb_connection_t *xcon; + /* configuration, allows nested code to access above variables */ #include "config.h" @@ -331,6 +349,8 @@ applyrules(Client *c) && (!r->class || strstr(class, r->class)) && (!r->instance || strstr(instance, r->instance))) { + c->isterminal = r->isterminal; + c->noswallow = r->noswallow; c->iscentered = r->iscentered; c->isfloating = r->isfloating; c->tags |= r->tags; @@ -448,6 +468,53 @@ attachstack(Client *c) c->mon->stack = c; } +void +swallow(Client *p, Client *c) +{ + + if (c->noswallow || c->isterminal) + return; + if (c->noswallow && !swallowfloating && c->isfloating) + return; + + detach(c); + detachstack(c); + + setclientstate(c, WithdrawnState); + XUnmapWindow(dpy, p->win); + + p->swallowing = c; + c->mon = p->mon; + + Window w = p->win; + p->win = c->win; + c->win = w; + updatetitle(p); + XMoveResizeWindow(dpy, p->win, p->x, p->y, p->w, p->h); + arrange(p->mon); + configure(p); + updateclientlist(); +} + +void +unswallow(Client *c) +{ + c->win = c->swallowing->win; + + free(c->swallowing); + c->swallowing = NULL; + + /* unfullscreen the client */ + setfullscreen(c, 0); + updatetitle(c); + arrange(c->mon); + XMapWindow(dpy, c->win); + XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h); + setclientstate(c, NormalState); + focus(NULL); + arrange(c->mon); +} + void buttonpress(XEvent *e) { @@ -688,6 +755,9 @@ destroynotify(XEvent *e) if ((c = wintoclient(ev->window))) unmanage(c, 1); + + else if ((c = swallowingclient(ev->window))) + unmanage(c->swallowing, 1); } void @@ -1056,12 +1126,13 @@ killclient(const Arg *arg) void manage(Window w, XWindowAttributes *wa) { - Client *c, *t = NULL; + Client *c, *t = NULL, *term = NULL; Window trans = None; XWindowChanges wc; c = ecalloc(1, sizeof(Client)); c->win = w; + c->pid = winpid(w); /* geometry */ c->x = c->oldx = wa->x; c->y = c->oldy = wa->y; @@ -1076,6 +1147,7 @@ manage(Window w, XWindowAttributes *wa) } else { c->mon = selmon; applyrules(c); + term = termforwin(c); } if (c->x + WIDTH(c) > c->mon->mx + c->mon->mw) @@ -1116,6 +1188,8 @@ manage(Window w, XWindowAttributes *wa) c->mon->sel = c; arrange(c->mon); XMapWindow(dpy, c->win); + if (term) + swallow(term, c); focus(NULL); } @@ -1881,6 +1955,20 @@ unmanage(Client *c, int destroyed) Monitor *m = c->mon; XWindowChanges wc; + if (c->swallowing) { + unswallow(c); + return; + } + + Client *s = swallowingclient(c->win); + if (s) { + free(s->swallowing); + s->swallowing = NULL; + arrange(m); + focus(NULL); + return; + } + detach(c); detachstack(c); if (!destroyed) { @@ -1895,9 +1983,12 @@ unmanage(Client *c, int destroyed) XUngrabServer(dpy); } free(c); - focus(NULL); - updateclientlist(); - arrange(m); + + if (!s) { + arrange(m); + focus(NULL); + updateclientlist(); + } } void @@ -2162,6 +2253,136 @@ view(const Arg *arg) arrange(selmon); } +pid_t +winpid(Window w) +{ + + pid_t result = 0; + + #ifdef __linux__ + xcb_res_client_id_spec_t spec = {0}; + spec.client = w; + spec.mask = XCB_RES_CLIENT_ID_MASK_LOCAL_CLIENT_PID; + + xcb_generic_error_t *e = NULL; + xcb_res_query_client_ids_cookie_t c = xcb_res_query_client_ids(xcon, 1, &spec); + xcb_res_query_client_ids_reply_t *r = xcb_res_query_client_ids_reply(xcon, c, &e); + + if (!r) + return (pid_t)0; + + xcb_res_client_id_value_iterator_t i = xcb_res_query_client_ids_ids_iterator(r); + for (; i.rem; xcb_res_client_id_value_next(&i)) { + spec = i.data->spec; + if (spec.mask & XCB_RES_CLIENT_ID_MASK_LOCAL_CLIENT_PID) { + uint32_t *t = xcb_res_client_id_value_value(i.data); + result = *t; + break; + } + } + + free(r); + + if (result == (pid_t)-1) + result = 0; + + #endif /* __linux__ */ + + #ifdef __OpenBSD__ + Atom type; + int format; + unsigned long len, bytes; + unsigned char *prop; + pid_t ret; + + if (XGetWindowProperty(dpy, w, XInternAtom(dpy, "_NET_WM_PID", 1), 0, 1, False, AnyPropertyType, &type, &format, &len, &bytes, &prop) != Success || !prop) + return 0; + + ret = *(pid_t*)prop; + XFree(prop); + result = ret; + + #endif /* __OpenBSD__ */ + return result; +} + +pid_t +getparentprocess(pid_t p) +{ + unsigned int v = 0; + +#ifdef __linux__ + FILE *f; + char buf[256]; + snprintf(buf, sizeof(buf) - 1, "/proc/%u/stat", (unsigned)p); + + if (!(f = fopen(buf, "r"))) + return 0; + + fscanf(f, "%*u %*s %*c %u", &v); + fclose(f); +#endif /* __linux__*/ + +#ifdef __OpenBSD__ + int n; + kvm_t *kd; + struct kinfo_proc *kp; + + kd = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, NULL); + if (!kd) + return 0; + + kp = kvm_getprocs(kd, KERN_PROC_PID, p, sizeof(*kp), &n); + v = kp->p_ppid; +#endif /* __OpenBSD__ */ + + return (pid_t)v; +} + +int +isdescprocess(pid_t p, pid_t c) +{ + while (p != c && c != 0) + c = getparentprocess(c); + + return (int)c; +} + +Client * +termforwin(const Client *w) +{ + Client *c; + Monitor *m; + + if (!w->pid || w->isterminal) + return NULL; + + for (m = mons; m; m = m->next) { + for (c = m->clients; c; c = c->next) { + if (c->isterminal && !c->swallowing && c->pid && isdescprocess(c->pid, w->pid)) + return c; + } + } + + return NULL; +} + +Client * +swallowingclient(Window w) +{ + Client *c; + Monitor *m; + + for (m = mons; m; m = m->next) { + for (c = m->clients; c; c = c->next) { + if (c->swallowing && c->swallowing->win == w) + return c; + } + } + + return NULL; +} + Client * wintoclient(Window w) { @@ -2253,11 +2474,13 @@ main(int argc, char *argv[]) fputs("warning: no locale support\n", stderr); if (!(dpy = XOpenDisplay(NULL))) die("dwm: cannot open display"); + if (!(xcon = XGetXCBConnection(dpy))) + die("dwm: cannot get xcb connection\n"); checkotherwm(); autostart_exec(); setup(); #ifdef __OpenBSD__ - if (pledge("stdio rpath proc exec", NULL) == -1) + if (pledge("stdio rpath proc exec ps", NULL) == -1) die("pledge"); #endif /* __OpenBSD__ */ scan(); diff --git a/dwm.c.orig b/dwm.c.orig index 79d1e71..78e3aa4 100644 --- a/dwm.c.orig +++ b/dwm.c.orig @@ -92,7 +92,7 @@ struct Client { int basew, baseh, incw, inch, maxw, maxh, minw, minh; int bw, oldbw; unsigned int tags; - int isfixed, iscentered, isfloating, isurgent, neverfocus, oldstate, isfullscreen; + int isfixed, iscentered, isfloating, isalwaysontop, isurgent, neverfocus, oldstate, isfullscreen; Client *next; Client *snext; Monitor *mon; @@ -214,6 +214,7 @@ static void tagmon(const Arg *arg); static void tile(Monitor *); static void togglebar(const Arg *arg); static void togglefloating(const Arg *arg); +static void togglealwaysontop(const Arg *arg); static void toggletag(const Arg *arg); static void toggleview(const Arg *arg); static void unfocus(Client *c, int setfocus); @@ -767,8 +768,11 @@ drawbar(Monitor *m) if (m->sel) { drw_setscheme(drw, scheme[m == selmon ? SchemeSel : SchemeNorm]); drw_text(drw, x, 0, w, bh, lrpad / 2, m->sel->name, 0); - if (m->sel->isfloating) + if (m->sel->isfloating) { drw_rect(drw, x + boxs, boxs, boxw, boxw, m->sel->isfixed, 0); + if (m->sel->isalwaysontop) + drw_rect(drw, x + boxs, bh - boxw, boxw, boxw, 0, 0); + } } else { drw_setscheme(drw, scheme[SchemeNorm]); drw_rect(drw, x, 0, w, bh, 1, 1); @@ -1405,6 +1409,17 @@ restack(Monitor *m) return; if (m->sel->isfloating || !m->lt[m->sellt]->arrange) XRaiseWindow(dpy, m->sel->win); + + /* raise the aot window */ + for(Monitor *m_search = mons; m_search; m_search = m_search->next){ + for(c = m_search->clients; c; c = c->next){ + if(c->isalwaysontop){ + XRaiseWindow(dpy, c->win); + break; + } + } + } + if (m->lt[m->sellt]->arrange) { wc.stack_mode = Below; wc.sibling = m->barwin; @@ -1791,6 +1806,32 @@ togglefloating(const Arg *arg) if (selmon->sel->isfloating) resize(selmon->sel, selmon->sel->x, selmon->sel->y, selmon->sel->w, selmon->sel->h, 0); + else + selmon->sel->isalwaysontop = 0; /* disabled, turn this off too */ + arrange(selmon); +} + +void +togglealwaysontop(const Arg *arg) +{ + if (!selmon->sel) + return; + if (selmon->sel->isfullscreen) + return; + + if(selmon->sel->isalwaysontop){ + selmon->sel->isalwaysontop = 0; + }else{ + /* disable others */ + for(Monitor *m = mons; m; m = m->next) + for(Client *c = m->clients; c; c = c->next) + c->isalwaysontop = 0; + + /* turn on, make it float too */ + selmon->sel->isfloating = 1; + selmon->sel->isalwaysontop = 1; + } + arrange(selmon); } diff --git a/dwm.c.rej b/dwm.c.rej new file mode 100644 index 0000000..d62f293 --- /dev/null +++ b/dwm.c.rej @@ -0,0 +1,38 @@ +--- dwm.c ++++ dwm.c +@@ -98,9 +104,11 @@ struct Client { + int basew, baseh, incw, inch, maxw, maxh, minw, minh; + int bw, oldbw; + unsigned int tags; +- int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen; ++ int isfixed, isfloating, isurgent, neverfocus, oldstate, isfullscreen, isterminal, noswallow; ++ pid_t pid; + Client *next; + Client *snext; ++ Client *swallowing; + Monitor *mon; + Window win; + }; +@@ -314,6 +332,8 @@ applyrules(Client *c) + && (!r->class || strstr(class, r->class)) + && (!r->instance || strstr(instance, r->instance))) + { ++ c->isterminal = r->isterminal; ++ c->noswallow = r->noswallow; + c->isfloating = r->isfloating; + c->tags |= r->tags; + for (m = mons; m && m->num != r->monitor; m = m->next); +@@ -2355,10 +2576,12 @@ main(int argc, char *argv[]) + fputs("warning: no locale support\n", stderr); + if (!(dpy = XOpenDisplay(NULL))) + die("dwm: cannot open display"); ++ if (!(xcon = XGetXCBConnection(dpy))) ++ die("dwm: cannot get xcb connection\n"); + checkotherwm(); + setup(); + #ifdef __OpenBSD__ +- if (pledge("stdio rpath proc exec", NULL) == -1) ++ if (pledge("stdio rpath proc exec ps", NULL) == -1) + die("pledge"); + #endif /* __OpenBSD__ */ + scan(); diff --git a/dwm.o b/dwm.o index e8bd22fd54714ed6b0f95c2a040e663a4100ac46..23b495af685c2bc1e30b6c81676396b2c851f0ab 100644 GIT binary patch literal 67520 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 literal 64312 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