Jump to content

# Volnoti

From ArchWiki

Related articles

- Advanced Linux Sound Architecture
- Desktop notifications

Volnoti is, according to its own GitHub page,

  A lightweight volume notification daemon for GNU/Linux and other POSIX operating systems. It is based on GTK and D-Bus and should work with any sensible window manager. The original aim was to create a volume notification daemon for lightweight window managers like LXDE or XMonad. It is known to work with a wide range of WMs, including GNOME, KDE, Xfce, LXDE, XMonad, i3 and many others.

Volnoti can be useful to check volume changes if you are running a lightweight window manager like Openbox, which does not usually come with a notification daemon, especially in combination with your laptop/keyboard's special keys.

## Installation

Install the volnotiAUR package.

## Usage

To start the daemon, run the command

    $ volnoti

Volnoti will run in background. In order to have Volnoti run automatically, autostart it. Check the program is running by typing in your terminal emulator

    $ volnoti-show 20

A semi-transparent square should appear at the centre of your screen, showing a volume of 25%. Now you should configure Volnoti to display a notification each time your volume is changed.

## Configuration

### Xbindkeys

The configuration below will use Volnoti, ALSA and Xbindkeys to show the volume changes while pressing the hotkeys; this example will assume Xbindkeys has already been install and configured as described in its page.

Open `~./xbindkeysrc` in a text editor and add these lines before the string `# End of xbindkeys configuration`:

    # Increase volume
    "amixer set Master 5%+ && volnoti-show $(amixer get Master | grep -Po "[0-9]+(?=%)" | tail -1)"
       XF86AudioRaiseVolume
    # Decrease volume
    "amixer set Master 5%- && volnoti-show $(amixer get Master | grep -Po "[0-9]+(?=%)" | tail -1)"
       XF86AudioLowerVolume
    # Toggle volume
    "amixer set Master toggle; if amixer get Master | grep -Fq "[off]"; then volnoti-show -m; else volnoti-show $(amixer get Master | grep -Po "[0-9]+(?=%)" | tail -1); fi"
       XF86AudioMute

The first two commands will increase or lower the volume when the corresponding special keys are pressed, reading the new volume level and sending it as an argument to `volnoti-show`; the third one will toggle the volume and display Volnoti's corresponding notification (according to whether the volume was muted or unmuted).

Now you can restart Xbindkeys with `kill -1 $(pidof xbindkeys)` and test your configuration.

### i3

Add the following three lines to your i3 configuration file:

    bindsym XF86AudioRaiseVolume exec --no-startup-id "amixer set Master 2%+ && volnoti-show $(amixer get Master | grep -Po '[0-9]+(?=%)' | head -1)"
    bindsym XF86AudioLowerVolume exec --no-startup-id "amixer set Master 2%- && volnoti-show $(amixer get Master | grep -Po '[0-9]+(?=%)' | head -1)"
    bindsym XF86AudioMute exec --no-startup-id "amixer set Master toggle && if amixer get Master | grep -Fq '[off]'; then volnoti-show -m; else volnoti-show $(amixer get Master | grep -Po '[0-9]+(?=%)' | head -1); fi"

Categories:

- X server
- Sound

Volnoti
Add topic