Initial poop
This commit is contained in:
commit
ca6dab46f1
3280 changed files with 3759 additions and 0 deletions
26
docs/suckless/dwm/autostart.md
Normal file
26
docs/suckless/dwm/autostart.md
Normal file
|
@ -0,0 +1,26 @@
|
|||
# Autostarting apps
|
||||
|
||||
!!! note
|
||||
My modified [Makefile](https://git.jakest.us/suckless/dwm/src/branch/jakefication/Makefile)
|
||||
installs this file automagically.
|
||||
Steps below should not be necessary.
|
||||
|
||||
If using a display manager make the session execute a script
|
||||
(refer to [xsession](xsession.md)).
|
||||
Same could be done with `startx` and `~/.xinitrc`.
|
||||
My modified version provides my autostarting script
|
||||
and installs it as `/usr/local/bin/startdwm`
|
||||
|
||||
The script could look something like
|
||||
|
||||
``` sh title="/usr/local/bin/startdwm"
|
||||
#!/bin/sh
|
||||
slstatus &
|
||||
pasystray &
|
||||
nm-applet &
|
||||
exec dwm
|
||||
```
|
||||
|
||||
You might also like the
|
||||
[systray patch](https://dwm.suckless.org/patches/systray/)
|
||||
as it just makes sense.
|
55
docs/suckless/dwm/cheatsheet.md
Normal file
55
docs/suckless/dwm/cheatsheet.md
Normal file
|
@ -0,0 +1,55 @@
|
|||
# Cheatsheet
|
||||
|
||||
My chosen modification key is ++win++/++super++.
|
||||
Many functions have multiple shortcuts because every day is different.
|
||||
|
||||
I might have forgotten something but [`config.h`](https://git.jakest.us/suckless/dwm/src/branch/jakefication/config.h)
|
||||
is pretty human-readable.
|
||||
|
||||
## Standard keys
|
||||
|
||||
| Key combination(s) | Action |
|
||||
| --------------------------------------------------------- | --------------------------------- |
|
||||
| ++win+d++<br>++win+space++<br>++alt+space++<br>++win+p++ | Drun |
|
||||
| ++ctrl+alt+t++<br>++win+shift+enter++ | Terminal |
|
||||
| ++alt+f4++<br>++win+q++ | Close window |
|
||||
| ++win+up++<br>++win+down++ | Focuse next/previous window |
|
||||
| ++win+enter++ | Swap window from/to master |
|
||||
| ++win+left++<br>++win+right++ | Increase/Decrease master capacity |
|
||||
| ++win+shift+left++<br>++win+shift+right++ | Resize master/stack |
|
||||
| ++win+shift+q++ | Quit DWM |
|
||||
|
||||
## Workspaces and monitors
|
||||
|
||||
| Key combination | Action |
|
||||
| -------------------- | --------------------------------- |
|
||||
| `Win`+ `1-9` | Focus workspace |
|
||||
| `Win`+ `Shift`+`1-9` | Move window to workspace |
|
||||
| `Win`+`,/.` | Focus left/right monitor |
|
||||
| `Win`+`Shift`+`,/.` | Move window to left/right monitor |
|
||||
| `Win`+`0` | Show all workspaces |
|
||||
| `Win`+`Shift`+`0` | Show window in all workspaces |
|
||||
|
||||
## Media controls
|
||||
|
||||
In addition to supporting standard volume and mediacontrols
|
||||
following shortcuts have been configured. You know,
|
||||
not every keyboard has these keys and it sucks!
|
||||
|
||||
| Hotkey | Action |
|
||||
| ----------- | ---------- |
|
||||
| ++win+f5++ | Previous |
|
||||
| ++win+f6++ | Next |
|
||||
| ++win+f7++ | Play/Pause |
|
||||
| ++win+f8++ | Stop |
|
||||
| ++win+f9++ | Mute |
|
||||
| ++win+f10++ | Vol Down |
|
||||
| ++win+f11++ | Vol Up |
|
||||
|
||||
## Floaty stuff
|
||||
|
||||
| Shortcut | Action |
|
||||
| ------------------------------------------- | ---------------------- |
|
||||
| ++win+shift+space++<br>++win++ + `Mouse3` | Toggle window floating |
|
||||
| ++win++ + `Mouse1 Drag` | Move window |
|
||||
| ++win++ + `Mouse2 Drag` | Resize window |
|
33
docs/suckless/dwm/dependencies.md
Normal file
33
docs/suckless/dwm/dependencies.md
Normal file
|
@ -0,0 +1,33 @@
|
|||
# Dependencies
|
||||
|
||||
Dmenu, slstatus, st and dwm itself are recommended to build yourself from sources. Other packages are installable from Debian-repositories (or whatever distro you are running, you probably know how to get them.)
|
||||
|
||||
## Building
|
||||
|
||||
- xorg-dev
|
||||
|
||||
## Standard functionality
|
||||
|
||||
- [dmenu](https://git.jakest.us/suckless/dmenu)
|
||||
- [slstatus](https://git.jakest.us/suckless/slstatus)
|
||||
- [st](https://git.jakest.us/suckless/st)
|
||||
- [slock](https://git.jakest.us/suckless/slock)
|
||||
- pactl (to control pulseaudio/pipewire, comes with pulseaudio-utils or pipewire-uitils or something, I don't know, just try to find out yourself if volumecontrol is not working)
|
||||
- playerctl (to control media playback)
|
||||
- dunst (to show notifications)
|
||||
- nm-applet (network-manager-gnome)
|
||||
|
||||
## Screenshots
|
||||
|
||||
- imagemagick
|
||||
- scrot
|
||||
- xclip
|
||||
- xdg-user-dirs
|
||||
- create a directory `mkdir -p $(xdg-user-dir PICTURES)/scrot/`
|
||||
- This will be automated at some point. Sorry in the meantime
|
||||
|
||||
## What I am supposed to do again?
|
||||
|
||||
Here, have a nice command to get dependencies (not dmenu/slstatus/st/dwm) from repositories on Debian: `sudo apt install xorg-dev playerctl imagemagick scrot xclip xdg-user-dirs dunst pulseaudio-utils pasystray pavucontrol network-manager-gnome`
|
||||
|
||||
Then dmenu, st, slstatus and dwm itself you pull using git, checkout branch jakefication (if you want the customized versions, otherwice you should maybe use the suckless upstream at https://git.suckless.org/ ) and build using `sudo make clean install` all one-by-one voíla
|
7
docs/suckless/dwm/index.md
Normal file
7
docs/suckless/dwm/index.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
# DWM
|
||||
|
||||
dwm is a dynamic window manager for X.
|
||||
|
||||
[](screenshot.png)
|
||||
|
||||
Check full official documentation at [https://dwm.suckless.org/](https://dwm.suckless.org/)
|
BIN
docs/suckless/dwm/screenshot.png
Normal file
BIN
docs/suckless/dwm/screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 332 KiB |
61
docs/suckless/dwm/xsession.md
Normal file
61
docs/suckless/dwm/xsession.md
Normal file
|
@ -0,0 +1,61 @@
|
|||
# XSession
|
||||
|
||||
!!! note
|
||||
My modified Makefile installs DWM as a session automagically. I think.
|
||||
Maybe check out the [Makefile](https://git.jakest.us/suckless/dwm/src/branch/jakefication/Makefile). Steps below should not be necessary.
|
||||
|
||||
You might want to add DWM as a session to start it conveniently from a display manager.
|
||||
|
||||
## .desktop file
|
||||
|
||||
For displaymanagers that parse these.
|
||||
As root create a file like this:
|
||||
|
||||
``` desktop title="/usr/share/xsessions/dwm.desktop"
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Name=dwm
|
||||
Comment=Dynamic window manager
|
||||
Exec=dwm
|
||||
Icon=dwm
|
||||
Type=XSession
|
||||
```
|
||||
|
||||
with these permissions
|
||||
|
||||
``` console
|
||||
$ ls -l /usr/share/xsessions/dwm.desktop
|
||||
-rw-r--r-- 1 root root 108 Jun 27 17:24 /usr/share/xsessions/dwm.desktop
|
||||
```
|
||||
|
||||
## Execute a script
|
||||
|
||||
Optionally rather than executing dwm directly you could execute a shell script instead that writes stdout / stderr to a file for logging purposes. This also helps to [autostart](autostart.md) apps
|
||||
|
||||
So the .desktop file should be modified to have
|
||||
`Exec=startdwm`
|
||||
and you need a file with executable permissions
|
||||
|
||||
``` sh title="/usr/local/bin/startdwm"
|
||||
#!/bin/sh
|
||||
echo "$(date): Starting dwn" >> /path/to/logs/$(date +%Y-%m-%d_%H.dwm.log)
|
||||
dwm >> /path/to/logs/$(date +%Y-%m-%d_%H.dwm.log) 2>&1
|
||||
```
|
||||
``` console
|
||||
$ ls -l /usr/local/bin/startdwm
|
||||
-rwxr-xr-x 1 root root 204 Sep 19 14:12 /usr/local/bin/startdwm
|
||||
```
|
||||
|
||||
## Debian alternatives
|
||||
|
||||
For some displaymanagers, like XDM.
|
||||
|
||||
You may add your session with something like:
|
||||
``` console
|
||||
$ sudo update-alternatives --install /usr/bin/x-session-manager x-session-manager /usr/local/bin/startdwm 50
|
||||
$ sudo update-alternatives --config x-session-manager
|
||||
```
|
||||
|
||||
## Credits
|
||||
|
||||
Thank you u/bakkeby for providing some of this information on Reddit [https://www.reddit.com/r/suckless/comments/jj61py/comment/gaanvez/](https://www.reddit.com/r/suckless/comments/jj61py/comment/gaanvez/)
|
Loading…
Add table
Add a link
Reference in a new issue