This is the second installment of:

An adventure creating a single user environment with 4 desktops.

Thank you to everyone who has expressed interest in this ‘adventure’. I hope we’ll learn a lot. I know I will. Please help keep me honest.

In that vein [full-disclosure] this work is largely based on my bspwm desktop. My initial setups and experience were developed by using antiX and MX Linux versions.  My current ‘bspwm production setup’ runs on manjaro. As it turns out polybar, my preferred panel, runs more robustly on an arch-based distro than it does on a Debian base. As a result, for this ‘adventure’ I have had to create workarounds for my MX setup to provide functionality equivalence between arch & Debian bases.  Although sadly, I am not always able to attain parity between both distro bases.[/full disclosure]

Before beginning any of the adventure, you may ‘prefer’ to have a machine setup for you to use. If so, please install MX Linux 19.1, if you want to go ‘vanilla’; or if you are a risk taker, install the distro of your choice. Should you choose something other than MX 19.1, you will need to adjust this exercise to address the deltas between your distro and MX. I will try to note generic thoughts and differences between MX and the arch distro I know best, manjaro. I’ll be as detailed as I can be; but if you choose Gentoo, Fedora, OpenSUSE, void, etc…. well, you are on your own.

Now, let’s roll up our sleeves and get to work.

The first objective we want to achieve is a single login. To do that is fairly simple. I recommend, and use, LightDM for that purpose. Yes, there are other Display Manager (DM) options. Luckily, MX Linux (our host distro for this exercise) offers LightDM by default; manjaro does the same. As a result, we really need do nothing ‘fancier’ than installing ‘those missing window managers’ from our base install. To re-cap, the base included desktops in MX are:

  • xfce
  • fluxbox

Note: If you prefer to use manjaro rather than MX, I recommend you install manjaro’s xfce-minimal. Manjaro xfce-minimal offers xfce as its standard Desktop Environment, oddly enough.

The MX desktops we need to add/install in our environment are:

  • bspwm
  • openbox

For manjaro, you may wish to also add:

  • fluxbox

I generally recommend that these major ‘window manager’ additions be done via the host distro package installer MXPI (MX Linux Package Installer) or ‘pamac’ (for manjaro). You can use command line if you prefer; it’s just that dependencies can be a bit more difficult accommodate, and I won’t cover all of those here. In a bit, I will provide an example of that on the MX items we’ll need to add in order to get PyWal operational (PyWal is not in the MX or Debian repositories- repos, see below.).

Next, I think it would be helpful for me to share a couple of images of both an MX Linux & manjaro Desktop.  Think of these as target images.  This is what we are building toward.

bspwm on MX 19.1 with polybar (top panel); rofi active workspace tracker (center); conky (right); tint2 panel with taskbar (bottom)
bspwm on manjaro with polybar (top panel); rofi active workspace tracker (center); conky (right); tint2 panel with taskbar (bottom)

Important items that may not be apparent from the images:

  • There are going to be numerous Rofi pop-ups to facilitate functions such as menu access and other help functions. (You’ll become acquainted with those later.)
  • zenity & yad will provide calendar and help popups/ dialogs. (None are visible here.)
  • Screen brightness controls will not be the same between bases due to Debian & arch differences.
  • Workspace control (top left) is going to be slightly different between window managers. (Not visible here.)
  • Xfce will be largely allowed to function using its native functionality, although it the xfce DE will be tweak to be more like the three (3) window managers. (Not visible here.)
  • PyWal is used to change wallpapers and colors on the desktops.  What changes varies some between distro bases and desktops. (Very cool, but nearly useless…. )
  • Other desktops will look ‘very’ much like the bspwm desktop on the same distro.

Once you have installed your preferred base distro, there are a few additional items to install. For MX, you will need to install the following major items (non-MXPI installs are noted):

  • tint2
  • rofi
  • bspwm
  • sxhkd
  • openbox
  • obmenu-generator (from Head_on_a_Stick)
  • picom (from Head_on_a_Stick)
  • PyWal & colorz (cli install); the terminal command follows:
    sudo apt purge python3-pip && sudo apt install --install-recommends python3-pip && pip3 install pywal && pip3 install colorz
  • inkscape
  • imagemagick
  • sakura (my ‘go to’ terminal)
  • yad
  • zenity

For manjaro most of the above are available from pamac, if you allow AUR to be used.

You will, also, need the following if they are not installed with your distro:

  • conky (It is best if you can also install conky-manager, not all distros offer this tool, any longer.)
  • geany & geany-plugins (I use it for all script and development work.)

Nice to haves for some of the desktops:

  • jgmenu (openbox)
  • fluxbox themes  [sarcasm] Select some that you can stand to look at; I am unable to suggest any.  [/sarcasm]
  • high quality gtk2 themes  (openbox & bspwm)
  • mouse cursors you like or are willing to use

At this point you should have most of the basic setup complete. In the next installment, we’ll discuss tools and performing detailed setup. You’ll get to learn about dotfiles, scripts, and their application.

If you try to run these desktops right now, they won’t all work very well. bspwm will especially be boring… probably blank.  Wo-o-o-o-o, scary. Trust me we’ll fix the quickly and easily. I have the technology, for you.

The other articles in this series:


Remember, like with all of my work, I am able to provide the following assurance(s):
  • It is almost certainly going to work until it breaks; although I have to admit it may never work and that would be sad.
  • When/if it does break, you may keep all of the pieces.
  • If you find my materials helpful, both you & I will be happy, at least for a little while.
  • My advice is worth every penny you paid for it!