* Joe's dwm (the dynamic window manager) build The original [[https://dwm.suckless.org/][dwm]] build I used to run. Based on version 6.2. /Note:/ as I am not using dwm anymore, developpement on my build might be stuck on this version. ** Dependencies **** Required: - ~gcc~ - ~make~ - ~xorg~ - ~libX11~ - ~libXft~ **** Optional: - ~st~ find my custom improved build [[https://github.com/JozanLeClerc/st][here]] - ~slock~ - ~dmenu~ ** Installation To install this open a terminal and run these commands: #+BEGIN_SRC shell git clone https://github.com/JozanLeClerc/dwm-laptop.git cd dwm-laptop sudo make clean install #+END_SRC To use it as a default WM, if you are using xinit, add this to your ~.xinitrc~: #+BEGIN_SRC shell exec dwm #+END_SRC I am not shure about how to set it up on regular desktop managers like ~gdm~ or ~lightdm~. ** Bindings *Window* or *tile* is being called *stack* in this segment as it an apropriate name. Some of the main key bindings: - *switch* to workspace 1-10 with ~super+{F1-F10}~ - *show all workspaces* at once with ~super+F12~ - *move* selected stack to workspace 1-10 with ~super+shift+{F1-F10}~ - *fire up* ~st~ terminal with ~super+return~. See how to set it to another terminal emulator in [[#optional-config][optional config]] - *kill* selected stack with ~super+q~ - *cycle through* stacks down/up with ~super+j/k~ - *move* selected stack down/up with ~super+shift+j/k~ - *resize* master stack to left/right with ~super+h/l~ - *invoke* ~dmenu_run~ application launcher with ~super+p~. Get it [[https://tools.suckless.org/dmenu/][here]] - *invoke* ~slock~ screen locker with ~super+shift+l~. Get it [[https://tools.suckless.org/slock/][here]] - *invoke* ~QuteBrowser~ if installed with ~super+3~. See how to set it up to your favorite web browser in [[#optional-config][optional config]] - toggle *normal tiled mode* with ~super+s~ - toggle *alternative tiled mode* with ~super+shift+s~ - toggle *maximized mode* (monocle) on selected stack with ~super+f~ - toggle *floating mode* on selected stack with ~super+space~ - toggle *top bar* with ~super+escape~. Hidden by default - *exit* dwm with ~super+shift+e~ ** Optional config You might want to change my ~st~ invocation to your terminal emulator of choice. To do exactly this change: #+BEGIN_SRC c static const char *termcmd[] = { "st", NULL }; #+END_SRC to: #+BEGIN_SRC c static const char *termcmd[] = { "your-beloved-terminal-emulator", NULL }; #+END_SRC in ~config.h~ on *line 80*. To change web browser: #+BEGIN_SRC c static const char *qbcmd[] = { "qutebrowser", NULL }; #+END_SRC to: #+BEGIN_SRC c static const char *qbcmd[] = { "your-favorite-web-browser", NULL }; #+END_SRC in ~config.h~ on *line 81*. ** Patches List of patches in use: - ~singularborders~ - ~alwaysfullscreen~ - ~autostart~ - ~bottmstack~ - ~fakefullscreen~ - ~fibonacci~ - ~focusurgent~ - ~movestack~ - ~noborder~ - ~pertag~ - ~systray~ ** More Thanks for checking my custom ~dwm~ build. My own autostart script can be found under my [[https://github.com/JozanLeClerc/dotfiles][dotfiles]] repository. It should be placed in =~/.dwm= directory.