antigluk 12.06.2010 12:57
Tips & tricks — Меняем статус в pidgin'e при закрытии крышки ноутбука
Привет, вилинуксоиды!Расскажу вам, как менять статус в pidgin'e при закрытии крышки ноутбука, и при открытии соответственно.
Настроил себе и понял, что это очень удобно. Для некоторых это очевидно, но думаю многим будет интересно.
Делай раз
В системе должен быть установлен демон acpi. В убунте он есть по умолчанию, в арче нужно сделать
sudo pacman -S acpi acpid acpitool
и добавить acpid в DAEMONS rc.conf после syslog-ng (в начало строки). Рестартимся (он должен всегда загружаться перед dbus и hal, иначе будет материться).
Делай два
В папке /etc/acpi/ должны быть скрипты для управления разными событиями. В арче это единственный файл handler.sh, в убунте - кучка файлов, нужный - lid.sh.
Открываем этот файл.
В арче - идем в конец файла и находим "button/lid)"
В убунте - в начале файла
И пишем в этом месте:
Где вместо USERNAME пишете имя пользователя, под которым запущен pidgin.
Поясню:
purple-remote - это программка, которая через d-bus отправляет процессу с libpurple разные действия. Она по идее устанавливается вместе самой библиотекой libpurple, а соответственно - с pidgin'ом.
В данном случае мы устанавливаем статус away и aviable с разными сообщениями.
С помощью команды
1 |
|
можно узнать текущий статус.
sudo -u USERNAME нужно из-за того, что скрипт acpi запускается из-под своего пользователя, и purple-remote просто не находит нужного процесса.
В файле /proc/acpi/button/lid/LID0/state находится текущее состояние крышки.
Бонус:
Себе я еще настроил при открытии крышки включение режима черепашки в transmission-daemon, а при закрытии - отключение.
Делается это двумя командами:
Включить:
1 |
|
Выключить:
1 |
|
Внимание: при открытии/закрытии крышки скрипт может выполняться несколько раз.
Profit!
s2h 12.06.2010 13:16 #
+ 1 -
за черепашку отдельное спасибо
/me хочет встроить датчики давления в кресло и менять статус самым удобным образом.
/зануда-mode on
кнопка в определённом смысле - тоже датчик
/зануда-mode off
кнопка в определённом смысле - тоже датчик
/зануда-mode off
а все тоже самое, только чтобы реагировало на блок экрана (screen lock), можно?
Через D-Bus - можно. Пример на Perl для Gnome Screensaver:
live.gnome.org
Пример кривоватый - правильней было бы привязать свой скрипт к событию в D-bus (если оно есть)
live.gnome.org
Пример кривоватый - правильней было бы привязать свой скрипт к событию в D-bus (если оно есть)
объясните пожалуйста куда вставлять?
сделал так: http://gyazo.com/1e207c1617224f3cf9080ce184d251b0.png
не работает =\
сделал так: http://gyazo.com/1e207c1617224f3cf9080ce184d251b0.png
не работает =\