[~] Refactor
This commit is contained in:
parent
70b7429147
commit
4b9007f864
@ -1975,6 +1975,79 @@ def custom_translate(current_string, check, none_char=None,):
|
|||||||
A()
|
A()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def media_keys(argv):
|
||||||
|
assert isinstance(argv, list) and all([isinstance(o, str) for o in argv])
|
||||||
|
parser = optparse.OptionParser()
|
||||||
|
parser.add_option(
|
||||||
|
'--command',
|
||||||
|
dest='command',
|
||||||
|
type=str,
|
||||||
|
default=None,
|
||||||
|
)
|
||||||
|
|
||||||
|
options, args = parser.parse_args(argv)
|
||||||
|
|
||||||
|
if options.command is None and len(args) > 0:
|
||||||
|
assert len(args) == 1
|
||||||
|
options.command = args[0]
|
||||||
|
|
||||||
|
assert options.command in [
|
||||||
|
'media-play-pause',
|
||||||
|
'media-next',
|
||||||
|
'media-prev',
|
||||||
|
'media-lower-volume',
|
||||||
|
]
|
||||||
|
|
||||||
|
msg = None
|
||||||
|
|
||||||
|
logging.info('media_keys, command = %s' % options.command)
|
||||||
|
|
||||||
|
if options.command == 'media-play-pause':
|
||||||
|
if subprocess.call([
|
||||||
|
'pgrep',
|
||||||
|
'-u', os.environ['USER'],
|
||||||
|
'mocp',
|
||||||
|
], stdout=subprocess.PIPE) == 0:
|
||||||
|
subprocess.check_call(['mocp', '-G'])
|
||||||
|
else:
|
||||||
|
subprocess.check_call(['playerctl', 'play-pause'])
|
||||||
|
msg = player_metadata()
|
||||||
|
elif sys.argv[1] == 'media-next':
|
||||||
|
subprocess.check_call(['playerctl', 'next'])
|
||||||
|
msg = player_metadata()
|
||||||
|
elif sys.argv[1] == 'media-prev':
|
||||||
|
subprocess.check_call(['playerctl', 'previous'])
|
||||||
|
msg = player_metadata()
|
||||||
|
elif sys.argv[1] == 'media-lower-volume':
|
||||||
|
subprocess.check_call([
|
||||||
|
'pactl',
|
||||||
|
'set-sink-volume',
|
||||||
|
'@DEFAULT_SINK@',
|
||||||
|
'-5%'
|
||||||
|
])
|
||||||
|
msg = subprocess.check_output([
|
||||||
|
'pactl',
|
||||||
|
'get-sink-volume',
|
||||||
|
'@DEFAULT_SINK@'
|
||||||
|
]).decode('utf-8').strip()
|
||||||
|
elif sys.argv[1] == 'media-raise-volume':
|
||||||
|
subprocess.check_call([
|
||||||
|
'pactl',
|
||||||
|
'set-sink-volume',
|
||||||
|
'@DEFAULT_SINK@',
|
||||||
|
'+5%'
|
||||||
|
])
|
||||||
|
msg = subprocess.check_output([
|
||||||
|
'pactl',
|
||||||
|
'get-sink-volume',
|
||||||
|
'@DEFAULT_SINK@'
|
||||||
|
]).decode('utf-8').strip()
|
||||||
|
else:
|
||||||
|
raise NotImplementedError
|
||||||
|
|
||||||
|
return dict(
|
||||||
|
msg=msg,
|
||||||
|
)
|
||||||
|
|
||||||
def commands_cli():
|
def commands_cli():
|
||||||
logging.getLogger().setLevel(logging.INFO)
|
logging.getLogger().setLevel(logging.INFO)
|
||||||
@ -1982,39 +2055,8 @@ def commands_cli():
|
|||||||
msg = None
|
msg = None
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if sys.argv[1] == 'media-play-pause':
|
if sys.argv[1].startswith('media'):
|
||||||
subprocess.check_call(['playerctl', 'play-pause'])
|
msg = media_keys(sys.argv[1:]).get('msg')
|
||||||
msg = player_metadata()
|
|
||||||
elif sys.argv[1] == 'media-next':
|
|
||||||
subprocess.check_call(['playerctl', 'next'])
|
|
||||||
msg = player_metadata()
|
|
||||||
elif sys.argv[1] == 'media-prev':
|
|
||||||
subprocess.check_call(['playerctl', 'previous'])
|
|
||||||
msg = player_metadata()
|
|
||||||
elif sys.argv[1] == 'media-lower-volume':
|
|
||||||
subprocess.check_call([
|
|
||||||
'pactl',
|
|
||||||
'set-sink-volume',
|
|
||||||
'@DEFAULT_SINK@',
|
|
||||||
'-5%'
|
|
||||||
])
|
|
||||||
msg = subprocess.check_output([
|
|
||||||
'pactl',
|
|
||||||
'get-sink-volume',
|
|
||||||
'@DEFAULT_SINK@'
|
|
||||||
]).decode('utf-8').strip()
|
|
||||||
elif sys.argv[1] == 'media-raise-volume':
|
|
||||||
subprocess.check_call([
|
|
||||||
'pactl',
|
|
||||||
'set-sink-volume',
|
|
||||||
'@DEFAULT_SINK@',
|
|
||||||
'+5%'
|
|
||||||
])
|
|
||||||
msg = subprocess.check_output([
|
|
||||||
'pactl',
|
|
||||||
'get-sink-volume',
|
|
||||||
'@DEFAULT_SINK@'
|
|
||||||
]).decode('utf-8').strip()
|
|
||||||
elif sys.argv[1] == 'status':
|
elif sys.argv[1] == 'status':
|
||||||
status(sys.argv[2:])
|
status(sys.argv[2:])
|
||||||
elif sys.argv[1] == 'http-server':
|
elif sys.argv[1] == 'http-server':
|
||||||
|
@ -75,6 +75,8 @@ bindsym $mod+Shift+l exec loginctl list-sessions | tail '-n' +2 | head -n -2 | a
|
|||||||
|
|
||||||
bindsym XF86KbdBrightnessDown exec bash -c "commands desktop-services --backlight-decrease"
|
bindsym XF86KbdBrightnessDown exec bash -c "commands desktop-services --backlight-decrease"
|
||||||
bindsym XF86KbdBrightnessUp exec bash -c "commands desktop-services --backlight-increase"
|
bindsym XF86KbdBrightnessUp exec bash -c "commands desktop-services --backlight-increase"
|
||||||
|
bindsym XF86AudioPlay exec bash -c "commands media-play-pause"
|
||||||
|
|
||||||
|
|
||||||
# Start a terminal
|
# Start a terminal
|
||||||
bindsym $mod+t exec $term
|
bindsym $mod+t exec $term
|
||||||
|
@ -1 +1 @@
|
|||||||
yay -S light
|
yay -S light playerctl
|
||||||
|
Loading…
Reference in New Issue
Block a user