Answers:
您可以在此处找到编写应用指标的页面:
也可以看看:
在该页面上,您会找到指向Python和API文档中的示例的链接。Quickly中的ubuntu-application模板应包含有关使用appindicators的示例。祝好运!
我认为@fossfreedom提到使用Python,GIR和GTK3编写指标,涵盖了如何为Unity创建指标。(读一号)
我正在使用Ubuntu 14.04,Quickly 12.08.1。这是从Quickly模板构建完整工作示例的演示。
OP仅需要指示器(而不是完整的GUI应用程序),因此让我们从ubuntu-cli Quickly模板开始:
quickly create ubuntu-cli indicator-demo
它可能会在此模板中引发针对未发布的错误修复程序(bug#1064110)的错误消息:
Creating project directory indicator-demo
Creating bzr repository and committing
Launching your newly created project!
Traceback (most recent call last):
...
OSError: [Errno 13] Permission denied
ERROR: create command failed
Aborting
修复权限
cd indicator-demo/
chmod +x bin/indicator-demo
测试
$ quickly run
I'm launched and my args are:
Ubuntu Wiki有一个很好的PYGI示例:Application Indicators。集成起来应该很容易。
打开进行编辑:
quickly edit
修改__init__.py
,添加需要的模块导入:
from gi.repository import Gtk
from gi.repository import AppIndicator3 as appindicator
在main()
函数之间:
print _("I'm launched and my args are: %s") % (" ".join(args))
logging.debug(_('end of prog'))
加:
ind = appindicator.Indicator.new_with_path (
_("Indicator demo for Quickly"),
"indicator-demo-icon-normal",
appindicator.IndicatorCategory.APPLICATION_STATUS,
indicator_democonfig.get_data_path())
ind.set_status (appindicator.IndicatorStatus.ACTIVE)
ind.set_attention_icon ("indicator-demo-icon-attention")
# create a menu
menu = Gtk.Menu()
# create one item
menu_items = Gtk.MenuItem(_("Quit"))
menu.append(menu_items)
# this is where you would connect your menu item up with a function:
menu_items.connect("activate", Gtk.main_quit )
# show the item
menu_items.show()
ind.set_menu(menu)
Gtk.main()
将图标添加到新创建的数据文件夹中:
mkdir data
我从已安装的软件包中复制了一些图标,仅作为示例:
cp /usr/share/icons/ubuntu-mono-dark/status/22/indicator-messages.svg data/indicator-demo-icon-normal.svg
cp /usr/share/icons/ubuntu-mono-dark/status/22/indicator-messages-new.svg data/indicator-demo-icon-attention.svg
测试一下:
quickly run
创建包并发布:
quickly package
quickly share --ppa your-ppa
笔记:
好吧,我没有更新debian软件包控制文件,但是依赖项已自动添加到生成的DEB中:
Package: indicator-demo
Version: 0.1
Architecture: all
Maintainer: UNKNOWN <UNKNOWN>
Installed-Size: 57
Depends: python (>= 2.7), python (<< 2.8), python:any (>= 2.7.1-0ubuntu2), gir1.2-gtk-3.0, gir1.2-appindicator3-0.1
Section: python
Priority: extra
Description: UNKNOWN
UNKNOWN
此外,软件包中还包含了先前在数据文件夹中添加的图标。
我之前遇到过类似的案例,如何在Unity面板中添加键盘修改器状态小程序?。答案包含使用libappindicator的示例/原型键盘指示器(但使用c编程语言)。
libappindicator缺少重要的功能,该功能很容易移植其他桌面指示器。图标只能从路径加载。请参阅错误#812067所需的API:pixbuf图标设置支持
参考文献:
libappindicator-doc
软件包中的HTML提供了libappindicator的完整API参考。在看/usr/share/gtk-doc/html/libappindicator/
请注意,它支持在指示器图标旁边添加标签。
相关问题: