#!/usr/bin/python import subprocess import argparse palette = { "background": "#232c31", "foreground": "#c5c8c6", "selection": "#425059", "line": "#2d3c46", "comment": "#777777", "red": "#cc6666", "orange": "#de935f", "yellow": "#f0c674", "green": "#b5bd68", "aqua": "#8abeb7", "blue": "#81a2be", "purple": "#b294bb", "window": "#303030", "darkcolumn": "#1c1c1c", "addbg": "#5F875F", "addfg": "#d7ffaf", "changebg": "#5F5F87", "changefg": "#d7d7ff", "delbg": "#cc6666", "darkblue": "#00005f", "darkcyan": "#005f5f", "darkred": "#5f0000", "darkpurple": "#5f005f", } parser = argparse.ArgumentParser() parser.add_argument('--color-running', default='#9f78e1') parser.add_argument('--color-zero', default='#777777') args = parser.parse_args() def count_running_vm(): # For VirtualBox # output = subprocess.check_output('VBoxManage list runningvms | wc -l', # shell=True) # return int(output.decode('UTF-8')) # For libvirt output = subprocess.check_output('doas virsh list | wc -l', shell=True) libvirt_cnt = int(output.decode('UTF-8')) - 3 output = subprocess.check_output('vboxmanage list runningvms | wc -l', shell=True) vbox_cnt = int(output.decode('UTF_8')) return f"{libvirt_cnt} {vbox_cnt}" def get_color(num_str): if num_str != "0 0": return '%{F' + args.color_running + '}' return '%{F' + args.color_zero + '}' num = count_running_vm() print(get_color(num) + ' ' + num)