Audio

pactl 在 DWM 配置文件中不起作用

  • November 29, 2021

在 config.h 中設置快捷方式後,pactl 根本不起作用。但是,當我在終端中執行 pactl 時,它按預期工作

配置.h:

#include <X11/XF86keysym.h>

static const char *upvol[]   = { "/usr/bin/pactl", "set-sink-volume", "@DEFAULT_SINK@", "+5%",     NULL };
static const char *downvol[] = { "/usr/bin/pactl", "set-sink-volume", "@DEFAULT_SINK@", "-5%",     NULL };
static const char *mutevol[] = { "/usr/bin/pactl", "set-sink-mute",   "@DEFAULT_SINK@", "toggle",  NULL };

static Key keys[] = {
   { 0,                       XF86XK_AudioLowerVolume, spawn, {.v = downvol } },
   { 0,                       XF86XK_AudioMute, spawn, {.v = mutevol } },
   { 0,                       XF86XK_AudioRaiseVolume, spawn, {.v = upvol   } }

};

即使我替換@DEFAULT_SINK@1(這是我目前的接收器),它仍然不起作用

功能鍵起作用是因為 xev 檢測到它們已分配事件:

KeymapNotify event, serial 37, synthetic NO, window 0x0,
   keys:  2   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
          0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0  

我通過 LightDM 會話使用 /usr/share/xsessions 中的 dwm.desktop 文件執行 DWM:

[Desktop Entry]
Encoding=UTF-8
Name=dwm
Comment=Dynamic window manager
Exec=dwm
Icon=dwm
Type=XSession

原來在某些情況下必須完全重新安裝 DWM 才能覆蓋某些設置

sudo make uninstall && sudo make install

引用自:https://unix.stackexchange.com/questions/678518