stumpwm/sound.lisp @ 16331fb57509
default tip
More
author |
Steve Losh <steve@stevelosh.com> |
date |
Wed, 05 Feb 2025 11:30:40 -0500 |
parents |
46c8ae0df6cc |
children |
(none) |
(in-package :stumpwm-user)
(defun volume% ()
(_ (run-shell-command "amixer sget Master" t)
(string-grep "Front Left:" _ :first-only t)
(string-split "[]" _)
second
(string-trim "%" _)
parse-integer))
(defcached (volume :seconds 30)
(volume%))
(defcommand mute () ()
(run-shell-command "mute")
(volume/uncache)
(message "Muted."))
(defcommand volume-up () ()
(run-shell-command "amixer -q sset Master 5%+")
(volume/uncache)
(message "Volume: ~D%" (volume)))
(defcommand volume-down () ()
(run-shell-command "amixer -q sset Master 5%-")
(volume/uncache)
(message "Volume: ~D%" (volume)))
(defun volume-modeline (ml)
(declare (ignore ml))
(format nil "~D%" (volume)))
(add-screen-mode-line-formatter #\V #'volume-modeline)
#; Scratch --------------------------------------------------------------------
(volume)