Merge pull request #327 from r3dey3/fix-pulseaudio

Fix pulseaudio
This commit is contained in:
enkore 2016-03-03 07:08:00 +01:00
commit 522d691663
2 changed files with 27 additions and 24 deletions

View File

@ -94,6 +94,7 @@ class Module(SettingsBase):
else: else:
args = [] args = []
try:
our_method = is_method_of(cb, self) our_method = is_method_of(cb, self)
if callable(cb) and not our_method: if callable(cb) and not our_method:
self.__log_button_event(button, cb, args, "Python callback") self.__log_button_event(button, cb, args, "Python callback")
@ -113,6 +114,8 @@ class Module(SettingsBase):
args = [arg.format(**self.data) for arg in args] args = [arg.format(**self.data) for arg in args]
cb = cb.format(**self.data) cb = cb.format(**self.data)
execute(cb + " " + " ".join(args), detach=True) execute(cb + " " + " ".join(args), detach=True)
except Exception as e:
self.logger.critical("Exception while processing button callback: {!r}".format(e))
# Notify status handler # Notify status handler
try: try:

View File

@ -4,8 +4,8 @@ from i3pystatus.core.color import ColorRangeModule
from i3pystatus.core.util import make_vertical_bar, make_bar from i3pystatus.core.util import make_vertical_bar, make_bar
from .pulse import * from .pulse import *
from i3pystatus.core.command import execute
from i3pystatus import Module from i3pystatus import Module
import subprocess
class PulseAudio(Module, ColorRangeModule): class PulseAudio(Module, ColorRangeModule):
@ -80,7 +80,7 @@ class PulseAudio(Module, ColorRangeModule):
self.colors = self.get_hex_color_range(self.color_muted, self.color_unmuted, 100) self.colors = self.get_hex_color_range(self.color_muted, self.color_unmuted, 100)
# Check that we have amixer for toggling mute/unmute and incrementing/decrementing volume # Check that we have amixer for toggling mute/unmute and incrementing/decrementing volume
self.has_amixer = shutil.which('alsamixer') is not None self.has_amixer = shutil.which('amixer') is not None
def request_update(self, context): def request_update(self, context):
"""Requests a sink info update (sink_info_cb is called)""" """Requests a sink info update (sink_info_cb is called)"""
@ -172,14 +172,14 @@ class PulseAudio(Module, ColorRangeModule):
command += 'unmute' command += 'unmute'
else: else:
command += 'mute' command += 'mute'
subprocess.run(command.split()) execute(command)
def increase_volume(self): def increase_volume(self):
if self.has_amixer: if self.has_amixer:
command = "amixer -q -D pulse sset Master %s%%+" % self.step command = "amixer -q -D pulse sset Master %s%%+" % self.step
subprocess.run(command.split()) execute(command)
def decrease_volume(self): def decrease_volume(self):
if self.has_amixer: if self.has_amixer:
command = "amixer -q -D pulse sset Master %s%%-" % self.step command = "amixer -q -D pulse sset Master %s%%-" % self.step
subprocess.run(command.split()) execute(command)