ner_uto 21.09.2009 17:21
Скрипты — Вывод OSD с названием песни в MOC
Обновлено, добавлен вариант для KDE от kavrenО консольном аудиоплеере MOC, покорившем сурового гуишника меня, я писал неоднократно в своем блоге. Все бы хорошо (даже автозапуск настроил), но единственное, чего не хватало для счастья, - вывод названия песен при их смене.
Долго ходил кругами и облизывался вокруг одного материала в закладках, но все не пытался сделать это на практике, а сейчас решил попробовать. Итак, поехали.
Универсальное решение, которое будет работать с любым DE и WM:
Для начала устанавливаем пакет xosd-bin. У меня Ubuntu, так что делаю так:
1 |
|
Пишем скрипт, который выводит информацию о названии песне, авторе, альбоме и месте воспроизведения песни. Скрипт не мой, единственное, что я в нем изменил, - это шрифт. Взял, если честно, первый попавшийся, ибо шрифт из оригинала не поддерживал русский язык. Выбрать другой шрифт можно, например, с помощью утилиты xfontsel.
Сохраняем его. Я сохранил в каталоге /home/warl0ck/.moc под именем osd.sh
Правим конфиг MOC.
1 |
|
Опускаемся до раздела
1 |
|
и пишем строку примерно такого содержания:
1 |
|
Естественно, вместо /home/warl0ck/.moc/osd.sh нужно ввести ваш путь до скрипта.
Выглядит это так:

Вариант скрипта-нотификатора для KDE4 от kavren
А выглядит это так:

Рекомендую почитать:
О том, как выбрать шрифты: Шрифты в Linux
А, может быть, кто-нибудь знает, как сделать в стандартном гномовском нофитикаторе?
Описано на http://marko.habrahabr.ru/blog/50461/. Kdialog я как раз оттуда и дернул.
Перепутад ссылки, тут http://habrahabr.ru/blogs/linux/67746/ описывается для бубунты, а значит и для гнома
О, и правда... строка закомментированная с notify-send есть в конфиге, так что все еще проще получается для Гнома... Надо только поставить пакет libnofity-bin.
Ты не возражаешь, если я твой вариант для кед добавлю в пост?
Ты не возражаешь, если я твой вариант для кед добавлю в пост?
Добавил. А вот с гномом что-то не получается. Ну ладно, завтра попробую покопать в эту сторону.
#!/bin/bash
Artist="$(mocp --info | grep -E Artist: | sed s/'Artist: '//)"
SongTitle="$(mocp --info | grep -E SongTitle: | sed s/'SongTitle: '//)"
TotalTime="$(mocp --info | grep -E TotalTime: | sed s/'TotalTime: '//)"
notify-send -t 3000 "$Artist" "$SongTitle"
exit 0
Artist="$(mocp --info | grep -E Artist: | sed s/'Artist: '//)"
SongTitle="$(mocp --info | grep -E SongTitle: | sed s/'SongTitle: '//)"
TotalTime="$(mocp --info | grep -E TotalTime: | sed s/'TotalTime: '//)"
notify-send -t 3000 "$Artist" "$SongTitle"
exit 0
Можно еще иконку для красоты добавить параметром -с. Например:
Отобразится иконка, которая лежит в /usr/share/pixmaps/gnome-irc.png
...
notify-send -t 3000 -c gnome-irc "$Artist" "$SongTitle"
...
Отобразится иконка, которая лежит в /usr/share/pixmaps/gnome-irc.png
вот куплю себе лед-экранчик маленький и буду туда ввыводить название песни и слова, и вообще данные
OnSongChange = "/usr/bin/notify-send %a %file"
и скрипта ненадо :) толко надо notification-daemon-xfce либо толко notification-daemon незнаю
и скрипта ненадо :) толко надо notification-daemon-xfce либо толко notification-daemon незнаю
Этот вариант будет ДЕзависимым. И в Openbox, например, он не заработает.
#!/bin/bash
Artist="$(mocp --info | grep -E Artist: | sed s/'Artist: '//)"
SongTitle="$(mocp --info | grep -E SongTitle: | sed s/'SongTitle: '//)"
TotalTime="$(mocp --info | grep -E TotalTime: | sed s/'TotalTime: '//)"
kdialog --title "$Artist" --passivepopup "$SongTitle $TotalTime" 10
exit 0
Выглядит вот так:
Плюс, я еще использую moc-tray. Теперь вообще все остальные плееры курят в сторонке =)