首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的Gnome applet没有出现在列表中?

为什么我的Gnome applet没有出现在列表中?
EN

Stack Overflow用户
提问于 2018-06-13 13:25:59
回答 1查看 106关注 0票数 1

我在试着开发一个Gnome applet。我使用CentOS 6.5 (Gnome面板2.30.2)。

我试图构建一个基本的applet,从以下几个方面复制:

我做了以下工作:

创建服务器文件

代码语言:javascript
复制
-rw-r--r--. 1 myself mygroup ... /usr/lib/bonobo/servers/psleApplet.server

代码:

代码语言:javascript
复制
<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>

创建一个基本的文件

代码语言:javascript
复制
-rwxr-xr-x. 1 myself mygroup ... /usr/local/bin/psleApplet.py

代码:

代码语言:javascript
复制
#!/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文件时的输出:

代码语言:javascript
复制
>/usr/local/bin/psleApplet.py
Starting factory.

请注意,“工厂启动”消息不会出现。

引用的图标确实存在:

代码语言:javascript
复制
-rw-r--r--. 1 root root ... /usr/share/pixmaps/gnome-applets.png

所以一切看起来都很好,但是在右击面板>添加到面板之后,我在列表中找不到我的applet。

我做错什么了?

EN

回答 1

Stack Overflow用户

发布于 2018-06-22 02:21:06

这里的问题可能是包-它不再是在pypy和支持似乎被放弃了上了。很可能这个包中很多都是残破的遗留代码。

Python对Gnome的支持一直是有限的--你不会在2011年之后找到很多关于Python + gnome的文章。也许更好的方法是通过C型创建到面板小程序头(panel-applet.h)的绑定。这将确保您得到工作绑定(至少对于Gnome 2.30.2),并将使您更好地理解gnome小程序本身。

编辑:绑定已经存在。看看PyGObject。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50838446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档