четверг, 13 октября 2011 г.

Используем скрипт для создания своих appindicator.

Одним читателем WebUpd8 был создан скрипт, позволяющий создать индикаторы приложений для zenity, YAD (форк zenity с улучшениями) или для любого скрипта или команды.

Основные возможности:
- поддержка подменю и разделителей;
- настройка иконок для приложений/скриптов;
- возможно оставить в памяти или выгрузить скрипт после завершения команды.

Использование (на примерах):
Суть работы скрипта в том, что он забирает данные с stdin и при выборе пункта меню - отправляет их в stdout. Пример скрипта для Y PPA Manager:

echo "Add
Advanced
List
Search
Settings" | ./cappind.py -p -i y-ppa-manager | while read s; do
case "$s" in
Add ) y-ppa-cmd add ;;
Advanced ) y-ppa-cmd advanced ;;
List ) y-ppa-cmd list ;;
Search ) y-ppa-cmd search ;;
Settings ) y-ppa-cmd settings ;;
esac
done
  • "-p" оставляет скрипт в памяти и создает кнопку "Quit" в меню. Без этого значения скрипт после выполнения будет выгружен из памяти.
  • "-i" добавляет иконку к индикатору. Не указывайте точный путь до иконки (это не сработает), используйте только название.
  • "-l" добавляет метку (используйте с умом. Излишнее число меток очень быстро поглотить все свободное место на панели).
  • "-t" указывает время, после которого скрипт будет автоматически выгружен из памяти.
Другой пример (с подменю и разделителем) создает индикатор приложения для Nautilus (для открытия папок музыки, загрузок и прочего). Полезно для пользователей unity:

"Home Folder
Documents
Downloads
Pictures

Media:Music
Media:Videos" | ./cappind.py -p -i nautilus |  sed -u 's/Media://g' | while read s; do
case "$s" in
Home* ) nautilus ;;
Documents ) nautilus ~/Documents/ ;;
Downloads ) nautilus ~/Downloads/ ;;
Pictures ) nautilus ~/Pictures/ ;;
Music ) nautilus ~/Music/ ;;
Videos ) nautilus ~/Videos/ ;;
esac
done

Этим возможности творчества не ограничиваются. Больше примеров и сам скрипт лежат по данной ссылке. Установки не требует. Просто скачайте cappind.py в папку, откуда будете запускать собственные скрипты и дайте ей права на выполнение.

Комментариев нет :

Отправить комментарий