59 lines
2.5 KiB
Markdown
59 lines
2.5 KiB
Markdown
|
# DWM
|
||
|
DWM is my favorite window manager by far due to its simplicity, portability, and low resource usage. However, it requires a decent amount of tweaking if you want to be able to use it for standard tasks. That's what I've aimed to do here, creating a user-friendly environment and memorable keybinds.
|
||
|
|
||
|
## Compiling
|
||
|
### Dependencies
|
||
|
X11, Xinerama, xcb, freetype
|
||
|
### Instructions
|
||
|
Run `./configure` to properly set up `config.mk`.
|
||
|
#### Linux
|
||
|
`make && sudo make install`
|
||
|
#### FreeBSD, OpenBSD
|
||
|
`gmake && doas gmake install`
|
||
|
|
||
|
## Patches applied
|
||
|
```
|
||
|
dwmblocks (statuscmd)
|
||
|
dwmblocks (SIGUSR1)
|
||
|
bar layout symbol -- show window layout in status bar
|
||
|
bar status -- show status in bar
|
||
|
bar tag symbols -- show tag symbols in bar
|
||
|
bar window title -- show window title in bar
|
||
|
bar alpha -- semi-transparency on bar
|
||
|
bar hide vacant tags -- hide tags with no windows
|
||
|
attach aside -- add new windows to stack instead of master
|
||
|
cool autostart -- execute commands on start and have processes owned by dwm
|
||
|
dwmc -- use dwmc program to execute dwm commands (for scriptability)
|
||
|
fullscreen -- applies monocle layout on active window and hides bar
|
||
|
moveresize -- resize dwm windows with keybinds
|
||
|
movestack -- allows to move windows in stack and to become master
|
||
|
no transparent borders -- make window borders always solid
|
||
|
scratchpads -- allow for scratchpad terminals
|
||
|
swallow -- hide terminal window when it spawns a window and freezes itself (not working on OpenBSD)
|
||
|
togglefullscreen -- use a keybind to make a window fullscreen or not
|
||
|
vanitygaps -- add gaps between all windows
|
||
|
```
|
||
|
|
||
|
## Software Made to Work With This
|
||
|
- [DWMBlocks](https://github.com/swindlesmccoop/dwmblocks)
|
||
|
- [DMenu](https://github.com/swindlesmccoop/dmenu)
|
||
|
- [ST](https://github.com/swindlesmccoop/st)
|
||
|
|
||
|
## Keybinds
|
||
|
All keybinds can be found by running `man dwm`, but here are the important ones:
|
||
|
- `Super + Enter` - Spawn terminal (st)
|
||
|
- `Super + Shift + Enter`, `F12` - Toggle scratchpad terminal
|
||
|
- `Super + h/l` - Shrink/enlarge master window
|
||
|
- `Super + d` - dmenu\_run (program launcher)
|
||
|
- `Super + q` - Kill window
|
||
|
- `Super + b` - Toggle status bar
|
||
|
- `Super + f` - Toggle fullscreen
|
||
|
- `Super + m` - Set window as master
|
||
|
- `Super + o/O` - Increase/decrease number of masters
|
||
|
- `Super + j/k` - Move focus down/up
|
||
|
- `Super + J/K` - Move window in stack down/up
|
||
|
- `Super + E`, `Super + Q` - Kill DWM
|
||
|
- `Super + Space` - Set all windows to Floating mode
|
||
|
- `Super + [Arrow]` - Move window in direction of arrow pressed
|
||
|
- `Super + Shift + [Arrow]` - Expand/shrink window in direction of arrow pressed
|