LINUX.ORG.RU

xbindkeys: алгоритма тред

 нипанимать


0

3

расскажите по какому принципу обрабатывается конфиг сабжа?
i.e. есть конопочка XF86AudioMute
пишем следующее в конфиг

"amixer set Master mute"	
	XF86AudioMute
теперь при нажатии на кнопочку звук гаснет - всё правильно
при повторном нажатии звук не появляется - логично
теперь добавляем в конфиг следующее ПОСЛЕ предыдущего
"amixer set Master unmute"
	XF86AudioMute
теперь при первом нажатии кнопки звук гаснет, при повторном появляется
т.е. при нажатии подходящей кнопки/комбинации_кнопок xbindkeys парсит правила последовательно, но откуда оно узнает что amixer, в данном случае, пытается сделать глупость?
ведь он завершается корректно (exit code == 0)
или сабж тупо помнит что один раз я уже нажал кнопочку и при повторном её нажатии выполняет не первую, а вторую команду?

★★★★

Последнее исправление: megabaks (всего исправлений: 4)

или сабж тупо помнит что один раз я уже нажал кнопочку и при повторном её нажатии выполняет не первую, а вторую команду?

ну скорее всего так и есть.

Extraterrestrial ★★★★★
()

теперь при первом нажатии кнопки звук гаснет, при повторном появляется

Проверил. У меня не всегда при повторном нажатии появляется. Значит, разные действия, повешенные на один и тот же хоткей, xbindkeys выбирает не последовательно.

dadd ★★★
()

В amixer не силён, но ты пробовал:

amixer set Master toggle
вместо mute/unmute?

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от megabaks

Видимо, от версий/дистра зависит.
Кстати, можно же это уместить в одно действие вместо нескольких на одном и том же хоткее.
Если ключа-переключалки нет, то сойдёт что-то типа:

"bash -c 'if amixer info | grep muted; then amixer set Master unmute; else amixer set Master mute; fi'"
XF86AudioMute

dadd ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.