"""Displays count of running libvirt VMs. Required the following python packages: * libvirt * sys """ import sys import libvirt import bumblebee.input import bumblebee.output import bumblebee.engine class Module(bumblebee.engine.Module): def __init__(self, engine, config): super(Module, self).__init__(engine, config, bumblebee.output.Widget(full_text=self.status) ) self._status = self.status engine.input.register_callback(self, button=bumblebee.input.LEFT_MOUSE, cmd="virt-manager") def status(self, _): """Get number of currently running libvirt VMs""" conn = None try: conn = libvirt.openReadOnly(None) except: return None if conn == None: return None return "VMs: %d" % conn.numOfDomains() def update(self, widgets): self._status = self.status