Yet another simple PulseAudio volume notification service over libnotify
. The service provides notification for:
- Volume up/down
- Volume mute/unmute
Change of volume's level is visualized using a textual progress bar. No graphics, no other extra complex use-cases is an intention. The text is customizable: ASCII and Emojis.
The app was written as tiny entertainment to close a gap in my existing i3wm setup. My alternative to volnoti
daemon.
Build:
$ git clone https://git.thekondor.net/zvuchno.git
or ($ git clone https://github.com/thekondor/zvuchno
)$ cd zvuchno && go build
Run w/o any configuration file to use default settings. Or use config.sample.yml
as a foundation for personal one.
The configuration file could be stored either as $HOME/.zvuchno.yml
or $XDG_CONFIG_HOME/zvuchno.yml
.
The application heavily relies on running PulseAudio daemon as well as available DBus session.
The final volume's level representation is defined via appearance.format.full
key. The value's format is simply a Go's template.
{{ .Percent }}
is expanded to current volume's level in percent.
{{ .Bar}}
is expanded to a textual representation of current volume's level.
Bar's representation is defined via appearance.format.bar
key. The value is 5-character string. Example: [=>-]
, where
[
is a left border of the bar.=
is a floating part of the bar.>
is a pointer of the floating part showing current volume's level.-
is a remaining space for the bar to float to.]
is a right border of the bar.
Any character here could be a regular ASCII one as well as a fancy Emoji (should be supported by active font)
As simple as:
$ zvuchno
or to be added to ~/.xinitrc
(or i3wm/config
... whatever!) for a launch on WM startup:
# Mind '&' at the end!
/path/to/zvuchno &