1
0
mirror of https://github.com/tiyn/dwm.git synced 2026-01-10 02:59:46 +01:00

2 Commits

Author SHA1 Message Date
ce1fe35578 added notitle patch to readme 2023-10-24 05:02:38 +02:00
ddec9f35ab added notitle patch to readme 2023-10-24 05:02:28 +02:00
3 changed files with 50 additions and 73 deletions

1
.gitignore vendored
View File

@@ -1,3 +1,2 @@
*.o *.o
dwm dwm
config.h

View File

@@ -1,10 +1,11 @@
# dwm # dwm
This is my patched version of dwm. This is my patched version of dwm. The base version is directly from
The base version is directly from suckless.org. suckless.org.
This belongs to my larbs installation script and depends heavily on its scripts and programs. This belongs to my larbs installation script and depends heavily on its scripts
It is supposed to work in the environment after the and programs.
[larbs base installation](https://github.com/tiyn/larbs). 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 This repository is set up according to the
[suckless entry of my wiki](https://github.com/tiyn/wiki/blob/master/wiki/linux/suckless.md). [suckless entry of my wiki](https://github.com/tiyn/wiki/blob/master/wiki/linux/suckless.md).
@@ -20,9 +21,8 @@ The list below shows the currently applied patches to the master branch.
- dwm-cyclelayouts-20180524-6.2.diff (adds ability to cycle through layouts) - dwm-cyclelayouts-20180524-6.2.diff (adds ability to cycle through layouts)
- 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-notitle-6.2.diff (removes window title in the middle of the bar) - dwm-notitle-6.2.diff (removes the title of the window in the middle of the bar)
- 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-quitprompt-20220718-6613d9f.diff (adds a confirmation prompt before exiting dwm)
- dwm-status2d-6.2.diff (adds colors and ability to draw rectangles) - dwm-status2d-6.2.diff (adds colors and ability to draw rectangles)
- dwm-statusallmons-6.2.diff (display statusbar on every monitors) - 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)
@@ -34,44 +34,32 @@ The list below shows the currently applied patches to the master branch.
There are various shortcuts and hotkeys used in this version. Included in my There are various shortcuts and hotkeys used in this version. Included in my
build are the following. build are the following.
| ModKey | Shift | Key | Function | | ModKey | Shift | Key | Function |
| ------ | ----- | ----------- | ------------------------------------------------------- | | ------ | ----- | --- | -------- |
| Super | | h | (Tiling/Deck) Focus window higher in stack than current | | Super | | h | (Tiling/Deck) Focus window higher in stack than current |
| Super | | j | (Tiling/Deck) Focus window lower in stack than current | | Super | | j | (Tiling/Deck) Focus window lower in stack than current |
| Super | | k | (Tiling/Deck) Focus window higher in stack than current | | Super | | k | (Tiling/Deck) Focus window higher in stack than current |
| Super | | l | (Tiling/Deck) Focus window lower in stack than current | | Super | | l | (Tiling/Deck) Focus window lower in stack than current |
| Super | | 1/2/.../9/0 | Show tag 1/2/.../9/0 | | Super | | 0 | Show all tags |
| Super | | . | Show monitor lower in stack | | Super | | 1/2/.../9 | Show tag 1/2/.../9 |
| Super | | , | Show monitor higher in stack | | Super | | . | Show monitor lower in stack |
| Super | Shift | Escape | Quit dwm with call for confirmation | | Super | | , | Show monitor higher in stack |
| Super | Shift | b | Toggle dwmbar | | Super | Shift | Escape | Quit dwm |
| Super | Shift | c | Enable deck(/card) layout | | Super | Shift | b | Toggle dwmbar |
| Super | Shift | d | Toggle floating/tiled for selected window | | Super | Shift | c | Enable deck(/card) layout |
| Super | Shift | f | Toggle fullscreen | | Super | Shift | d | Toggle floating/tiled for selected window |
| Super | Shift | h | (Tiling/Deck) Make current window the master window | | Super | Shift | f | Toggle fullscreen |
| Super | Shift | j | (Tiling/Deck) Make current window the master window | | Super | Shift | h | (Tiling/Deck) Make current window the master window |
| Super | Shift | k | (Tiling/Deck) Make current window the master window | | Super | Shift | j | (Tiling/Deck) Make current window the master window |
| Super | Shift | m | Enable monocle layout | | Super | Shift | k | (Tiling/Deck) Make current window the master window |
| Super | Shift | o | (Tiling/Deck) Increase master window size | | Super | Shift | m | Enable monocle layout |
| Super | Shift | q | Close current window | | Super | Shift | o | (Tiling/Deck) Increase master window size |
| Super | Shift | t | Enable tiling layout | | Super | Shift | q | Close current window |
| Super | Shift | u | Enable bottomstack layout | | Super | Shift | t | Enable tiling layout |
| Super | Shift | v | Enable bottomstackhorizontal layout | | Super | Shift | u | Enable bottomstack layout |
| Super | Shift | z | (Tiling/Deck) Decrease master window size | | Super | Shift | v | Enable bottomstackhorizontal layout |
| Super | Shift | 1/2/.../9/0 | Add current window to tag 1/2/.../9/0 | | Super | Shift | z | (Tiling/Deck) Decrease master window size |
| Super | Shift | . | Add to monitor lower in stack | | Super | Shift | 0 | Add current window to all tag |
| Super | Shift | , | Add to monitor higher in stack | | Super | Shift | 1/2/.../9 | Add current window to tag 1/2/.../9 |
| Alt | | Tab | (Tiling/Deck) Focus window lower in stack than current | | Super | Shift | . | Add to monitor lower in stack |
| Super | Shift | , | Add to monitor higher in stack |
Additionally the right hand side control key is set to be used as the compose key.
## Installation
The following programs are required to be installed for full functionality.
- [dmenu](https://github.com/tiyn/dmenu)
The most basic way is to clone the repository and then invoke make.
- `git clone https://github.com/tiyn/dwm`
- `make clean install`

View File

@@ -13,6 +13,7 @@ static const int showsystray = 1; /* 0 means no systray */
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" }; static const char *fonts[] = { "monospace:size=10" };
static const char dmenufont[] = "monospace:size=10";
static const char normbgcolor[] = "#0e0f14"; static const char normbgcolor[] = "#0e0f14";
static const char normbordercolor[] = "#363b47"; static const char normbordercolor[] = "#363b47";
static const char normfgcolor[] = "#dfdfdf"; static const char normfgcolor[] = "#dfdfdf";
@@ -35,32 +36,15 @@ static const unsigned int alphas[][3] = {
}; };
/* tagging */ /* tagging */
static const char *tags[] = { "", "", "", "", "", "", "", "", "", "" }; static const char *tags[] = { "", "", "", "", "", "", "", "", "", "" };
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
*/ */
/* class instance title tags center float mon */ /* class instance title tags mask iscentered isfloating monitor */
{ "firefox", 0, 0, 1 << 1, 0, 0, -1 }, { NULL, "origin.exe", NULL, 0, 0, 1, -1 },
{ "zen", 0, 0, 1 << 1, 0, 0, -1 },
{ "Lutris", 0, 0, 1 << 2, 0, 0, 0 },
{ "zenity", 0, 0, 0, 0, 1, -1 },
{ "steam", 0, 0, 1 << 2, 0, 0, 0 },
{ "discord", 0, 0, 1 << 2, 0, 0, 1 },
{ "TeamSpeak", 0, 0, 1 << 2, 0, 0, 1 },
{ "Element", 0, 0, 1 << 2, 0, 0, 1 },
{ "Signal", 0, 0, 1 << 4, 0, 0, 1 },
{ "TelegramDesktop", 0, 0, 1 << 4, 0, 0, 1 },
{ "threema-web", 0, 0, 1 << 4, 0, 0, 1 },
{ "thunderbird", 0, 0, 1 << 4, 0, 0, 1 },
{ "Sonixd", 0, 0, 1 << 8, 0, 0, 1 },
{ "KeePassXC", 0, "Unlock Database - KeePassXC", 1 << 1, 0, 0, 0 },
{ "KeePassXC", 0, 0, 1 << 9, 0, 0, 0 },
{ "easyeffects", 0, 0, 1 << 9, 0, 0, 1 },
{ "pavucontrol", 0, 0, 1 << 9, 0, 0, 1 },
{ "Onboard", 0, 0, 0, 0, 1, 0 },
}; };
/* layout(s) */ /* layout(s) */
@@ -90,9 +74,13 @@ static const Layout layouts[] = {
/* helper for spawning shell commands in the pre dwm-5.0 fashion */ /* helper for spawning shell commands in the pre dwm-5.0 fashion */
#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } } #define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
/* commands */
static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
static const char *dmenucmd[] = { "dmenu_run", "-c", "-l", "20", NULL };
static Key keys[] = { static Key keys[] = {
/* modifier key function argument */ /* modifier key function argument */
{ MODKEY|ShiftMask, XK_Escape, quitprompt, {0} }, { MODKEY|ShiftMask, XK_Escape, quit, {0} },
{ MODKEY|ShiftMask, XK_b, togglebar, {0} }, { MODKEY|ShiftMask, XK_b, togglebar, {0} },
{ MODKEY|ShiftMask, XK_c, setlayout, {.v = &layouts[2]} }, { MODKEY|ShiftMask, XK_c, setlayout, {.v = &layouts[2]} },
{ MODKEY|ShiftMask, XK_d, togglefloating, {0} }, { MODKEY|ShiftMask, XK_d, togglefloating, {0} },
@@ -117,7 +105,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} },
{ Mod1Mask, XK_Tab, focusstack, {.i = +1} }, //{ MODKEY|ShiftMask, XK_o, incnmaster, {.i = +1} },
//{ MODKEY|ShiftMask, XK_z, incnmaster, {.i = -1} },
//{ MODKEY, XK_space, setlayout, {0} },
TAGKEYS(XK_1, 0) TAGKEYS(XK_1, 0)
TAGKEYS(XK_2, 1) TAGKEYS(XK_2, 1)
@@ -132,11 +122,11 @@ static Key keys[] = {
}; };
/* button definitions */ /* button definitions */
/* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkClientWin, or ClkRootWin */ /* click can be ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
static Button buttons[] = { static Button buttons[] = {
/* click event mask button function argument */ /* click event mask button function argument */
{ ClkLtSymbol, 0, Button1, cyclelayout, {.i = +1} }, { ClkLtSymbol, 0, Button1, cyclelayout, {.i = +1} },
{ ClkLtSymbol, 0, Button2, focusstack, {.i = +1} }, { ClkLtSymbol, 0, Button2, setlayout, {.v = &layouts[0]} },
{ ClkLtSymbol, 0, Button3, cyclelayout, {.i = -1} }, { ClkLtSymbol, 0, Button3, cyclelayout, {.i = -1} },
{ ClkStatusText, 0, Button1, sigdwmblocks, {.i = 1} }, { ClkStatusText, 0, Button1, sigdwmblocks, {.i = 1} },
{ ClkStatusText, 0, Button2, sigdwmblocks, {.i = 2} }, { ClkStatusText, 0, Button2, sigdwmblocks, {.i = 2} },