dwm and i3wm systray removal & desktop setup tricks

These days, there are two window managers I enjoy using “more than the others I have tried”. They are dwm & i3wm.

After long time use (more than a year on each) I felt the need to cleanup and simplify my desktop installs. All part of my trying to keep things simple and easy to use.

It is worth noting that I run both window managers (wms) in the same user space on the same device. All keybindings are shared between my wms via a single sxhkd config file.

The cleanup and simplification tasks I have implemented include:

  • removal of my systrays (system notification trays) both on i3 and dwm. I want to see if I can live without a systray; just as I have trained myself to unlearn the need for desktop icons.
  • creation of “elegant?” wm bars. I want my wm bars not only to look good but be informative, as well. To accomplish this, I have built unique setups for both dwm and i3.
    1. I use slstatus on dwm (keeping dwm as simple as possible).
      slstatus on dwm

      The slstatus bar setup/ layout is contained in config.h of slstatus. My config.h is available for download here. I assume you know how-to use it…

    2. I chose to use conkybar on i3 (because I like how it looks). When I use i3bar it really ends up looking pretty much the same as slstatus; and who wants that?!?!?
      conkybar on i3

      conkybar is invoked using the following command in my i3 conf file:
      status_command ~/.config/i3/conkybar.sh
      My conkybar script is available here.

  • I removed picom/ compton because xcompmgr does the trick for me. FWIW, here is the xcompgr setting I use.  I run it from .xprofile.
    # compositor
    xcompmgr -CnfF -I-.015 -O-.03 -D6 -t-1 -l-3 -r4.2 -o.5 &
  • I installed and setup a few light-weight keyboard accessible functions to replace the removed “tray items” and their supported function(s):
    • nmtui: Because I lost access to the systray networking icon (nm-applet), I created a new method of access to the networking/ wifi function by installing nmtui (via pacman) and created a keybinding to invoke nmtui, as needed. I have also included this in my system maintenance yad popup. Just in case you have no idea what nmtui looks like, here’s a screenshot:
      nmtui
    • brightness-controller featuring the following:
      • Brightness Control
      • Saving color profile
      • Loading color profile
        Yet another stellar screenshot for inquiring minds to peruse. This function is also available via my system maintenance yad popup.

        brightness controller
    • topgrade: to quote from their github site:
      • Keeping your system up to date mostly involves invoking more than a single package manager. This usually results in big shell one-liners saved in your shell history. Topgrade tries to solve this problem by detecting which tools you use and run their appropriate package managers.

    • lxtask: I simply installed the application (lxtask) and made it available via my system maintenance yad popup (also via a keybind). Lxtask allows me to see all active processes (and kill/stop those I don’t want running.)
    • pavucontrol:  Just a simple install; you can review how I have included it in my little yad script (available in this article).
    • The above functions (as well as several others) are made available on both dwm & i3 for simple access & use via a yad script.
      The Yad script is entitled “System Maintenance Tools” on the desktop screenshot.

      The Yad system maintenance tools script is available for download.

      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!