commit
522d691663
@ -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:
|
||||||
|
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user