Tagged: debian

GNOME applets

!Это просто список ссылок в помощь гяглящим а не статья.

У третьего гнома поменялось API http://developer.gnome.org/panel-applet/3.6/port-gnome2.html

Сами аплеты вроде как депрекейтед, вместо них рекомендуют использовать индикаторы. Но они полны недостатков как по мне, в частности нельзя указать место в панели где их ставить.

Писать можно на Си и на Питоне и возможно на Моно. Почти все пишут на питоне.

Официальная документация тут http://developer.gnome.org/panel-applet/3.6/
туториал https://live.gnome.org/GnomeLove/PanelAppletTutorial

В тырнете туториалов как говна, по качеству одиаково многобуквенные и бестолоковые. Примеры кода сильно смешаны с мутной логикой самих аплетов:
http://saravananthirumuruganathan.wordpress.com/2010/01/15/creating-gnome-panel-applets-in-python/

лично мне помог вот этот http://www.znasibov.info/blog/post/gnome-applet-with-python-part-1.html

Для быстрого старта поможет вот этот генератор
https://github.com/palfrey/panel-applet-generator
там есть баги, посмотрите мои пул реквесты к проекту.

Полученый темплит можно скомпилить командой
$ dpkg-buildpackage -rfakeroot -b
на выходе будет .deb пакет

Есть фабрика аплетов, она получает пустой объект аплета, на него навешиваются кнопки и другие виджеты. Меню по клику описывают в XML.
Объявляется интерфейс аплета через Bonobo который сто лет уже как депрекейтед, и остался наверное как раз только в аплетах.
Есть попытки делать через DBus и даже есть какой то мануальчик https://pango.org/GnomeGoals/AppletsDbusMigration
Дебажат аплеты передавая в них ключ по которому они открываются в обычном окне.

Можно попытатся запилить на яве, есть биндинг к гному
http://java-gnome.sourceforge.net/doc/examples/START.html

но там нет DBus’а

Биндинг к яве у DBus есть, http://www.freedesktop.org/wiki/Software/DBusBindings но продаётся только в виде исходников. В официальнх мавеновских репозиториях её нет.
Вот тут http://wiki.apertium.org/wiki/Installing_the_Java_D-Bus_bindings сказано мол юзайте готовую либу от Matthew Johnson. Вот её POM http://code.google.com/p/bluecove/source/browse/incubator/dbus-java/dbus/pom.xml?r=2851
Также есть такие вот POM’ы:
http://gitorious.org/dbus-for-osgi
http://www.pyx4me.com/maven2/org/freedesktop/dbus/dbus/