aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--patch-dwm-280525 (renamed from dwm_6.5_240525.diff)196
2 files changed, 145 insertions, 53 deletions
diff --git a/README.md b/README.md
index aca27e4..30f40c2 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,3 @@
## My diff files
+
+
diff --git a/dwm_6.5_240525.diff b/patch-dwm-280525
index 81aee62..779d4cf 100644
--- a/dwm_6.5_240525.diff
+++ b/patch-dwm-280525
@@ -1,6 +1,6 @@
-diff -r -u a/dwm/config.def.h b/dwm/config.def.h
---- a/dwm/config.def.h 2025-05-19 09:47:15.538090711 +0200
-+++ b/dwm/config.def.h 2025-05-23 09:43:25.178507493 +0200
+diff -u /home/philip/.local/src/MASTER/dwm/config.def.h /home/philip/.local/src/WORKING/dwm/config.def.h
+--- /home/philip/.local/src/MASTER/dwm/config.def.h 2025-05-24 15:06:33.290174186 +0200
++++ /home/philip/.local/src/WORKING/dwm/config.def.h 2025-05-28 09:43:24.413444339 +0200
@@ -1,34 +1,39 @@
/* See LICENSE file for copyright and license details. */
+#include <X11/XF86keysym.h>
@@ -91,17 +91,18 @@ diff -r -u a/dwm/config.def.h b/dwm/config.def.h
- { MODKEY, XK_b, togglebar, {0} },
- { MODKEY, XK_j, focusstack, {.i = +1 } },
- { MODKEY, XK_k, focusstack, {.i = -1 } },
-- { MODKEY, XK_i, incna, {.i = +1 } },
+- { MODKEY, XK_i, incnmaster, {.i = +1 } },
+ { MODKEY, XK_Return, spawn, {.v = termcmd } },
+ { MODKEY, XK_w, spawn, SHCMD("librewolf") },
-+ { MODKEY, XK_x, spawn, SHCMD("rofi -show power-menu -modi power-menu:rofi-power-menu") },
- { MODKEY, XK_d, incna, {.i = -1 } },
++ { MODKEY, XK_x, spawn, SHCMD("dmenu-power") },
++ { MODKEY, XK_v, spawn, SHCMD("dmenu-connect") },
+ { MODKEY, XK_d, incnmaster, {.i = -1 } },
- { MODKEY, XK_h, setmfact, {.f = -0.05} },
- { MODKEY, XK_l, setmfact, {.f = +0.05} },
- { MODKEY, XK_Return, zoom, {0} },
- { MODKEY, XK_Tab, view, {0} },
- { MODKEY|ShiftMask, XK_c, killclient, {0} },
-+ { MODKEY, XK_i, incna, {.i = +1 } },
++ { MODKEY, XK_i, incnmaster, {.i = +1 } },
{ MODKEY, XK_t, setlayout, {.v = &layouts[0]} },
{ MODKEY, XK_f, setlayout, {.v = &layouts[1]} },
{ MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
@@ -150,8 +151,7 @@ diff -r -u a/dwm/config.def.h b/dwm/config.def.h
+ { 0, XF86XK_AudioMicMute, spawn, SHCMD("dwm-audio mictoggle") },
+ { 0, XF86XK_MonBrightnessDown, spawn, SHCMD("brightnessctl set 10%-") },
+ { 0, XF86XK_MonBrightnessUp, spawn, SHCMD("brightnessctl set 10%+") },
-+ { 0, XF86XK_Launch1, spawn, SHCMD("dpower") },
-+ { 0, XK_Menu, spawn, SHCMD("dpower") },
++ { 0, XF86XK_Launch1, spawn, SHCMD("dmenu-power") },
+ { 0, XK_Print, spawn, SHCMD("screenshot.sh") },
+ TAGKEYS( XK_ampersand, 0)
+ TAGKEYS( XK_eacute, 1)
@@ -166,10 +166,10 @@ diff -r -u a/dwm/config.def.h b/dwm/config.def.h
};
/* button definitions */
-Only in b/dwm/: config.h
-diff -r -u a/dwm/config.mk b/dwm/config.mk
---- a/dwm/config.mk 2025-05-19 09:47:15.538090711 +0200
-+++ b/dwm/config.mk 2025-05-23 09:43:25.178507493 +0200
+Only in /home/philip/.local/src/WORKING/dwm: config.h
+diff -u /home/philip/.local/src/MASTER/dwm/config.mk /home/philip/.local/src/WORKING/dwm/config.mk
+--- /home/philip/.local/src/MASTER/dwm/config.mk 2025-05-24 15:06:33.290174186 +0200
++++ /home/philip/.local/src/WORKING/dwm/config.mk 2025-05-28 09:43:24.413444339 +0200
@@ -20,10 +20,11 @@
# OpenBSD (uncomment)
#FREETYPEINC = ${X11INC}/freetype2
@@ -183,9 +183,9 @@ diff -r -u a/dwm/config.mk b/dwm/config.mk
# flags
CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700L -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS}
-diff -r -u a/dwm/drw.c b/dwm/drw.c
---- a/dwm/drw.c 2025-05-19 09:47:15.538090711 +0200
-+++ b/dwm/drw.c 2025-05-23 09:43:25.178507493 +0200
+diff -u /home/philip/.local/src/MASTER/dwm/drw.c /home/philip/.local/src/WORKING/dwm/drw.c
+--- /home/philip/.local/src/MASTER/dwm/drw.c 2025-05-24 15:06:33.290174186 +0200
++++ /home/philip/.local/src/WORKING/dwm/drw.c 2025-05-28 09:43:24.416777675 +0200
@@ -181,7 +181,7 @@
/* Wrapper to create color schemes. The caller has to call free(3) on the
* returned color scheme when done using it. */
@@ -195,9 +195,9 @@ diff -r -u a/dwm/drw.c b/dwm/drw.c
{
size_t i;
Clr *ret;
-diff -r -u a/dwm/drw.h b/dwm/drw.h
---- a/dwm/drw.h 2025-05-19 09:47:15.538090711 +0200
-+++ b/dwm/drw.h 2025-05-23 09:43:25.178507493 +0200
+diff -u /home/philip/.local/src/MASTER/dwm/drw.h /home/philip/.local/src/WORKING/dwm/drw.h
+--- /home/philip/.local/src/MASTER/dwm/drw.h 2025-05-24 15:06:33.290174186 +0200
++++ /home/philip/.local/src/WORKING/dwm/drw.h 2025-05-28 09:43:24.416777675 +0200
@@ -40,7 +40,7 @@
/* Colorscheme abstraction */
@@ -207,9 +207,9 @@ diff -r -u a/dwm/drw.h b/dwm/drw.h
/* Cursor abstraction */
Cur *drw_cur_create(Drw *drw, int shape);
-diff -r -u a/dwm/dwm.c b/dwm/dwm.c
---- a/dwm/dwm.c 2025-05-19 09:47:15.538090711 +0200
-+++ b/dwm/dwm.c 2025-05-23 09:43:25.178507493 +0200
+diff -u /home/philip/.local/src/MASTER/dwm/dwm.c /home/philip/.local/src/WORKING/dwm/dwm.c
+--- /home/philip/.local/src/MASTER/dwm/dwm.c 2025-05-24 15:06:33.290174186 +0200
++++ /home/philip/.local/src/WORKING/dwm/dwm.c 2025-05-28 09:43:24.416777675 +0200
@@ -35,11 +35,18 @@
#include <X11/Xatom.h>
#include <X11/Xlib.h>
@@ -229,7 +229,7 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
#include "drw.h"
#include "util.h"
-@@ -49,12 +56,28 @@
+@@ -49,19 +56,35 @@
#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)))
@@ -259,6 +259,14 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
/* enums */
enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */
+ enum { SchemeNorm, SchemeSel }; /* color schemes */
+ enum { NetSupported, NetWMName, NetWMState, NetWMCheck,
+ NetWMFullscreen, NetActiveWindow, NetWMWindowType,
+- NetWMWindowTypeDialog, NetClientList, NetLast }; /* EWMH atoms */
++ NetWMWindowTypeDialog, NetClientList, NetClientInfo, NetLast }; /* EWMH atoms */
+ enum { WMProtocols, WMDelete, WMState, WMTakeFocus, WMLast }; /* default atoms */
+ enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle,
+ ClkClientWin, ClkRootWin, ClkLast }; /* clicks */
@@ -91,9 +114,11 @@
int basew, baseh, incw, inch, maxw, maxh, minw, minh, hintsvalid;
int bw, oldbw;
@@ -306,7 +314,7 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
static void expose(XEvent *e);
static void focus(Client *c);
@@ -177,12 +208,14 @@
- static void incna(const Arg *arg);
+ static void incnmaster(const Arg *arg);
static void keypress(XEvent *e);
static void killclient(const Arg *arg);
+static void loadxrdb(void);
@@ -320,7 +328,7 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
static Client *nexttiled(Client *c);
static void pop(Client *c);
static void propertynotify(XEvent *e);
-@@ -192,6 +225,7 @@
+@@ -192,11 +225,13 @@
static void resizeclient(Client *c, int x, int y, int w, int h);
static void resizemouse(const Arg *arg);
static void restack(Monitor *m);
@@ -328,7 +336,13 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
static void run(void);
static void scan(void);
static int sendevent(Client *c, Atom proto);
-@@ -226,12 +260,25 @@
+ static void sendmon(Client *c, Monitor *m);
+ static void setclientstate(Client *c, long state);
++static void setclienttagprop(Client *c);
+ static void setfocus(Client *c);
+ static void setfullscreen(Client *c, int fullscreen);
+ static void setlayout(const Arg *arg);
+@@ -226,12 +261,25 @@
static void updatewindowtype(Client *c);
static void updatewmhints(Client *c);
static void view(const Arg *arg);
@@ -354,7 +368,7 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
/* variables */
static const char broken[] = "broken";
-@@ -267,6 +314,8 @@
+@@ -267,6 +315,8 @@
static Monitor *mons, *selmon;
static Window root, wmcheckwin;
@@ -363,7 +377,7 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
/* configuration, allows nested code to access above variables */
#include "config.h"
-@@ -296,6 +345,8 @@
+@@ -296,6 +346,8 @@
&& (!r->class || strstr(class, r->class))
&& (!r->instance || strstr(instance, r->instance)))
{
@@ -372,7 +386,7 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
c->isfloating = r->isfloating;
c->tags |= r->tags;
for (m = mons; m && m->num != r->monitor; m = m->next);
-@@ -408,6 +459,17 @@
+@@ -408,6 +460,17 @@
}
void
@@ -390,7 +404,7 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
attachstack(Client *c)
{
c->snext = c->mon->stack;
-@@ -415,6 +477,53 @@
+@@ -415,6 +478,53 @@
}
void
@@ -444,7 +458,7 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
buttonpress(XEvent *e)
{
unsigned int i, x, click;
-@@ -654,6 +763,34 @@
+@@ -654,6 +764,34 @@
if ((c = wintoclient(ev->window)))
unmanage(c, 1);
@@ -462,15 +476,15 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
+ if(n == 0)
+ return;
+
-+ if(n > m->na) {
-+ mw = m->na ? m->ww * m->mfact : 0;
-+ snprintf(m->ltsymbol, sizeof m->ltsymbol, "[%d]", n - m->na);
++ if(n > m->nmaster) {
++ mw = m->nmaster ? m->ww * m->mfact : 0;
++ snprintf(m->ltsymbol, sizeof m->ltsymbol, "[%d]", n - m->nmaster);
+ }
+ else
+ mw = m->ww;
+ for(i = my = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), i++)
-+ if(i < m->na) {
-+ h = (m->wh - my) / (MIN(n, m->na) - i);
++ if(i < m->nmaster) {
++ h = (m->wh - my) / (MIN(n, m->nmaster) - i);
+ resize(c, m->wx, m->wy + my, mw - (2*c->bw), h - (2*c->bw), False);
+ my += HEIGHT(c);
+ }
@@ -479,7 +493,7 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
}
void
-@@ -757,6 +894,28 @@
+@@ -757,6 +895,28 @@
}
void
@@ -508,7 +522,7 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
enternotify(XEvent *e)
{
Client *c;
-@@ -1028,14 +1187,46 @@
+@@ -1028,14 +1188,46 @@
}
void
@@ -556,7 +570,7 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
/* geometry */
c->x = c->oldx = wa->x;
c->y = c->oldy = wa->y;
-@@ -1050,6 +1241,7 @@
+@@ -1050,6 +1242,7 @@
} else {
c->mon = selmon;
applyrules(c);
@@ -564,7 +578,33 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
}
if (c->x + WIDTH(c) > c->mon->wx + c->mon->ww)
-@@ -1073,7 +1265,7 @@
+@@ -1067,13 +1260,33 @@
+ updatewindowtype(c);
+ updatesizehints(c);
+ updatewmhints(c);
++ {
++ int format;
++ unsigned long *data, n, extra;
++ Monitor *m;
++ Atom atom;
++ if (XGetWindowProperty(dpy, c->win, netatom[NetClientInfo], 0L, 2L, False, XA_CARDINAL,
++ &atom, &format, &n, &extra, (unsigned char **)&data) == Success && n == 2) {
++ c->tags = *data;
++ for (m = mons; m; m = m->next) {
++ if (m->num == *(data+1)) {
++ c->mon = m;
++ break;
++ }
++ }
++ }
++ if (n > 0)
++ XFree(data);
++ }
++ setclienttagprop(c);
++
+ XSelectInput(dpy, w, EnterWindowMask|FocusChangeMask|PropertyChangeMask|StructureNotifyMask);
+ grabbuttons(c, 0);
+ if (!c->isfloating)
c->isfloating = c->oldstate = trans != None || c->isfixed;
if (c->isfloating)
XRaiseWindow(dpy, c->win);
@@ -573,7 +613,7 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
attachstack(c);
XChangeProperty(dpy, root, netatom[NetClientList], XA_WINDOW, 32, PropModeAppend,
(unsigned char *) &(c->win), 1);
-@@ -1084,6 +1276,8 @@
+@@ -1084,6 +1297,8 @@
c->mon->sel = c;
arrange(c->mon);
XMapWindow(dpy, c->win);
@@ -582,7 +622,7 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
focus(NULL);
}
-@@ -1201,6 +1395,23 @@
+@@ -1201,6 +1416,23 @@
}
}
@@ -606,7 +646,7 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
Client *
nexttiled(Client *c)
{
-@@ -1217,6 +1428,13 @@
+@@ -1217,6 +1449,13 @@
arrange(c->mon);
}
@@ -620,7 +660,7 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
void
propertynotify(XEvent *e)
{
-@@ -1285,12 +1503,26 @@
+@@ -1285,12 +1524,26 @@
resizeclient(Client *c, int x, int y, int w, int h)
{
XWindowChanges wc;
@@ -647,7 +687,7 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc);
configure(c);
XSync(dpy, False);
-@@ -1379,6 +1611,38 @@
+@@ -1379,6 +1632,38 @@
}
void
@@ -686,16 +726,56 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
run(void)
{
XEvent ev;
-@@ -1426,7 +1690,7 @@
+@@ -1426,8 +1711,9 @@
detachstack(c);
c->mon = m;
c->tags = m->tagset[m->seltags]; /* assign tags of target monitor */
- attach(c);
+ attachaside(c);
attachstack(c);
++ setclienttagprop(c);
focus(NULL);
arrange(NULL);
-@@ -1684,6 +1948,32 @@
+ }
+@@ -1578,6 +1864,7 @@
+ 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);
++ netatom[NetClientInfo] = XInternAtom(dpy, "_NET_CLIENT_INFO", False);
+ /* init cursors */
+ cursor[CurNormal] = drw_cur_create(drw, XC_left_ptr);
+ cursor[CurResize] = drw_cur_create(drw, XC_sizing);
+@@ -1601,6 +1888,7 @@
+ XChangeProperty(dpy, root, netatom[NetSupported], XA_ATOM, 32,
+ PropModeReplace, (unsigned char *) netatom, NetLast);
+ XDeleteProperty(dpy, root, netatom[NetClientList]);
++ XDeleteProperty(dpy, root, netatom[NetClientInfo]);
+ /* select events */
+ wa.cursor = cursor[CurNormal]->cursor;
+ wa.event_mask = SubstructureRedirectMask|SubstructureNotifyMask
+@@ -1666,10 +1954,21 @@
+ }
+
+ void
++setclienttagprop(Client *c)
++{
++ long data[] = { (long) c->tags, (long) c->mon->num };
++ XChangeProperty(dpy, c->win, netatom[NetClientInfo], XA_CARDINAL, 32,
++ PropModeReplace, (unsigned char *) data, 2);
++}
++
++void
+ tag(const Arg *arg)
+ {
++ Client *c;
+ if (selmon->sel && arg->ui & TAGMASK) {
++ c = selmon->sel;
+ selmon->sel->tags = arg->ui & TAGMASK;
++ setclienttagprop(c);
+ focus(NULL);
+ arrange(selmon);
+ }
+@@ -1684,6 +1983,32 @@
}
void
@@ -728,7 +808,15 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
tile(Monitor *m)
{
unsigned int i, n, h, mw, my, ty;
-@@ -1780,6 +2070,20 @@
+@@ -1744,6 +2069,7 @@
+ newtags = selmon->sel->tags ^ (arg->ui & TAGMASK);
+ if (newtags) {
+ selmon->sel->tags = newtags;
++ setclienttagprop(selmon->sel);
+ focus(NULL);
+ arrange(selmon);
+ }
+@@ -1780,6 +2106,20 @@
Monitor *m = c->mon;
XWindowChanges wc;
@@ -749,7 +837,7 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
detach(c);
detachstack(c);
if (!destroyed) {
-@@ -1795,9 +2099,12 @@
+@@ -1795,9 +2135,12 @@
XUngrabServer(dpy);
}
free(c);
@@ -765,7 +853,7 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
}
void
-@@ -1914,7 +2221,7 @@
+@@ -1914,7 +2257,7 @@
m->clients = c->next;
detachstack(c);
c->mon = mons;
@@ -774,7 +862,7 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
attachstack(c);
}
if (m == selmon)
-@@ -2061,6 +2368,148 @@
+@@ -2061,6 +2404,148 @@
arrange(selmon);
}
@@ -923,7 +1011,7 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
Client *
wintoclient(Window w)
{
-@@ -2128,6 +2577,17 @@
+@@ -2128,6 +2613,17 @@
}
void
@@ -941,7 +1029,7 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
zoom(const Arg *arg)
{
Client *c = selmon->sel;
-@@ -2150,10 +2610,14 @@
+@@ -2150,10 +2646,14 @@
fputs("warning: no locale support\n", stderr);
if (!(dpy = XOpenDisplay(NULL)))
die("dwm: cannot open display");
@@ -957,3 +1045,5 @@ diff -r -u a/dwm/dwm.c b/dwm/dwm.c
die("pledge");
#endif /* __OpenBSD__ */
scan();
+Only in /home/philip/.local/src/MASTER/dwm/: .git
+Only in /home/philip/.local/src/WORKING/dwm: README.md