old_contents: """get volume level
  
  """
  import re
  
  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.volume)
          )
          self._level = "0"
          self._muted = True
          device = self.parameter("device", "Master,0")
          self._cmdString = "amixer get {}".format(device)
  
      def volume(self, widget):
          m = re.search(r'([\d]+)\%', self._level)
          self._muted = True
          if m:
              if m.group(1) != "0":
                  self._muted = False
              return "{}%".format(m.group(1))
          else:
              return "0%"
  
      def update(self, widgets):
          level = ""
          try:
              level = bumblebee.util.execute(self._cmdString)
          except Exception as e:
              level = ""
  
          self._level = level
  
      def state(self, widget):
          if self._muted:
              return ["warning", "muted"]
          return ["unmuted"]
  
new_contents: """get volume level
  
  """
  import re
  
  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.volume)
          )
          self._level = "0"
          self._muted = True
          device = self.parameter("device", "Master,0")
          self._cmdString = "amixer get {}".format(device)
  
      def volume(self, widget):
          m = re.search(r'([\d]+)\%', self._level)
          self._muted = True
          if m:
              if m.group(1) != "0" and "[on]" in self._level:
                  self._muted = False
              return "{}%".format(m.group(1))
          else:
              return "0%"
  
      def update(self, widgets):
          level = ""
          try:
              level = bumblebee.util.execute(self._cmdString)
          except Exception as e:
              level = ""
  
          self._level = level
  
      def state(self, widget):
          if self._muted:
              return ["warning", "muted"]
          return ["unmuted"]
  
subject: Add on/off mute check