Included below is a requisite scrot for ‘proof-of-life’.
The xsetroot script I use follows (note: the ? are missing glyphs) :
#!/usr/bin/env bash # original script created by clusterF modified # by ManyRoads # while true; do date '+? %a. %d %b. ? %R ' > /tmp/CurTime.tmp sleep 60s done & while true; do LOCALTIME=$(< /tmp/CurTime.tmp) DB=$(dropbox status) VOL=$(pamixer --get-volume-human) MEM=$(free -h --kilo | awk '/^Mem:/ {print $3 "/" $2}') CPU=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}' ) TEMP=$(sensors|grep 'Core 0'|awk '{print $3}' ) DISK=$(df -Ph | grep "/dev/nvme0n1p2" | awk {'print $5'}) WIFI=$(nmcli -f ACTIVE,SIGNAL dev wifi list | awk '$1=="yes" {print $2}') xsetroot -name " ? $MEM ? ? $CPU% ?? $TEMP ? ? $DISK ? ? $VOL ? ? $WIFI% ? ? $DB ? $LOCALTIME ? ? ? ?" sleep 10s done &
Because the glyphs (fontawesome) get hosed up on this site, here is my xsetroot script (complete).
The script is called from my dwm-autoart script:
! /bin/sh # # dwm autostart, etc. # # Numerous functions (autostart) are located in .xsessionrc (Debian) .xprofile (arch) # including power management, polkit, dropbox, f.lux, dunst etc. # slstatus # slstatus & # conky pkill conky conky -c ~/.local/bin/Suckless/dwm/conky/.dwm-1rc & conky -c ~/.local/bin/Suckless/dwm/conky/.dwm-2rc & ~/.local/share/scripts/xsetroot.sh & #start dwm exec dwm
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!
Yes, it is possible to create a homogeneous look across multiple window managers (wm).
In this series, I will discuss and demonstrate (via written tutorial) how-to achieve this objective. We’ll examine the use of two of my favorite window managers (bspwm & hlwm) as well as tools/software such as polybar, sxhkd (sxhkdrc), rofi and the ‘infra-structure tools’ from the xfce desktop environment.
N.B.; Be advised xfce is technically a Desktop Environment (DE) not a Window Manager.
This is actually not a new concept. There is at least one distro (ArcoLinux, managed ‘benevolently’ by Erik Dubois), that promotes the concept of homogeneity across multiple environments including the following:
The primary benefit offered by building a homogeneous environment is the achievement of consistency across essential desktop functions such as: keybindings, menubars, file managers, music players, and the like. This reduces training time, improves skills expertise, and assists in portability of artifacts across different work flows.
As our example in this series, we will use my current desktop setup/arrangement which employs:
The tools which are shared on my three desktops include:
With a few small exceptions, my bspwm & hlwm desktops look identical and are nearly identical functionally; xfce with zentile looks similar but not ‘quite the same’. To my mind, bspwm is smoother and offers a bit more complete set of functions than hlwm or xfce’s desktop (but in truth that is mostly a personal preference choice on my part).
Below are basic desktop screenshots of my three desktops (hopefully the labels will help you sort them out). Each shows:
You should also note:
In the next article in this series, I’ll show more ‘building block details’ and discuss how-to tweak them for consistency.
If you enjoy and value this article, please…
]]>rofi: rofi provides my ‘whole’ desktop activity listing simply via a standard set of rofi commands. The list/popup created is also active, thus a simple click ‘takes’ me to a desired ‘active task’. In bspwm (in sxhkdrc), I have created the following keybinding.
You will not need bspwm to accomplish your keybinding. You can create this keybinding/command in most any manner supported by your desktop environment or window manager.
# rofi Active Tasks
super + F12
rofi -modi window -show window -show-icons -sidebar-mode
The following image is what the result ‘looks like’.
tint2: tint2 is even easier. The taskbar function within tint2 offers a number of readily selectable options. Check the boxes you like best. You will need to install and run tint2 on your desktop though. I use right mouse-button on an active task button to close the task, when appropriate.
The tint2 arrangement appears in the following image:
In an effort to minimize desktop real estate consumption by tint2, I have divided functions as noted on this page. I, also, have posted an abbreviated version of this page on reddit (see below).
]]>The following Panels & Menus are intended for Linux/Unix use. These tools represent a much lighter weight set of panels & menus (consuming less memory) than those more typically found on Linux Desktop Environments such as gnome, KDE, etc. Generally, these are used on Linux/ Unix window managers such as: bspwm, dwm, fluxbox, herbstluftwm, i3wm, jwm, openbox, xmonad …
This list is not exhaustive. Yes, there are more. However, this should give you a decent starting point for your investigations.
]]>(Click on a label to access information on ‘that panel’.)