added gitignore, changed theme
This commit is contained in:
parent
ab3f787725
commit
b01b3c639a
6 changed files with 10 additions and 209 deletions
2
README
2
README
|
@ -1,3 +1,5 @@
|
||||||
|
This build of dwm by Bryson Steck is incredibly simple, nothing is visually overhauled.
|
||||||
|
|
||||||
dwm - dynamic window manager
|
dwm - dynamic window manager
|
||||||
============================
|
============================
|
||||||
dwm is an extremely fast, small, and dynamic window manager for X.
|
dwm is an extremely fast, small, and dynamic window manager for X.
|
||||||
|
|
11
config.h
11
config.h
|
@ -7,6 +7,7 @@ static const int showbar = 1; /* 0 means no bar */
|
||||||
static const int topbar = 1; /* 0 means bottom bar */
|
static const int topbar = 1; /* 0 means bottom bar */
|
||||||
static const char *fonts[] = { "JetBrains Mono:size=12" };
|
static const char *fonts[] = { "JetBrains Mono:size=12" };
|
||||||
static const char dmenufont[] = "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_gray1[] = "#222222";
|
||||||
static const char col_gray2[] = "#444444";
|
static const char col_gray2[] = "#444444";
|
||||||
static const char col_gray3[] = "#bbbbbb";
|
static const char col_gray3[] = "#bbbbbb";
|
||||||
|
@ -22,8 +23,8 @@ static const unsigned int gappx = 6;
|
||||||
|
|
||||||
static const char *colors[][3] = {
|
static const char *colors[][3] = {
|
||||||
/* fg bg border */
|
/* fg bg border */
|
||||||
[SchemeNorm] = { col_nord4, col_nord0, col_nord0 },
|
[SchemeNorm] = { col_nord4, col_gray1, col_gray1 },
|
||||||
[SchemeSel] = { col_nord4, col_nord10, col_nord1 },
|
[SchemeSel] = { col_nord4, col_gray2, col_gray1 },
|
||||||
};
|
};
|
||||||
|
|
||||||
/* tagging */
|
/* tagging */
|
||||||
|
@ -35,7 +36,7 @@ static const Rule rules[] = {
|
||||||
* WM_NAME(STRING) = title
|
* WM_NAME(STRING) = title
|
||||||
*/
|
*/
|
||||||
/* class instance title tags mask isfloating monitor */
|
/* 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 },
|
{ "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 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 *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 *termcmd[] = { "alacritty", NULL };
|
||||||
|
static const char *brightnessup[] = { "brightness-up", NULL };
|
||||||
|
static const char *brightnessdown[] = { "brightness-down", NULL };
|
||||||
|
|
||||||
static Key keys[] = {
|
static Key keys[] = {
|
||||||
/* modifier key function argument */
|
/* modifier key function argument */
|
||||||
|
@ -93,6 +96,8 @@ static Key keys[] = {
|
||||||
{ MODKEY, XK_period, focusmon, {.i = +1 } },
|
{ MODKEY, XK_period, focusmon, {.i = +1 } },
|
||||||
{ MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } },
|
{ MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } },
|
||||||
{ MODKEY|ShiftMask, XK_period, 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_1, 0)
|
||||||
TAGKEYS( XK_2, 1)
|
TAGKEYS( XK_2, 1)
|
||||||
TAGKEYS( XK_3, 2)
|
TAGKEYS( XK_3, 2)
|
||||||
|
|
BIN
dwm
BIN
dwm
Binary file not shown.
BIN
dwm.o
BIN
dwm.o
Binary file not shown.
|
@ -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
|
|
||||||
|
|
|
@ -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
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue