• We had to restore from a backup today after a failed software update. Backup was from 0000 EDT and restored it at 0800 EDT so we lost about 8hrs. Today is 07/20/2024. More info here.

How to install "dwm" WM and "st" terminal on Arch Based Distros, and once you login, you can choose between "dwm" and "your previous DE"


New Member
Aug 23, 2022
Reaction score
1. sudo pacman -Syu // update

2. sudo pacman -S vim git base-devel // install "vim" editor, "git" and "base-devel"

3. sudo pacman -S dmenu // install dmenu

4. git clone https://git.suckless.org/dwm

5. git clone https://git.suckless.org/st

6. cd dwm

7. sudo make clean install

8. cd

9. cd st

10. sudo make clean install

11. cd

12. cd /usr/share/xsessions

13. sudo vim DWM.desktop

14. /* Edit the "DWM.desktop" file and type the following: (to enter "INSERT" mode and start typing, type "i" first. To return to "COMMAND" mode again, use "ESC". To save and exit type ":wq" from the COMMAND mode.) */

[Desktop Entry]
Comment=Dynamic Window Manager

15. // logout of the current session and login again, using this time the DWM option
Last edited:

For dwm on debian installations, if the user is using the suckless software directly from its website, the library and include files in the config.mk file need to be adjusted before compiling. The following achieves this in the config.mk file:
# original suckless paths commented out
# paths corrected for debian follow
#X11INC = /usr/X11R6/include
#X11LIB = /usr/X11R6/lib

# these are the debian equivalents
X11INC = /usr/include/X11
X11LIB = /usr/lib/x86_64-linux-gnu
Last edited:
If you are going to explain how to install dwm without explaining in a general manner of how to configure it you might as well just install it from the default repos. Since I thought the power of dwm was that you can configure it in c and addomh patches so that you can add the functionality you like to it. I would think if you don't configure or patch anything you will basically have a default setup which I would take would be the same setup as from the binary installed from the Arch default repos or am I wrong?
Last edited:
Oh dear, f33dm3bits, I do believe you have made many assumptions in your post. I'll leave it to the reader to untangle them in the first instance. My post was very clearly related to the original post in which the source was downloaded from the suckless website, and compiled. That's quite distinct from using the distribution repos. It's not always the case that the repo's version of an application is the one preferred by the user. Distribution maintainers can have their own preferences and do provide versions with configurations which may or may not suit a user. It is not the case that dwm absolutely needs configuration beyond the original source. It works, though many other capabilities can be added to it, many of which exist as patches on the suckless site which also provides instructions to apply them. In fact dwm, as is, works perfectly on minimal systems. My post was targeting a specific issue which I had encountered, and about which I was alerting debian users, in addition to the arch users the OP was targeting. No more or less than that. That there may have been some obligation, or a "might as well" function to advance further configuration options than were given, is to impose an intention that simply wasn't there.
Oh dear, f33dm3bits, I do believe you have made many assumptions in your post. I'll leave it to the reader to untangle them in the first instance.
I installed dwm once to try it out, once from the repos and once by compiling it from source(from the suckless website) and also adding a few patches. My experience from Arch is that the Arch maintainers mostly stick to the source package's vanilla defaults as much as possible and leave the customization up to the user. Therefore I would think that when installing dwm from the Arch repos it would be the defaults you get when installing it from source without patches since to customize dwm you would have to recompile it with your preferred patches and the dwm from the Arch repos being a binary you can't do that with.
Perhaps you didn't notice that OP downloaded the source from suckless. It didn't come from "Arch maintainers" or arch repos. The OP's instructions then showed how to compile it. Of course the user would need the compiler installed which they wouldn't necessarily need if using a repo that provided compiled versions. I wouldn't make any assumptions about what maintainers provide without actually inspecting their procedures if they supply such, which some do in README files and some don't.
I did notice that OP downloaded dwm from the suckless website, my point being if you are going to write a how to and keep everything default you might as well explain how to install it from the Arch repos because Arch package maintainers tend to usually keep the package as close to the source as possible. Now I know that it's possible to add source patches to dwm(and st) to add functionality to the user's liking, I'm talking about that part is what OP could have expanded about in their howto instead of just explaining how to to do a default source install of dwm.
f33dm3bits wrote:
I'm talking about that part is what OP could have expanded about in their howto
Yes, I take your point, and that you made the same point about my post, that is, that further information "could" have been supplied. This is certainly true, but it simply may not have been the intention of the writers. If what had been supplied was misleading or invalid, then it's best to correct it. But that was not the case in any of the posts so far as I can see. You should certainly feel free to supply extra information, configuration details, your experiences etc as you see fit. To impose obligations of some sort, like a "may as well", to supply more information where posts and posters have supplied perfectly good information (however constrained), is odd, to say the least. One can always request more.
Last edited:
You should certainly feel free to supply extra information, configuration details, your experiences etc as you see fit, but to impose obligations of some sort upon posts and posters who have supplied perfectly good information (however constrained), to supply more, is odd, to say the least.
Most people here on linux.org are average desktop users, there a some that know more but most users here don't feel comfortable enough to install something from source. I'm more than an average user and know a bit more but I have no extended experience with dwm only played with a bit to see what it was and how it worked. So I have an understanding of dwm and that it's possible to patch it with custom patches but I don't know enough experience with it to add to a how to. This being a topic I know less about so it would have been a more interesting read for me and others to have extended on the topic as I know the average user here doesn't use a stand-alone window manager but a DE. Currently I'm also use a full DE but it's always interesting to read something you know less about in more detail.
Last edited:

Staff online

Members online