gajim and mpd daemon
Dec 28 2008На вики jabber клиента Gajim есть целый набор скриптов для установки в качестве статуса проигрываемой в данный момент песни в mpd. Есть даже патч в основную ветку, только он у меня не заработал. По определённым причинам меня не устроил ни один вариант из предложенных, так что пришлось самому дописывать.
Мой вариант не пытается установить статус отключенным учётным записям (у меня есть запись для локальной сети, которая за 300 км от меня), не пытается выставить каждый раз статус на «Online» и не делает других подобных непотребных вещей. Название композиции обновляется каждые 10 секунд, что позволяет оставаться ему актуальным, а так же не нагружает процессор, т.к. вызов gajim-remote каждую секунду – вещь довольно тяжкая. Код ниже
#!/bin/bash
# from http://trac.gajim.org/wiki/GajimAndMpd
# modified by bobrik (http://bobrik.name)
function reset_status_message() {
gajim-remote change_status `gajim-remote get_status`= ""
}
trap reset_status_message EXIT
while sleep 10
do
if [ "`mpc | wc -l`" == "1" ] ; then
CURRENT_TITLE=""
else
CURRENT_TITLE="`mpc --format \"[%artist% - %title% [(%album%)]\" | head -n 1`"
fi
for i in `gajim-remote list_accounts`; do
STATUS=`gajim-remote get_status $i`
if [[ "$CURRENT_TITLE" != "$LAST_TITLE" && $STATUS != "offline" ]]
then
if [ -n "$CURRENT_TITLE" ]
then
gajim-remote change_status `gajim-remote get_status $i` "♫ $CURRENT_TITLE" $i
else
gajim-remote change_status `gajim-remote get_status $i` "" $i
fi
fi
done
LAST_TITLE="$CURRENT_TITLE"
done
Скачать сам по себе скрипт можно отсюда. Чтобы не мучиться с ручным запуском, в KDE скрипт можно положить в ~/.kde/Autostart и добавить бит исполнения командой
chmod +x ~/.kde/Autostart/gajim_mod.sh
Тогда скрипт будет автоматически запускаться при старте KDE. Для GNOME наверняка должно быть что-нибудь подобное, но я об этом не знаю. Сообщите в комменты – добавлю.
{ Tags: autostart, bash, coding, gajim, gnome, jabber, kde, mpd, script, shell, wiki }




Recent Comments