diff options
author | Bryson Steck <steck.bryson@gmail.com> | 2021-10-20 13:07:48 -0600 |
---|---|---|
committer | Bryson Steck <steck.bryson@gmail.com> | 2021-10-20 13:07:48 -0600 |
commit | b01b3c639a8c5bd698028b799a69d97eeaadfd6c (patch) | |
tree | 5854c8ebb52d97f8e4a0fcac8024eeb6339f733f | |
parent | ab3f787725dc78cb9ae73c47d40e00be0a6b2159 (diff) | |
download | dwm-b01b3c639a8c5bd698028b799a69d97eeaadfd6c.tar dwm-b01b3c639a8c5bd698028b799a69d97eeaadfd6c.tar.gz dwm-b01b3c639a8c5bd698028b799a69d97eeaadfd6c.tar.bz2 |
added gitignore, changed theme
-rw-r--r-- | README | 2 | ||||
-rw-r--r-- | config.h | 11 | ||||
-rwxr-xr-x | dwm | bin | 61992 -> 62096 bytes | |||
-rw-r--r-- | dwm.o | bin | 57536 -> 57800 bytes | |||
-rw-r--r-- | uselessgap.diff | 81 | ||||
-rw-r--r-- | xfce-plugins.diff | 125 |
6 files changed, 10 insertions, 209 deletions
@@ -1,3 +1,5 @@ +This build of dwm by Bryson Steck is incredibly simple, nothing is visually overhauled. + dwm - dynamic window manager ============================ dwm is an extremely fast, small, and dynamic window manager for X. @@ -7,6 +7,7 @@ static const int showbar = 1; /* 0 means no bar */ static const int topbar = 1; /* 0 means bottom bar */ static const char *fonts[] = { "JetBrains Mono:size=12" }; static const char dmenufont[] = "JetBrains Mono:size=12"; +static const char black[] = "#000000"; static const char col_gray1[] = "#222222"; static const char col_gray2[] = "#444444"; static const char col_gray3[] = "#bbbbbb"; @@ -22,8 +23,8 @@ static const unsigned int gappx = 6; static const char *colors[][3] = { /* fg bg border */ - [SchemeNorm] = { col_nord4, col_nord0, col_nord0 }, - [SchemeSel] = { col_nord4, col_nord10, col_nord1 }, + [SchemeNorm] = { col_nord4, col_gray1, col_gray1 }, + [SchemeSel] = { col_nord4, col_gray2, col_gray1 }, }; /* tagging */ @@ -35,7 +36,7 @@ static const Rule rules[] = { * WM_NAME(STRING) = title */ /* class instance title tags mask isfloating monitor */ - { "Gimp", NULL, NULL, 0, 1, -1 }, + { "zoom", NULL, NULL, 0, 1, -1 }, { "Firefox", NULL, NULL, 1 << 8, 0, -1 }, }; @@ -67,6 +68,8 @@ static const Layout layouts[] = { 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[] = { "alacritty", NULL }; +static const char *brightnessup[] = { "brightness-up", NULL }; +static const char *brightnessdown[] = { "brightness-down", NULL }; static Key keys[] = { /* modifier key function argument */ @@ -93,6 +96,8 @@ 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_F4, spawn, {.v = brightnessup } }, + { MODKEY, XK_F3, spawn, {.v = brightnessdown } }, TAGKEYS( XK_1, 0) TAGKEYS( XK_2, 1) TAGKEYS( XK_3, 2) Binary files differBinary files differdiff --git a/uselessgap.diff b/uselessgap.diff deleted file mode 100644 index d9cacbe..0000000 --- a/uselessgap.diff +++ /dev/null @@ -1,81 +0,0 @@ -From 58a5ece9406ca6c90dc362617c065e4aac19417f Mon Sep 17 00:00:00 2001 -From: Cyril Cressent <cyril@cressent.org> -Date: Wed, 3 Jul 2019 21:33:45 -0700 -Subject: [PATCH] Port the uselessgap patch to 6.2 - ---- - config.def.h | 1 + - dwm.c | 36 ++++++++++++++++++++++++++++++------ - 2 files changed, 31 insertions(+), 6 deletions(-) - -diff --git a/config.def.h b/config.def.h -index 1c0b587..b11471d 100644 ---- a/config.def.h -+++ b/config.def.h -@@ -2,6 +2,7 @@ - - /* appearance */ - static const unsigned int borderpx = 1; /* border pixel of windows */ -+static const unsigned int gappx = 6; /* 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 */ -diff --git a/dwm.c b/dwm.c -index 4465af1..4545e05 100644 ---- a/dwm.c -+++ b/dwm.c -@@ -52,8 +52,8 @@ - #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) --#define HEIGHT(X) ((X)->h + 2 * (X)->bw) -+#define WIDTH(X) ((X)->w + 2 * (X)->bw + gappx) -+#define HEIGHT(X) ((X)->h + 2 * (X)->bw + gappx) - #define TAGMASK ((1 << LENGTH(tags)) - 1) - #define TEXTW(X) (drw_fontset_getwidth(drw, (X)) + lrpad) - -@@ -1276,12 +1276,36 @@ void - resizeclient(Client *c, int x, int y, int w, int h) - { - XWindowChanges wc; -+ unsigned int n; -+ unsigned int gapoffset; -+ unsigned int gapincr; -+ Client *nbc; - -- c->oldx = c->x; c->x = wc.x = x; -- c->oldy = c->y; c->y = wc.y = y; -- c->oldw = c->w; c->w = wc.width = w; -- c->oldh = c->h; c->h = wc.height = h; - wc.border_width = c->bw; -+ -+ /* Get number of clients for the selected monitor */ -+ for (n = 0, nbc = nexttiled(selmon->clients); nbc; nbc = nexttiled(nbc->next), n++); -+ -+ /* Do nothing if layout is floating */ -+ if (c->isfloating || selmon->lt[selmon->sellt]->arrange == NULL) { -+ gapincr = gapoffset = 0; -+ } else { -+ /* Remove border and gap if layout is monocle or only one client */ -+ if (selmon->lt[selmon->sellt]->arrange == monocle || n == 1) { -+ gapoffset = 0; -+ gapincr = -2 * borderpx; -+ wc.border_width = 0; -+ } else { -+ gapoffset = gappx; -+ gapincr = 2 * gappx; -+ } -+ } -+ -+ c->oldx = c->x; c->x = wc.x = x + gapoffset; -+ c->oldy = c->y; c->y = wc.y = y + gapoffset; -+ c->oldw = c->w; c->w = wc.width = w - gapincr; -+ c->oldh = c->h; c->h = wc.height = h - gapincr; -+ - XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc); - configure(c); - XSync(dpy, False); --- -2.22.0 - diff --git a/xfce-plugins.diff b/xfce-plugins.diff deleted file mode 100644 index c789daf..0000000 --- a/xfce-plugins.diff +++ /dev/null @@ -1,125 +0,0 @@ -From 4e33fe0d465fb24f6b42d4a1fb63d4d7902f1986 Mon Sep 17 00:00:00 2001 -From: Gunther Klessinger <gunther.klessinger@axiros.com> -Date: Thu, 1 Jul 2021 09:19:07 +0200 -Subject: [PATCH] Supporting xfce4-panel in dwm - -We treat the panel as special window which -- never has borders -- never has focus -- always has y=0 -- is never shown as active window in the indicators -- is shown on all tags (via config rule) -- is ignored on focusstack (MOD+j, MOD+k) - -Which window? "xfce4-panel" - configurable in config.h ---- - config.def.h | 2 ++ - dwm.c | 28 +++++++++++++++++++++------- - 2 files changed, 23 insertions(+), 7 deletions(-) - -diff --git a/config.def.h b/config.def.h -index 1c0b587..3b9e7d6 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 char panel[][20] = { "xfce4-panel", "Xfce4-panel" }; /* name & cls of panel win */ - 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" }; - - - /* layout(s) */ -diff --git a/dwm.c b/dwm.c -index b0b3466..956d402 100644 ---- a/dwm.c -+++ b/dwm.c -@@ -175,6 +175,7 @@ static long getstate(Window w); - static int gettextprop(Window w, Atom atom, char *text, unsigned int size); - static void grabbuttons(Client *c, int focused); - static void grabkeys(void); -+static int ispanel(Client *c); - static void incnmaster(const Arg *arg); - static void keypress(XEvent *e); - static void killclient(const Arg *arg); -@@ -710,6 +711,8 @@ drawbar(Monitor *m) - } - - for (c = m->clients; c; c = c->next) { -+ // prevent showing the panel as active application: -+ if (ispanel(c)) continue; - occ |= c->tags; - if (c->isurgent) - urg |= c->tags; -@@ -793,11 +796,14 @@ focus(Client *c) - selmon = c->mon; - if (c->isurgent) - seturgent(c, 0); -- detachstack(c); -- attachstack(c); -- grabbuttons(c, 1); -- XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColBorder].pixel); -- setfocus(c); -+ // prevents the panel getting focus when tag switching: -+ if (!ispanel(c)) { -+ detachstack(c); -+ attachstack(c); -+ grabbuttons(c, 1); -+ XSetWindowBorder(dpy, c->win, scheme[SchemeSel][ColBorder].pixel); -+ setfocus(c); -+ } - } else { - XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); - XDeleteProperty(dpy, root, netatom[NetActiveWindow]); -@@ -853,6 +859,7 @@ focusstack(const Arg *arg) - if (c) { - focus(c); - restack(selmon); -+ if (ispanel(c)) focusstack(arg); - } - } - -@@ -964,6 +971,11 @@ grabkeys(void) - } - } - -+int -+ispanel(Client *c) { -+ return !strcmp(c->name, panel[0]); -+} -+ - void - incnmaster(const Arg *arg) - { -@@ -1049,7 +1061,8 @@ manage(Window w, XWindowAttributes *wa) - c->y = MAX(c->y, ((c->mon->by == c->mon->my) && (c->x + (c->w / 2) >= c->mon->wx) - && (c->x + (c->w / 2) < c->mon->wx + c->mon->ww)) ? bh : c->mon->my); - c->bw = borderpx; -- -+ // no border - even when active -+ if (ispanel(c)) c->bw = c->oldbw = 0; - wc.border_width = c->bw; - XConfigureWindow(dpy, w, CWBorderWidth, &wc); - XSetWindowBorder(dpy, w, scheme[SchemeNorm][ColBorder].pixel); -@@ -1283,6 +1296,7 @@ resizeclient(Client *c, int x, int y, int w, int h) - c->oldw = c->w; c->w = wc.width = w; - c->oldh = c->h; c->h = wc.height = h; - wc.border_width = c->bw; -+ if (ispanel(c)) c->y = c->oldy = c->bw = wc.y = wc.border_width = 0; - XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc); - configure(c); - XSync(dpy, False); -@@ -1991,7 +2005,7 @@ void - updatestatus(void) - { - if (!gettextprop(root, XA_WM_NAME, stext, sizeof(stext))) -- strcpy(stext, "dwm-"VERSION); -+ strcpy(stext, " "); // no shining of dwm version thru panel, when transparent - drawbar(selmon); - } - --- -2.31.1 - |