README.md (6026B)
1 # Kris's build of dwm 2 3 My build of dwm, now using [dwm-flexipatch](https://github.com/bakkeby/dwm-flexipatch) for easier patch management via preprocessor directives. 4 5 --- 6 7 ## Bindings 8 9 The MOD key is set to the Super (Windows) key. 10 11 ### Essential 12 13 | Keybinding | Action | 14 |------------|--------| 15 | `MOD+Return` | Spawn terminal (st) | 16 | `MOD+d` | App launcher (dlaunch) | 17 | `MOD+q` | Kill focused window | 18 | `MOD+j/k` | Focus next/previous window | 19 | `MOD+h/l` | Decrease/increase master area size | 20 | `MOD+Tab` | Switch to last viewed tag | 21 | `MOD+1-9` | View tag 1-9 | 22 | `MOD+Shift+1-9` | Move window to tag 1-9 | 23 | `MOD+0` | View all tags | 24 | `MOD+Shift+0` | Make window sticky to all tags | 25 26 ### Applications 27 28 | Keybinding | Action | 29 |------------|--------| 30 | `MOD+b` | Browser selector (dbrowse) | 31 | `MOD+w` | Content writer (dwrite) | 32 | `MOD+r` | Library browser (dread) | 33 | `MOD+n` | Notes browser (dnotes) | 34 | `MOD+e` | Metadata editor (dedit) | 35 | `MOD+c` | Content creator (dcreate) | 36 | `MOD+p` | Password manager (passmenu) | 37 | `MOD+y` | World clock (dtime) | 38 | `MOD+m` | System monitor (btop) | 39 | `MOD+Shift+c` | Clipboard manager (dclip) | 40 | `MOD+Shift+n` | RSS reader (newsboat) | 41 | `MOD+Shift+m` | Toggle mute | 42 | `MOD+BackSpace` | System actions menu (sysact) | 43 | `MOD+Shift+q` | System actions menu (sysact) | 44 45 ### Scratchpads 46 47 | Keybinding | Action | 48 |------------|--------| 49 | `MOD+Shift+Return` | Toggle scratchpad terminal | 50 | `MOD+'` | Toggle scratchpad calculator (bc) | 51 52 ### Window Management 53 54 | Keybinding | Action | 55 |------------|--------| 56 | `MOD+Shift+j/k` | Move window down/up in stack | 57 | `MOD+Shift+Space` | Toggle floating | 58 | `MOD+Shift+f` | Toggle fullscreen | 59 | `MOD+s` | Toggle sticky | 60 | `MOD+o` | Increase number of masters | 61 | `MOD+Shift+o` | Decrease number of masters | 62 | `MOD+Ctrl+e` | Hide window | 63 | `MOD+Ctrl+Shift+e` | Restore hidden window | 64 65 ### Layouts 66 67 | Keybinding | Action | 68 |------------|--------| 69 | `MOD+t` | Tile layout | 70 | `MOD+f` | Floating layout | 71 | `MOD+Shift+r` | Reading mode (3 vertical panes) | 72 | `MOD+Shift+t` | Bstack layout | 73 | `MOD+u` | Deck layout | 74 | `MOD+Shift+u` | Monocle layout | 75 | `MOD+i` | Centered master layout | 76 | `MOD+Shift+i` | Centered floating master | 77 | `MOD+Ctrl+g` | Gapless grid | 78 | `MOD+Space` | Toggle last layout | 79 | `MOD+Ctrl+,/.` | Cycle layouts prev/next | 80 81 ### Gaps 82 83 | Keybinding | Action | 84 |------------|--------| 85 | `MOD+a` | Toggle gaps | 86 | `MOD+Shift+a` | Reset gaps to default | 87 | `MOD+Ctrl+i/d` | Increase/decrease all gaps | 88 | `MOD+Shift+i` | Increase inner gaps | 89 | `MOD+Ctrl+Shift+i` | Decrease inner gaps | 90 | `MOD+Ctrl+o` | Increase outer gaps | 91 | `MOD+Ctrl+Shift+o` | Decrease outer gaps | 92 93 ### Resize (cfact) 94 95 | Keybinding | Action | 96 |------------|--------| 97 | `MOD+Shift+h` | Increase cfact | 98 | `MOD+Shift+l` | Decrease cfact | 99 | `MOD+Ctrl+Return` | Reset cfact | 100 101 ### Multi-Monitor 102 103 | Keybinding | Action | 104 |------------|--------| 105 | `MOD+,/.` | Focus prev/next monitor | 106 | `MOD+Shift+,/.` | Move window to prev/next monitor | 107 | `MOD+Left/Right` | Shift view to prev/next tag | 108 109 ### Border 110 111 | Keybinding | Action | 112 |------------|--------| 113 | `MOD+Shift+-` | Decrease border size | 114 | `MOD+Shift+p` | Increase border size | 115 116 ### Screenshots 117 118 | Keybinding | Action | 119 |------------|--------| 120 | `Print` | Full screenshot | 121 | `Shift+Print` | Selection screenshot (maimpick) | 122 | `MOD+Print` | Record screen (dmenurecord) | 123 | `MOD+Shift+Print` | Kill recording | 124 125 ### Media Keys 126 127 | Keybinding | Action | 128 |------------|--------| 129 | `XF86AudioRaiseVolume` | Volume up | 130 | `XF86AudioLowerVolume` | Volume down | 131 | `XF86AudioMute` | Toggle mute | 132 | `XF86MonBrightnessUp` | Brightness up | 133 | `XF86MonBrightnessDown` | Brightness down | 134 135 ### System 136 137 | Keybinding | Action | 138 |------------|--------| 139 | `MOD+Ctrl+r` | Restart dwm | 140 | `MOD+Ctrl+w` | Toggle tab mode | 141 142 ### Mouse 143 144 | Click | Action | 145 |-------|--------| 146 | `MOD+Left Click` | Move or place window | 147 | `MOD+Middle Click` | Toggle floating | 148 | `MOD+Right Click` | Resize window | 149 | `Ctrl+Left Click` | Drag mfact | 150 | `Ctrl+Right Click` | Drag cfact | 151 152 --- 153 154 ## Patches and Features 155 156 This build uses **dwm-flexipatch** for patch management. Toggle patches in `patches.h`: 157 158 ```c 159 #define VANITYGAPS_PATCH 1 // enabled 160 #define SYSTRAY_PATCH 0 // disabled 161 ``` 162 163 ### Enabled Patches 164 165 | Patch | Description | 166 |-------|-------------| 167 | vanitygaps | Gaps across all layouts with configurable inner/outer gaps | 168 | swallow | Terminals swallow windows spawned by child processes | 169 | scratchpads | Dropdown terminal and calculator accessible via keybind | 170 | sticky | Make windows visible on all tags | 171 | xresources | Read colors and config from ~/.Xresources at startup | 172 | stacker | Move windows up/down in the stack (focusstack/pushstack) | 173 | shiftview | Cycle through tags with arrow keys | 174 | shifttag | Move windows to adjacent tags | 175 | dwmblocks | Clickable status bar with signal support | 176 | cfacts | Resize individual windows in the stack | 177 | cyclelayouts | Cycle through layouts with keybind | 178 | restartsig | Restart dwm in place without losing windows | 179 | pertag | Each tag remembers its own layout settings | 180 | togglefullscreen | Toggle fullscreen on focused window | 181 | cool_autostart | Run commands on dwm startup (starts dwmblocks) | 182 183 ### Layouts 184 185 - tile, floating, monocle, bstack 186 - centeredmaster, centeredfloatingmaster 187 - deck, spiral, dwindle 188 - reading mode (3 equal vertical panes) 189 190 --- 191 192 ## Installation 193 194 ```bash 195 git clone https://github.com/krisyotam/dwm.git 196 cd dwm 197 sudo make install 198 ``` 199 200 There is also a `PKGBUILD` usable on distributions with pacman. Run `makepkg -si` instead of `sudo make install`. 201 202 ### Dependencies 203 204 ```bash 205 # Required for swallow patch 206 pacman -S libxcb xcb-util 207 ``` 208 209 --- 210 211 ## My Other Suckless Repos 212 213 - [st](https://github.com/krisyotam/st) - simple terminal (st-flexipatch with sixel) 214 - [dmenu](https://github.com/krisyotam/dmenu) - application launcher (dmenu-flexipatch) 215 - [dwmblocks](https://github.com/krisyotam/dwmblocks) - modular status bar