def writebltxpm(col): url = expanduser("~/.xmonad/xpm/bluetooth_%s.xpm") return writexpm(url, bltxpm, col)
def writesoundxpm(lvl, col): url = expanduser("~/.xmonad/xpm/sound_%d_%%s.xpm") % lvl return writexpm(url, sound_xpm[lvl], col)
def writeworkspacexpm(xpm, name, col): url = expanduser("~/.xmonad/xpm/%s_%%s.xpm") % name return writexpm(url, xpm, col)
def get_wired_interface(): interfaces = subprocess.getoutput("ls /sys/class/net").split() interfaces = [i for i in interfaces if i[:1] == "e"] print("Wired interfaces:", interfaces, file=sys.stderr) for i in interfaces: active = subprocess.getoutput("cat /sys/class/net/%s/operstate" % i) == "up" if active: return " " + i return None url = expanduser("~/.xmonad/xpm/wired_%s.xpm") active_if = get_wired_interface() print("Connected through", active_if, file=sys.stderr) col = "white" if active_if is None: active_if = "" col = "red" out = "<icon=%%s/>%s" % active_if print(out % writexpm(url, wired_xpm, col))
def writehotspotxpm(col): url = expanduser("~/.xmonad/xpm/hotspot_%s.xpm") return writexpm(url, hotspot_xpm, col)
def writewirelessxpm(lvl, col): url = expanduser("~/.xmonad/xpm/wireless_%d_%%s.xpm") % lvl return writexpm(url, wireless_xpm[lvl], col)
"\" ...... \",", "\" .... \",", ] from utils import writexpm from os.path import expanduser import sys, subprocess plugged = subprocess.getoutput("cat /sys/class/power_supply/AC/online") == "1" print("Plugged:", plugged, file=sys.stderr) cap = int(subprocess.getoutput("cat /sys/class/power_supply/BAT0/capacity")) if plugged and cap == 100: url = expanduser("~/.xmonad/xpm/plugged_%s.xpm") print("<icon=%s/>" % writexpm(url, plugged_xpm, "white")) exit(0) lvl = cap * len(battery_xpm) // 100 url = expanduser("~/.xmonad/xpm/battery_%d_%%s.xpm") % lvl if not plugged: tte = subprocess.getoutput("upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep 'time to empty:'").strip().split(" ")[-1].strip() print("Time to empty:", tte, file=sys.stderr) suffix = tte else: suffix = "<fc=green>Charging</fc>" out = "<icon=%%s/> %d%%%% %s" % (cap, suffix) print(out % writexpm(url, battery_xpm[lvl], "white"))