Volnoti
Volnoti 根据其 GitHub 页面描述,是:
- 一个轻量级的音量通知守护进程,用于 GNU/Linux 和其他 POSIX 操作系统。它基于 GTK 和 D-Bus,应该可以与任何明智的窗口管理器一起工作。最初的目标是为 LXDE 或 XMonad 等轻量级窗口管理器创建一个音量通知守护进程。已知它可以与各种窗口管理器一起工作,包括 GNOME、KDE、Xfce、LXDE、XMonad、i3 和许多其他管理器。
如果您运行的是像 Openbox 这样的轻量级窗口管理器(通常不自带通知守护进程),Volnoti 可能会很有用,尤其是在与笔记本电脑/键盘的特殊按键结合使用时。
安装
用法
要启动守护进程,请运行命令
$ volnoti
Volnoti 将在后台运行。为了让 Volnoti 自动运行,请自启动它。通过在终端模拟器中输入以下内容来检查程序是否正在运行
$ volnoti-show 20
屏幕中央应该会出现一个半透明的方块,显示音量为 25%。现在您应该配置 Volnoti,以便在每次音量更改时显示通知。
配置
Xbindkeys
以下配置将使用 Volnoti、Alsa 和 Xbindkeys 在按下热键时显示音量变化;此示例将假定 Xbindkeys 已按照其页面中的描述安装和配置。
在文本编辑器中打开 ~./xbindkeysrc
,并在字符串 # 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
前两个命令将在按下相应的特殊按键时增加或降低音量,读取新的音量级别并将其作为参数发送给 volnoti-show
;第三个命令将切换音量并显示 Volnoti 的相应通知(根据音量是静音还是取消静音)。
现在您可以使用 kill -1 $(pidof xbindkeys)
重启 Xbindkeys 并测试您的配置。
i3
将以下三行添加到您的 i3 配置文件
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"