pretty selector

This commit is contained in:
tavo 2024-12-14 09:10:45 -06:00
parent 60808bb120
commit 2b2ece9fff

View file

@ -1,5 +1,18 @@
Applied patches (in listed order):
dwm-warp-6.4.diff
dwm-swallow-6.3.diff
dwm-sticky-6.4.diff
dwm-pertag-20200914-61bb8b2.diff
dwm-notitle-20210715-138b405.diff
dwm-movestack-20211115-a786211.diff
dwm-fullgaps-6.4.diff
dwm-attachbottom-6.3.diff
dwm-alwayscenter-20200625-f04cac6.diff
dwm-windowmap-20221026.diff
dwm-noborderselflickerfix-2022042627-d93ff48803f0.diff
---
diff '--color=auto' -Nu a/config.def.h b/config.def.h
--- a/config.def.h 2024-12-13 22:36:39.905125333 -0600
--- a/config.def.h 2024-12-14 09:08:32.586730091 -0600
+++ b/config.def.h 2024-12-13 22:14:51.781313665 -0600
@@ -3,6 +3,7 @@
/* appearance */
@ -184,7 +197,7 @@ diff '--color=auto' -Nu a/config.h b/config.h
+};
+
diff '--color=auto' -Nu a/config.mk b/config.mk
--- a/config.mk 2024-12-13 22:36:39.905125333 -0600
--- a/config.mk 2024-12-14 09:08:32.586730091 -0600
+++ b/config.mk 2024-12-13 22:14:51.781313665 -0600
@@ -20,10 +20,11 @@
# OpenBSD (uncomment)
@ -200,8 +213,8 @@ diff '--color=auto' -Nu a/config.mk b/config.mk
# flags
CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700L -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS}
diff '--color=auto' -Nu a/dwm.c b/dwm.c
--- a/dwm.c 2024-12-13 22:36:39.905125333 -0600
+++ b/dwm.c 2024-12-13 22:14:51.781313665 -0600
--- a/dwm.c 2024-12-14 09:08:32.586730091 -0600
+++ b/dwm.c 2024-12-14 09:06:51.477781682 -0600
@@ -40,6 +40,12 @@
#include <X11/extensions/Xinerama.h>
#endif /* XINERAMA */
@ -492,24 +505,16 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
}
void
@@ -698,7 +813,6 @@
drawbar(Monitor *m)
{
int x, w, tw = 0;
- int boxs = drw->fonts->h / 9;
int boxw = drw->fonts->h / 6 + 2;
unsigned int i, occ = 0, urg = 0;
Client *c;
@@ -724,7 +838,7 @@
@@ -724,7 +839,7 @@
drw_setscheme(drw, scheme[m->tagset[m->seltags] & 1 << i ? SchemeSel : SchemeNorm]);
drw_text(drw, x, 0, w, bh, lrpad / 2, tags[i], urg & 1 << i);
if (occ & 1 << i)
- drw_rect(drw, x + boxs, boxs, boxw, boxw,
+ drw_rect(drw, x + 2 * boxw, 4 * boxw - 2, w - (4 * boxw + 1), boxw / 2,
+ drw_rect(drw, x + 4 * boxs, 3.5 * boxw, 5 * boxw, boxw / 1.2,
m == selmon && selmon->sel && selmon->sel->tags & 1 << i,
urg & 1 << i);
x += w;
@@ -734,15 +848,8 @@
@@ -734,15 +849,8 @@
x = drw_text(drw, x, 0, w, bh, lrpad / 2, m->ltsymbol, 0);
if ((w = m->ww - tw - x) > bh) {
@ -525,7 +530,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
}
drw_map(drw, m->barwin, 0, 0, m->ww, bh);
}
@@ -800,7 +907,11 @@
@@ -800,7 +908,11 @@
detachstack(c);
attachstack(c);
grabbuttons(c, 1);
@ -538,7 +543,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
setfocus(c);
} else {
XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
@@ -832,6 +943,7 @@
@@ -832,6 +944,7 @@
unfocus(selmon->sel, 0);
selmon = m;
focus(NULL);
@ -546,7 +551,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
}
void
@@ -979,7 +1091,7 @@
@@ -979,7 +1092,7 @@
void
incnmaster(const Arg *arg)
{
@ -555,7 +560,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
arrange(selmon);
}
@@ -1030,12 +1142,13 @@
@@ -1030,12 +1143,13 @@
void
manage(Window w, XWindowAttributes *wa)
{
@ -570,7 +575,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
/* geometry */
c->x = c->oldx = wa->x;
c->y = c->oldy = wa->y;
@@ -1050,6 +1163,7 @@
@@ -1050,6 +1164,7 @@
} else {
c->mon = selmon;
applyrules(c);
@ -578,7 +583,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
}
if (c->x + WIDTH(c) > c->mon->wx + c->mon->ww)
@@ -1067,13 +1181,15 @@
@@ -1067,13 +1182,15 @@
updatewindowtype(c);
updatesizehints(c);
updatewmhints(c);
@ -595,7 +600,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
attachstack(c);
XChangeProperty(dpy, root, netatom[NetClientList], XA_WINDOW, 32, PropModeAppend,
(unsigned char *) &(c->win), 1);
@@ -1084,6 +1200,8 @@
@@ -1084,6 +1201,8 @@
c->mon->sel = c;
arrange(c->mon);
XMapWindow(dpy, c->win);
@ -604,7 +609,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
focus(NULL);
}
@@ -1244,11 +1362,8 @@
@@ -1244,11 +1363,8 @@
drawbars();
break;
}
@ -617,7 +622,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
if (ev->atom == netatom[NetWMWindowType])
updatewindowtype(c);
}
@@ -1291,6 +1406,11 @@
@@ -1291,6 +1407,11 @@
c->oldw = c->w; c->w = wc.width = w;
c->oldh = c->h; c->h = wc.height = h;
wc.border_width = c->bw;
@ -629,7 +634,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc);
configure(c);
XSync(dpy, False);
@@ -1374,6 +1494,8 @@
@@ -1374,6 +1495,8 @@
wc.sibling = c->win;
}
}
@ -638,7 +643,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
XSync(dpy, False);
while (XCheckMaskEvent(dpy, EnterWindowMask, &ev));
}
@@ -1426,7 +1548,7 @@
@@ -1426,7 +1549,7 @@
detachstack(c);
c->mon = m;
c->tags = m->tagset[m->seltags]; /* assign tags of target monitor */
@ -647,7 +652,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
attachstack(c);
focus(NULL);
arrange(NULL);
@@ -1507,12 +1629,29 @@
@@ -1507,12 +1630,29 @@
}
void
@ -679,7 +684,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
strncpy(selmon->ltsymbol, selmon->lt[selmon->sellt]->symbol, sizeof selmon->ltsymbol);
if (selmon->sel)
arrange(selmon);
@@ -1531,7 +1670,7 @@
@@ -1531,7 +1671,7 @@
f = arg->f < 1.0 ? arg->f + selmon->mfact : arg->f - 1.0;
if (f < 0.05 || f > 0.95)
return;
@ -688,7 +693,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
arrange(selmon);
}
@@ -1575,6 +1714,7 @@
@@ -1575,6 +1715,7 @@
netatom[NetWMState] = XInternAtom(dpy, "_NET_WM_STATE", False);
netatom[NetWMCheck] = XInternAtom(dpy, "_NET_SUPPORTING_WM_CHECK", False);
netatom[NetWMFullscreen] = XInternAtom(dpy, "_NET_WM_STATE_FULLSCREEN", False);
@ -696,7 +701,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
netatom[NetWMWindowType] = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE", False);
netatom[NetWMWindowTypeDialog] = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_DIALOG", False);
netatom[NetClientList] = XInternAtom(dpy, "_NET_CLIENT_LIST", False);
@@ -1632,17 +1772,24 @@
@@ -1632,17 +1773,24 @@
return;
if (ISVISIBLE(c)) {
/* show clients top down */
@ -725,7 +730,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
void
spawn(const Arg *arg)
{
@@ -1714,7 +1861,7 @@
@@ -1714,7 +1862,7 @@
void
togglebar(const Arg *arg)
{
@ -734,7 +739,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
updatebarpos(selmon);
XMoveResizeWindow(dpy, selmon->barwin, selmon->wx, selmon->by, selmon->ww, bh);
arrange(selmon);
@@ -1735,6 +1882,15 @@
@@ -1735,6 +1883,15 @@
}
void
@ -750,7 +755,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
toggletag(const Arg *arg)
{
unsigned int newtags;
@@ -1753,9 +1909,33 @@
@@ -1753,9 +1910,33 @@
toggleview(const Arg *arg)
{
unsigned int newtagset = selmon->tagset[selmon->seltags] ^ (arg->ui & TAGMASK);
@ -784,7 +789,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
focus(NULL);
arrange(selmon);
}
@@ -1780,6 +1960,20 @@
@@ -1780,6 +1961,20 @@
Monitor *m = c->mon;
XWindowChanges wc;
@ -805,7 +810,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
detach(c);
detachstack(c);
if (!destroyed) {
@@ -1795,9 +1989,12 @@
@@ -1795,9 +1990,12 @@
XUngrabServer(dpy);
}
free(c);
@ -821,7 +826,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
}
void
@@ -1914,7 +2111,7 @@
@@ -1914,7 +2112,7 @@
m->clients = c->next;
detachstack(c);
c->mon = mons;
@ -830,7 +835,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
attachstack(c);
}
if (m == selmon)
@@ -2026,6 +2223,9 @@
@@ -2026,6 +2224,9 @@
if (state == netatom[NetWMFullscreen])
setfullscreen(c, 1);
@ -840,7 +845,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
if (wtype == netatom[NetWMWindowTypeDialog])
c->isfloating = 1;
}
@@ -2050,17 +2250,240 @@
@@ -2050,17 +2251,240 @@
}
void
@ -1082,7 +1087,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
Client *
wintoclient(Window w)
{
@@ -2150,10 +2573,12 @@
@@ -2150,10 +2574,12 @@
fputs("warning: no locale support\n", stderr);
if (!(dpy = XOpenDisplay(NULL)))
die("dwm: cannot open display");
@ -1096,7 +1101,7 @@ diff '--color=auto' -Nu a/dwm.c b/dwm.c
die("pledge");
#endif /* __OpenBSD__ */
scan();
@@ -2162,3 +2587,4 @@
@@ -2162,3 +2588,4 @@
XCloseDisplay(dpy);
return EXIT_SUCCESS;
}