#!/bin/sh # A modular status bar for dwm # Joe Standring # GNU GPLv3 # Dependencies: xorg-xsetroot # Import functions with "$include /route/to/module" # It is recommended that you place functions in the subdirectory ./bar-functions and use: . "$DIR/bar-functions/dwm_example.sh" # Store the directory the script is running from LOC=$(readlink -f "$0") DIR=$(dirname "$LOC") # Change the appearance of the module identifier. if this is set to "unicode", then symbols will be used as identifiers instead of text. E.g. [📪 0] instead of [MAIL 0]. # Requires a font with adequate unicode character support export IDENTIFIER="unicode" #export IDENTIFIER="un" # Change the charachter(s) used to seperate modules. If two are used, they will be placed at the start and end. export SEP1="" export SEP2="|" # Import the modules . "$DIR/bar-functions/dwm_countdown.sh" . "$DIR/bar-functions/dwm_alarm.sh" . "$DIR/bar-functions/dwm_transmission.sh" . "$DIR/bar-functions/dwm_cmus.sh" . "$DIR/bar-functions/dwm_mpc.sh" . "$DIR/bar-functions/dwm_spotify.sh" . "$DIR/bar-functions/dwm_resources.sh" . "$DIR/bar-functions/dwm_battery.sh" . "$DIR/bar-functions/dwm_mail.sh" . "$DIR/bar-functions/dwm_backlight.sh" . "$DIR/bar-functions/dwm_alsa.sh" . "$DIR/bar-functions/dwm_pulse.sh" . "$DIR/bar-functions/dwm_weather.sh" . "$DIR/bar-functions/dwm_vpn.sh" . "$DIR/bar-functions/dwm_networkmanager.sh" . "$DIR/bar-functions/dwm_keyboard.sh" . "$DIR/bar-functions/dwm_ccurse.sh" . "$DIR/bar-functions/dwm_date.sh" . "$DIR/bar-functions/dwm_connman.sh" . "$DIR/bar-functions/dwm_loadavg.sh" . "$DIR/bar-functions/dwm_currency.sh" parallelize() { while true do printf "Running parallel processes\n" dwm_weather & dwm_networkmanager & sleep 5 done } parallelize & # Update dwm status bar every second while true do # Append results of each func one by one to the upperbar string upperbar="" # upperbar="$upperbar$(dwm_connman)" # upperbar="$upperbar$(dwm_countdown)" # upperbar="$upperbar$(dwm_alarm)" # upperbar="$upperbar$(dwm_transmission)" # upperbar="$upperbar$(dwm_cmus)" # upperbar="$upperbar$(dwm_mpc)" # upperbar="$upperbar$(dwm_spotify)" # upperbar="$upperbar$(dwm_resources)" upperbar="$upperbar$(dwm_battery)" # upperbar="$upperbar$(dwm_mail)" # upperbar="$upperbar$(dwm_backlight)" # upperbar="$upperbar$(dwm_alsa)" upperbar="$upperbar$(dwm_pulse)" # upperbar="$upperbar${__DWM_BAR_WEATHER__}" # upperbar="$upperbar$(dwm_vpn)" # upperbar="$upperbar${__DWM_BAR_NETWORKMANAGER__}" upperbar="$upperbar$(dwm_keyboard)" # upperbar="$upperbar$(dwm_ccurse)" upperbar="$upperbar$(dwm_date)" # upperbar="$upperbar$(dwm_loadavg)" # upperbar="$upperbar$(dwm_currency)" # Append results of each func one by one to the lowerbar string # lowerbar="" # lowerbar="$lowerbar$(dwm_resources)" #lowerbar="$lowerbar$(dwm_ccurse)" #lowerbar="$lowerbar${__DWM_BAR_WEATHER__}" #lowerbar="$lowerbar$(dwm_alarm)" xsetroot -name "$upperbar" # Uncomment the line below to enable the lowerbar # xsetroot -name "$upperbar;$lowerbar" sleep 1 done