Почему мой апплет Gnome не появляется в списке? - PullRequest
0 голосов
/ 13 июня 2018

Я пытаюсь разработать апплет Gnome.Я использую CentOS 6.5 (панель Gnome 2.30.2).

Я пытался создать базовый апплет, копируя из:

Я сделал следующее:

Создайте файл сервера

-rw-r--r--. 1 myself mygroup ... /usr/lib/bonobo/servers/psleApplet.server

Код:

<oaf_info>
    <oaf_server iid="OAFIID:PsleApplet_Factory" type="exe" location="/usr/local/bin/psleApplet.py">
        <oaf_attribute name="repo_ids" type="stringv">
            <item value="IDL:Bonobo/GenericFactory:1.0"/>
            <item value="IDL:Bonobo/Unknown:1.0"/>
        </oaf_attribute>
        <oaf_attribute name="name" type="string" value="foo Factory"/>
        <oaf_attribute name="description" type="string" value="bar (factory)"/>
    </oaf_server>
    <oaf_server iid="OAFIID:PsleApplet" type="factory" location="OAFIID:PsleApplet_Factory">
        <oaf_attribute name="repo_ids" type="stringv">
            <item value="IDL:GNOME/Vertigo/PanelAppletShell:1.0"/>
            <item value="IDL:Bonobo/Controle:1.0"/>
            <item value="IDL:Bonobo/Unknown:1.0"/>
        </oaf_attribute>
        <oaf_attribute name="name" type="string" value="foo"/>
        <oaf_attribute name="description" type="string" value="bar"/>
        <oaf_attribute name="panel:category" type="string" value="Utility"/>
        <oaf_attribute name="panel:icon" type="string" value="gnome-applets.png"/>
    </oaf_server>
</oaf_info>

Создание базового файла Python

-rwxr-xr-x. 1 myself mygroup ... /usr/local/bin/psleApplet.py

Код:

#!/usr/bin/env python

import sys
import gtk
import pygtk
import gnomeapplet
pygtk.require('2.0')

def applet_factory(applet, iid):
    label = gtk.Label('It works!')
    applet.add(label)
    applet.show_all()
    print 'Factory started.'
    return True

if _name__ == '__main__':
    print "Sarting factory."
    gnomeapplet.bonnobo_factory('OAFIID:PsleApplet_Factory', gnomeapplet.Applet.__gtype__,'Sample Applet', '0.1', applet_factory)

Дополнительная информация

Здесьмой вывод, когда я запускаю файл Python из консоли:

>/usr/local/bin/psleApplet.py
Starting factory.

Обратите внимание, что сообщение «Factory завод» не появляется.

Ссылочный значок существует:

-rw-r--r--. 1 root root ... /usr/share/pixmaps/gnome-applets.png

Так что все вроде бы нормально, но я не могу найти свой апплет в списке после щелчка правой кнопкой мыши на панели> Добавить на панель

Что я сделал не так?

1 Ответ

0 голосов
/ 22 июня 2018

Проблема здесь, скорее всего, в пакете - он больше не работает на pypy, и поддержка , похоже, была прекращена .Вероятно, большая часть пакета усеяна неработающим устаревшим кодом.

Поддержка Python для апплетов Gnome всегда была ограничена - вы не найдете много сообщений о Python + gnome в прошлом 2011 году. Возможно, лучшей идеей было бы создать привязки через ctypes длязаголовок апплета панели ( panel-applet.h ).Это обеспечит получение рабочих привязок (по крайней мере, для Gnome 2.30.2), а также позволит лучше понять сами апплеты gnome.

РЕДАКТИРОВАТЬ: привязки уже существуют.Взгляните на PyGObject.

...