понедельник, 16 мая 2011 г.

Контекстное меню для приложений на панели Unity


Чтобы не ждать, когда разработчики возьмутся за использование всех функциональных возможностей Unity, можно начать вносить их самостоятельно. Одно из улучшений - это добавление своих пунктов в контекстное меню иконок, отображающихся на панели. Им присваивается все что угодно, любая команда, даже если она не относится непосредственно к приложению.



Вся информация о меню будет находиться в файлах .desktop из каталога “/usr/share/applications/”. Открываем любой из них, набрав в терминале:

sudo gedit /usr/share/applications/desktop.desktop


и добавляем в конец файла строки следующего вида:

X-Ayatana-Desktop-Shortcuts=Item1;Item2


[Item1 Shortcut Group]
Name=Первый пункт меню
Exec=command1
TargetEnvironment=Unity


[Item2 Shortcut Group]
Name=Второй пункт меню
Exec=command2
TargetEnvironment=Unity

, где

Item1, Item2 - произвольные названия латиницей;
Name - строчка, отображаемая в контекстном меню;
command1, command2 - выполняемые команды

Например, к значку браузера Chromium можно добавить открытие сайтов в режиме приложения (без строки меню). В терминале:

sudo gedit /usr/share/applications/chromium-browser.desktop

добавляем строки:

X-Ayatana-Desktop-Shortcuts=YandexTV;VKontakte


[YandexTV Shortcut Group]
Name=Яндекс.Программа
Exec=chromium-browser --app='http://m.tv.yandex.ru/'
TargetEnvironment=Unity


[VKontakte Shortcut Group]
Name=ВКонтакте
Exec=chromium-browser --app='http://m.vkontakte.ru'
TargetEnvironment=Unity

Мобильные версии сайтов выбраны только лишь для примера. Таким образом можно сделать из контекстного меню своеобразный набор закладок. В ежедневный билд Chromium’а уже добавлены несколько дополнительных пунктов, но вписать свои по аналогии вам никто не мешает.

2 коммент.:

  1. где брал уже и не вспомнить, но вот
    http://dl.dropbox.com/u/29069915/tiger.jpg

    ОтветитьУдалить