dwm 상태 표시줄에 정보를 표시하는 스크립트(예: 밝기/볼륨 변경)

dwm 상태 표시줄에 정보를 표시하는 스크립트(예: 밝기/볼륨 변경)

볼륨, 배터리, 여유 디스크 공간 및 시간 등 정보가 거의 없는 dwm 상태 표시줄이 있습니다(bash 스크립트 사용). 볼륨 및 밝기와 같은 일부 항목은 변경된 경우(볼륨 높이기/낮추기, 밝기 높이기/낮추기)에만 나타나야 합니다.
터미널에서 다음을 수행할 수 있습니다.

vol="$(amixer get Master | tail -n1 | sed -r 's/.*\[(.*)%\].*/\1/')"  
printf '%s\n' "Volume set to ${vol}" | dzen2 -p 3  

이렇게 하면 dzen이 막대 중앙에 실제 볼륨을 표시하게 됩니다(밝기에도 동일하게 적용됩니다).

밝기를 변경하려면 XF86MonBrightnessDown XF86MonBrightnessUp(config.h에 정의됨)을 사용합니다.
볼륨/밝기 변화에 대한 정보를 얻는 방법은 무엇입니까?

당신의 도움을 주셔서 감사합니다!

답변1

제가 올바르게 이해했다면 dzen2밝기/볼륨을 변경할 때 팝업이 표시되기를 원합니다. 스크립트에서 이 작업을 수행하고 동일한 키를 누를 때(등) 트리거할 수 XF86MonBrightnessUp있습니다 XF86XK_AudioLowerVolume.

귀하의 dwm에는 config.h다음 줄이 있습니다

...
    { 0,        XF86XK_AudioRaiseVolume,    spawn,      SHCMD("volume_change.sh -i") },
    { 0,        XF86XK_AudioLowerVolume,    spawn,      SHCMD("volume_change.sh -d") },
...

SHCMD명령은 주어진 쉘 명령을 실행합니다. volume_change.sh스크립트를 가질 수 있습니다

#!/bin/sh

case $1 in

# Increase volume
    -i)
        pactl set-sink-volume @DEFAULT_SINK@ +5%
        vol="$(amixer get Master | tail -n1 | sed -r 's/.*\[(.*)%\].*/\1/')"  
        printf '%s\n' "Volume set to ${vol}" | dzen2 -p 3  
        ;;

# Decrease volume.
    -d)
        pactl set-sink-volume @DEFAULT_SINK@ -5%
        vol="$(amixer get Master | tail -n1 | sed -r 's/.*\[(.*)%\].*/\1/')"  
        printf '%s\n' "Volume set to ${vol}" | dzen2 -p 3  
    ;;
esac

비슷한 밝기 키 스크립트도 있습니다.

volume_change.sh파일에 해당 파일이 있고 PATH실행 가능한지 확인하세요 .

답변2

명도:

xsetroot -name "

관련 정보