commit 3226e64151431fc232975dbd6b8e44c34cd40ee3
parent 70210baf70c3203aee5d394ca12b691c70e8f4e6
Author: Oscar Benedito <oscar@oscarbenedito.com>
Date:   Wed, 22 Dec 2021 20:37:57 +0100

Update README

Diffstat:
DREADME | 48------------------------------------------------
AREADME.md | 158+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 158 insertions(+), 48 deletions(-)

diff --git a/README b/README @@ -1,48 +0,0 @@ -dwm - dynamic window manager -============================ -dwm is an extremely fast, small, and dynamic window manager for X. - - -Requirements ------------- -In order to build dwm you need the Xlib header files. - - -Installation ------------- -Edit config.mk to match your local setup (dwm is installed into -the /usr/local namespace by default). - -Afterwards enter the following command to build and install dwm (if -necessary as root): - - make clean install - - -Running dwm ------------ -Add the following line to your .xinitrc to start dwm using startx: - - exec dwm - -In order to connect dwm to a specific display, make sure that -the DISPLAY environment variable is set correctly, e.g.: - - DISPLAY=foo.bar:1 exec dwm - -(This will start dwm on display :1 of the host foo.bar.) - -In order to display status info in the bar, you can do something -like this in your .xinitrc: - - while xsetroot -name "`date` `uptime | sed 's/.*,//'`" - do - sleep 1 - done & - exec dwm - - -Configuration -------------- -The configuration of dwm is done by creating a custom config.h -and (re)compiling the source code. diff --git a/README.md b/README.md @@ -0,0 +1,158 @@ +# Oscar's dwm fork + +This is my personal fork of [dwm][dwm] (dynamic window manager), a dynamic +window manager for X. + +## Requirements + +In order to build dwm you need the Xlib header files. This build uses Font +Awesome icons for the status bar, make sure you have installed the correct +files. + +## Installation + +Edit `config.mk` to match your local setup (dwm is installed into the +`/usr/local` namespace by default). + +Afterwards enter the following command to build and install dwm (if necessary as +root): + +``` +make clean install +``` + +## Running dwm + +Add the following line to your `.xinitrc` to start dwm using startx: + +``` +exec dwm +``` + +In order to connect dwm to a specific display, make sure that the `DISPLAY` +environment variable is set correctly, e.g.: + +``` +DISPLAY=foo.bar:1 exec dwm +``` + +(This will start dwm on display `:1` of the host `foo.bar`.) + +In order to display status info in the bar, you can do something like this in +your `.xinitrc`: + +``` +while xsetroot -name "`date` `uptime | sed 's/.*,//'`" +do + sleep 1 +done & +exec dwm +``` + +## Configuration + +The configuration of dwm is done by editing the file `config.h` and +(re)compiling the source code. + +## Keyboard shortcuts + +You can check the man page for dwm to learn all about it, the only thing that is +not up to date are my personal shortcuts. Here they are (although some might not +be up to date): + +DWM: + +| Key | Description | +| :---------- | :---------------------------------------------- | +| `j` | Focus next window. | +| `k` | Focus previous window. | +| `h` | Decrease master area size. | +| `l` | Increase master area size. | +| `,` | Focus next screen. | +| `.` | Focus previous screen. | +| `b` | Toggle status bar on/off. | +| `q` | Close current window. | +| `Space` | Make current window the main window. | +| `Shift`+`+` or `Shift`+`=` | Increase number of main windows. | +| `Shift`+`-` | Decrease number of main windows. | +| `g` | Increase gaps. | +| `Shift`+`g` | Decrease gaps. | +| `Shift`+`b` | Toggle gaps on/off. | +| `Ctrl`+`q` | Quit dwm. | +| `Tab` | Toggles to previously selected tags. | + +Layouts: + +| Key | Description | +| :---------- | :------------------------------ | +| `t` | Tiled layout (default). | +| `Shift`+`t` | Floating layout. | +| `Ctrl`+`t` | Stack on bottom layout. | +| `i` | Monocle layout. | +| `Shift`+`i` | Deck layout. | + +Utilities: + +| Key | Description | +| :--------------- | :------------------------------------------------- | +| `p` | Spawn dmenu to launch other programs. | +| `o` | Spawn logout menu. | +| `m` | Spawn mount/unmount drive menu. | +| `s` | Screenshot (select area). | +| `Shift`+`s` | Screenshot (whole screen). | +| `c` | Input user and password from `pass`. | +| `Shift`+`c` | Input password from `pass`. | +| `n` | Create temp file and copy to primary clipboard. | +| `Shift`+`n` | Create temp dir and copy to primary clipboard. | +| `+` or `=` | Increase volume (+`Shift` for smaller increments). | +| `-` | Decrease volume (+`Shift` for smaller increments). | +| `Shift`+`Return` | Change keyboard layout. | + +Applications: + +| Key | Description | +| :------- | :---------------------------------- | +| `Return` | Start terminal. | +| `f` | Start Firefox. | +| `e` | Start email client (Thunderbird). | +| `x` | Start Signal app. | + +Tags (`n` between 1..9): + +| Key | Description | +| :---------- | :------------------------------------------------------ | +| `n` | View all windows with `n`th tag. | +| `Shift`+`n` | Apply `n`th tag to focused window. | +| `Ctrl`+`n` | Add/remove all windows with `n`th tag to/from the view. | +| `Shift`+`Ctrl`+`n` | Add/remove `n`th tag to/from focused window. | +| `0` | View all windows with any tag. | +| `Shift`+`0` | Apply all tags to focused window. | + +The keys `XF86XK_AudioRaiseVolume`, `XF86XK_AudioLowerVolume`, +`XF86XK_AudioMute`, `XF86XK_MonBrightnessUp` and `XF86XK_MonBrightnessDown` work +as expected (and pressing `Shift` will give smaller increments). The key +`XK_Print` will take a screenshot of the selected area and `Shift`+`XK_Print` +will take a screenshot of the whole screen. + +A summary of the shortcuts that use letters. First row is `Mod`+`letter`, +second row is `Mod`+`Shift`+`letter` and third row is `Mod`+`Control`+`letter`. + +``` +┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ +│Q │W │E │R │T │Y │U │I │O │P │ +│close │ │email │ │L-tile │ │ │L-mono │session│dmenu │ +│ │ │ │ │L-float│ │ │L-deck │ │ │ +│quit │ │ │ │L-btile│ │ │ │ │ │ +└─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┘ + │A │S │D │F │G │H │J │K │L │ + │ │scrot │ │Firefox│inc gap│Big Mn │Next w.│Prev w.│Sml Mn │ + │ │full sc│ │ │dec gap│ │ │ │ │ + └─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┬─────┴─┐ + │Z │X │C │V │B │N │M │, │. │ + │ │Signal │Pass M │ │tgl bar│tmp fil│mount d│Prev sc│Next sc│ + │ │ │Pass M │ │tgl gap│tmp dir│ │Send PS│Send NS│ + └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘ +``` + + +[dwm]: <https://dwm.suckless.org> "dwm's homepage"