## Install dependencies ```bash sudo apt-get install -y git xorg libx11-dev libxft-dev libxinerama-dev build-essential ``` You can install another programs for your customization. This is for the example: ```bash sudo apt install -y pulseaudio pavucontrol pulseaudio-utils # For volume script sudo apt install -y nitrogen # For wallpaper sudo apt install -y lxpolkit # For polkit sudo apt install -y xcompmgr # For transparent supporting sudo apt install -y rofi # For menu launcher sudo apt install -y scrot # For screenshot sudo apt install -y htop kitty thunar # For another Apps ``` ## Clone from source ```bash git clone https://git.suckless.org/dwm ~/.dwm cd ~/.dwm ``` ## Modification the `config.h` See `config.def.h` for a default configuration. ## Compile and Install ```bash sudo make clean install ``` ## Usage ### Add DWM as a Window Manager If you want to use it without Display Manager, you can use this method: Add this line on `~/.xinitrc` ```bash exec dwm ``` Then you can run it with `startx` ```bash startx ``` ### Add DWM on X Session If you want to use a Display Manager with a semi-automatic via custom session, you can use this method: Add this line on `~/.xsession` ```bash exec dwm ``` ### Add DWM to Display Manager If you want to use a Display Manager with a GUI login, you can use this method: As root, create file `/usr/share/xsessions/dwm.desktop` then type this: ```bash [Desktop Entry] Encoding=UTF-8 Name=DWM Comment=Dynamic Window Manager Exec=dwm Icon=dwm Type=XSession ``` ## Add the autostart ### Use patch You can use official autostart patch method. Check the complete instruction in [here](https://dwm.suckless.org/patches/autostart/). It will change your `dwm.c`. ### Add autostart in `.xprofile` For a simple method without updating a `dwm.c`, you can use this method. Make or edit the file `~/.xprofile` and add autostart script inside: ```bash if [ -f ~/.dwm/autostart.sh ]; then ~/.dwm/autostart.sh & fi ``` ## Update DWM from origin You can update your DWM version from the git repository with this command: ```bash git checkout mybranch git fetch origin master git merge origin/master git push myremote mybranch ``` ## Removing DWM Just delete the binary file if you want to removing DWM. ```bash sudo rm /usr/local/bin/dwm ```