сценарий для отображения информации в строке состояния dwm (например, об изменении яркости/громкости)

Для сложных ограничений я предпочитаю использовать язык программирования :Awk

find -name '*.c' \
   -exec awk -v RS="\0" '/ABC/ && !/123/{print FILENAME}' {} \; 
0
25.08.2019, 15:22
2 ответа

яркость:

xsetroot -name " $(expr $(cat /sys/class/backlight/intel_backlight/brightness) / 49)"

громкость:

xsetroot -name "奄 $(pactl list sinks | grep '^[[:space:]]Volume:' | head -n $(( $SINK + 1 )) | tail -n 1 | sed -e 's,.* \([0-9][0-9]*\)%.*,\1,')%"

мои точечные файлы:

https://github.com/felipefacundes/dotfiles/tree/master/config/dwm

Не копируйте и не вставляйте отсюда, потому что я заметил, что в посте этот сайт подавляет *недействительность регулярного выражения команды, зайдите в мои dotfiles и получите скрипт (barcomplete.sh)

0
28.04.2021, 23:30

Если я правильно понимаю, вы хотите видеть всплывающее окно 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и он исполняемый.

1
28.04.2021, 23:30

Теги

Похожие вопросы