1
0
mirror of https://github.com/tiyn/dwm.git synced 2025-11-08 23:01:16 +01:00

12 Commits

Author SHA1 Message Date
c556f40832 updated readme 2023-10-23 04:23:02 +02:00
b88f60d2e7 added alpha patch to readme 2023-10-22 05:29:27 +02:00
4ff8663e88 added gitignore 2023-10-15 03:30:44 +02:00
ca7a863c1a updated readme 2023-10-15 03:27:00 +02:00
722caafce3 added systray patch to Readme 2023-10-13 14:11:31 +02:00
3d72376cef added systray patch to Readme 2023-10-13 04:40:23 +02:00
15ac6f9754 updated readme 2023-10-13 03:23:18 +02:00
fc7eb3f7c2 readme updated 2023-08-22 15:20:35 +02:00
1fada364c0 cleanup: unused programs removed 2023-01-11 01:40:10 +01:00
TiynGER
c376355cfe config: setting merged master+bottomstack config.def.h as config 2020-12-27 18:57:58 +01:00
TiynGER
767d7e124e changing colors 2020-05-30 19:56:55 +02:00
TiynGER
9addd105de basic icon 2020-05-30 18:10:54 +02:00
4 changed files with 77 additions and 51 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
*.o
dwm

View File

@@ -1,43 +1,62 @@
# dwm # dwm
This is my patched version of dwm. The base version is directly from suckless.org.
This belongs to my larbs installation script and depends heavily on its scripts and programs. This is my patched version of dwm. The base version is directly from
suckless.org.
This belongs to my larbs installation script and depends heavily on its scripts
and programs.
It is supposed to work in the environment after the larbs-base-installation. It is supposed to work in the environment after the larbs-base-installation.
This is my patched version of dwm. The base version is directly from suckless.org.
This repository is set up according to the
[suckless entry of my wiki](https://github.com/tiyn/wiki/blob/master/wiki/linux/suckless.md).
## Patches ## Patches
The list below shows the currently applied patches to the master branch. The list below shows the currently applied patches to the master branch.
- dwm-activetagindicatorbar-6.2.diff (show bar as window indicator)
- dwm-actualfullscreen-20191112-cb3f58a.diff (enables true fullscreen) - dwm-actualfullscreen-20191112-cb3f58a.diff (enables true fullscreen)
- dwm-alpha-20180613-b69c870.diff (adds transparency)
- dwm-bottomstack-20160719-56a31dc.diff (adds bottomstack and bottomstackhorizontal layout)
- dwm-center-6.1.diff (adds ability to center floating windows at launch) - dwm-center-6.1.diff (adds ability to center floating windows at launch)
- dwm-deck-6.0.diff (adds deck layout) - dwm-deck-6.0.diff (adds deck layout)
- dwm-noborder-6.2.diff (removes border if there is only one window) - dwm-noborder-6.2.diff (removes border if there is only one window)
- dwm-pertag-20170513-ceac8c9.diff (allows having a layout/mwfact/barpos/nmaster per tag) - dwm-pertag-20170513-ceac8c9.diff (allows having a layout/mwfact/barpos/nmaster per tag)
- dwm-status2d-6.2.diff (adds colors and ability to draw rectangles)
- dwm-statusallmons-6.2.diff (display statusbar on every monitors)
- dwm-statuscmd-6.2.diff (enables dwmblocks compatibility) - dwm-statuscmd-6.2.diff (enables dwmblocks compatibility)
- dwm-systray-6.2.diff (adds a systray to statusbar)
## Hotkeys ## Hotkeys
There are various shortcuts and hotkeys used in this version. Included in my build are the following.
| ModKey | Shift | Key | Function | There are various shortcuts and hotkeys used in this version. Included in my
| ------ | ----- | ----------------- | --------------------------------------------------------- | build are the following.
| Super | Shift | Escape | Quit dwm |
| Super | Shift | b | Toggle dwmbar | | ModKey | Shift | Key | Function |
| Super | Shift | c | Enable deck(/card) layout | | ------ | ----- | --- | -------- |
| Super | Shift | d | Toggle floating/tiled for selected window | | Super | | h | (Tiling/Deck) Focus window higher in stack than current |
| Super | Shift | f | Toggle fullscreen | | Super | | j | (Tiling/Deck) Focus window lower in stack than current |
| Super | | h | (Tiling/Deck) Focus window higher in stack than current | | Super | | k | (Tiling/Deck) Focus window higher in stack than current |
| Super | Shift | h | (Tiling/Deck) Make current window the master window | | Super | | l | (Tiling/Deck) Focus window lower in stack than current |
| Super | | j | (Tiling/Deck) Focus window lower in stack than current | | Super | | 0 | Show all tags |
| Super | Shift | j | (Tiling/Deck) Make current window the master window | | Super | | 1/2/.../9 | Show tag 1/2/.../9 |
| Super | | k | (Tiling/Deck) Focus window higher in stack than current | | Super | | . | Show monitor lower in stack |
| Super | Shift | k | (Tiling/Deck) Make current window the master window | | Super | | , | Show monitor higher in stack |
| Super | | l | (Tiling/Deck) Focus window lower in stack than current | | Super | Shift | Escape | Quit dwm |
| Super | Shift | m | Enable monocle layout | | Super | Shift | b | Toggle dwmbar |
| Super | Shift | o | (Tiling/Deck) Increase master window size | | Super | Shift | c | Enable deck(/card) layout |
| Super | | q | Close current window | | Super | Shift | d | Toggle floating/tiled for selected window |
| Super | Shift | t | Enable tiling layout | | Super | Shift | f | Toggle fullscreen |
| Super | Shift | z | (Tiling/Deck) Decrease master window size | | Super | Shift | h | (Tiling/Deck) Make current window the master window |
| Super | | 0 | Show all tags | | Super | Shift | j | (Tiling/Deck) Make current window the master window |
| Super | Shift | 0 | Add current window to all tag | | Super | Shift | k | (Tiling/Deck) Make current window the master window |
| Super | | 1/2/.../9 | Show tag 1/2/.../9 | | Super | Shift | m | Enable monocle layout |
| Super | Shift | 1/2/.../9 | Add current window to tag 1/2/.../9 | | Super | Shift | o | (Tiling/Deck) Increase master window size |
| Super | | . | Show monitor lower in stack | | Super | Shift | q | Close current window |
| Super | Shift | . | Add to monitor lower in stack | | Super | Shift | t | Enable tiling layout |
| Super | | , | Show monitor higher in stack | | Super | Shift | u | Enable bottomstack layout |
| Super | Shift | , | Add to monitor higher in stack | | Super | Shift | v | Enable bottomstackhorizontal layout |
| Super | Shift | z | (Tiling/Deck) Decrease master window size |
| Super | Shift | 0 | Add current window to all tag |
| Super | Shift | 1/2/.../9 | Add current window to tag 1/2/.../9 |
| Super | Shift | . | Add to monitor lower in stack |
| Super | Shift | , | Add to monitor higher in stack |

View File

@@ -8,29 +8,30 @@ static const unsigned int borderpx = 1; /* border pixel of windows */
static const unsigned int snap = 32; /* snap pixel */ static const unsigned int snap = 32; /* snap pixel */
static const int showbar = 1; /* 0 means no bar */ 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[] = { "monospace:size=10", "Noto Color Emoji:size=11" }; static const char *fonts[] = { "monospace:size=10" };
static const char dmenufont[] = "monospace:size=10"; static const char dmenufont[] = "monospace:size=10";
static const char col_gray1[] = "#222222"; static const char normbgcolor[] = "#0e0f14";
static const char col_gray2[] = "#444444"; static const char normbordercolor[] = "#363b47";
static const char col_gray3[] = "#f7f7f7"; static const char normfgcolor[] = "#dfdfdf";
static const char col_gray4[] = "#000000"; static const char selfgcolor[] = "#eeeeee";
static const char col_cyan[] = "#dddddd"; static const char selbordercolor[] = "#555a63";
static const char selbgcolor[] = "#282828";
static const char *colors[][3] = { static const char *colors[][3] = {
/* fg bg border */ /* fg bg border */
[SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, [SchemeNorm] = { normfgcolor, normbgcolor, normbordercolor },
[SchemeSel] = { col_gray4, col_cyan, col_gray3 }, [SchemeSel] = { selfgcolor, selbgcolor, selbordercolor },
}; };
/* tagging */ /* tagging */
static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; static const char *tags[] = { "", "", "", "", "", "", "", "", "" };
static const char *alttags[] = { "<1>", "<2>", "<3>", "<4>", "<5>", "<6>", "<7>", "<8>", "<9>" }; static const char *alttags[] = { "", "", "", "", "", "", "", "", "" };
static const Rule rules[] = { static const Rule rules[] = {
/* xprop(1): /* xprop(1):
* WM_CLASS(STRING) = instance, class * WM_CLASS(STRING) = instance, class
* WM_NAME(STRING) = title * WM_NAME(STRING) = title
*/ */
{ NULL, "de.uol.swp.client.ClientApp", NULL, 0, 0, 1, -1 }, /* class instance title tags mask iscentered isfloating monitor */
}; };
/* layout(s) */ /* layout(s) */
@@ -40,10 +41,12 @@ static const int resizehints = 1; /* 1 means respect size hints in tiled resi
static const Layout layouts[] = { static const Layout layouts[] = {
/* symbol arrange function */ /* symbol arrange function */
{ "[M]", monocle }, { "M", monocle },
{ "[]=", tile }, /* first entry is default */ { "T", tile }, /* first entry is default */
{ "[D]", deck }, { "D", deck },
{ "><>", NULL }, /* no layout function means floating behavior */ { "B", bstack },
{ "=", bstackhoriz },
{ "F", NULL }, /* no layout function means floating behavior */
}; };
/* key definitions */ /* key definitions */
@@ -75,10 +78,12 @@ static Key keys[] = {
{ MODKEY, XK_k, focusstack, {.i = -1 } }, { MODKEY, XK_k, focusstack, {.i = -1 } },
{ MODKEY|ShiftMask, XK_k, zoom, {0} }, { MODKEY|ShiftMask, XK_k, zoom, {0} },
{ MODKEY, XK_l, focusstack, {.i = +1 } }, { MODKEY, XK_l, focusstack, {.i = +1 } },
{ MODKEY|ShiftMask, XK_m, setlayout, {.v = &layouts[0]} }, { MODKEY|ShiftMask, XK_m, setlayout, {.v = &layouts[0]} },
{ MODKEY|ShiftMask, XK_o, setmfact, {.f = +0.05} }, { MODKEY|ShiftMask, XK_o, setmfact, {.f = +0.05} },
{ MODKEY, XK_q, killclient, {0} }, { MODKEY, XK_q, killclient, {0} },
{ MODKEY|ShiftMask, XK_t, setlayout, {.v = &layouts[1]} }, { MODKEY|ShiftMask, XK_t, setlayout, {.v = &layouts[1]} },
{ MODKEY|ShiftMask, XK_u, setlayout, {.v = &layouts[3]} },
{ MODKEY|ShiftMask, XK_v, setlayout, {.v = &layouts[4]} },
{ MODKEY|ShiftMask, XK_z, setmfact, {.f = -0.05} }, { MODKEY|ShiftMask, XK_z, setmfact, {.f = -0.05} },
{ MODKEY, XK_0, view, {.ui = ~0 } }, { MODKEY, XK_0, view, {.ui = ~0 } },
{ MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } }, { MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } },
@@ -86,9 +91,9 @@ 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|ShiftMask, XK_o, incnmaster, {.i = +1 } }, //{ MODKEY|ShiftMask, XK_o, incnmaster, {.i = +1 } },
//{ MODKEY|ShiftMask, XK_z, incnmaster, {.i = -1 } }, //{ MODKEY|ShiftMask, XK_z, incnmaster, {.i = -1 } },
//{ MODKEY, XK_space, setlayout, {0} }, //{ MODKEY, XK_space, setlayout, {0} },
TAGKEYS( XK_1, 0) TAGKEYS( XK_1, 0)
TAGKEYS( XK_2, 1) TAGKEYS( XK_2, 1)
TAGKEYS( XK_3, 2) TAGKEYS( XK_3, 2)

2
dwm.c
View File

@@ -1110,7 +1110,7 @@ monocle(Monitor *m)
if (ISVISIBLE(c)) if (ISVISIBLE(c))
n++; n++;
if (n > 0) /* override layout symbol */ if (n > 0) /* override layout symbol */
snprintf(m->ltsymbol, sizeof m->ltsymbol, "%d", n); snprintf(m->ltsymbol, sizeof m->ltsymbol, "[%d]", n);
for (c = nexttiled(m->clients); c; c = nexttiled(c->next)) for (c = nexttiled(m->clients); c; c = nexttiled(c->next))
resize(c, m->wx, m->wy, m->ww - 2 * c->bw, m->wh - 2 * c->bw, 0); resize(c, m->wx, m->wy, m->ww - 2 * c->bw, m->wh - 2 * c->bw, 0);
} }