[Guide] How to install suckless' dwm in QubesOS

For anyone who wants to use suckless’ dwm and having it display qube name, windowborder colors, etc.

Here: GitHub - 3o14r473/GUIDE_how-to-install-dwm-in-qubesos: How to install suckless' dwm in QubesOS

3 Likes

For those who want to take a look at the patches:

/patches/qubesdecorations lets dwm display the qubename, color the windowborders of the focused window accordingly, etc.

/patches/qubesrules lets you use label and qubename in dwm’s rulematching.

Fans of dwm or other tiling window managers like i3wm and awesome might be interested in qmenu.

Any other patch that can improve the experience?

Regarding the QubesOS experience, I recommend the fakefullscreen patch, as mentioned in the guide.

Besides patches, everything else mentioned in the tips and tricks section of the guide drastically improves the dwm-in-Qubes experience.

Some personal recommendations that might be worth a try for some:

I use the dwm rules to assign every qube label its own (dwm-)tag; spawning windows on a specific tag, depending on their qube’s label.
As it is possible to view multiple tags at once and because they can be quickly toggled on and off, it provides me with a very smooth and dynamic workflow.

Example:

    /* label  qube  class  instance  title  tags mask  isfloating  monitor */
     { 1,     NULL, NULL,  NULL,     NULL,  1 << 0,    0,          -1 },
     { 2,     NULL, NULL,  NULL,     NULL,  1 << 1,    0,          -1 },
     { 3,     NULL, NULL,  NULL,     NULL,  1 << 2,    0,          -1 },
     { 4,     NULL, NULL,  NULL,     NULL,  1 << 3,    0,          -1 },
     { 5,     NULL, NULL,  NULL,     NULL,  1 << 4,    0,          -1 },
     { 6,     NULL, NULL,  NULL,     NULL,  1 << 5,    0,          -1 },
     { 7,     NULL, NULL,  NULL,     NULL,  1 << 6,    0,          -1 },
     { 8,     NULL, NULL,  NULL,     NULL,  1 << 7,    0,          -1 },

Other than that I would not want to do without qmenu.
Regarding this, although it is not qubes-specific, I highly recommend the center and border patches for dmenu.

qmenu-am --focused is very useful to me, as is qmenu-vm (especially qmenu-vm --focused). Not only does it replace my need for the Qube Manager but I totally rely on it for very unspectacular things like per-qube note-taking. Managing QubesOS can be very time-consuming and I absolutely do not want to use the default tools for that.

I want to add that this is because of my personal preference and that I do not think bad of the default Qubes desktop experience. On the contrary, the Qubes Team has done a wonderful job on improving it just recently. Without downplaying the great contributions of the others involved, I am very happy that ninavizz got involved as, so far, she has made some excellent improvements regarding this.
Of course, for musophobic users like me, dwm+qmenu is just a more fitting solution.

The Qubes Desktop experience is terrible. I have to say that this is not a Qubes specific issue, but more of something for all Linux users. If I was going to design a new Qubes like OS(or a new Linux OS), one of the important things for me would be a good UI (of course after security) with a macOS like UI (I still like WM’s, but 90% of the people find it very easy to use) and better integrations overall with other VMs(to the point is impossible to find out). I know that doing something like this is impossible for the small team at Qubes.

Related to DWM, I decided to not test it since I would like something that needs fewer workarounds to get it working properly(Even on a normal Linux distro, it is a pain to set something at the same level that other WM’s can provide)

With its plethora of desktop environments to choose from, what are you missing in Linux?

If you are looking for a more “feature-rich” experience, maybe kde, i3, or awesome are worth a try.