Saya pikir Menulis indikator dengan Python, GIR dan GTK3 , sebagaimana disebutkan oleh @fossfreedom, mencakup cara membuat indikator untuk Unity. (Baca 1 itu)
Saya menggunakan Ubuntu 14.04, Cepat 12.08.1. Ini adalah demo untuk build contoh bangunan yang lengkap dari templat Quickly.
OP hanya menginginkan indikator (tidak menyelesaikan aplikasi GUI) jadi mari kita mulai dengan ubuntu-cli Templat cepat:
quickly create ubuntu-cli indicator-demo
Ini dapat memunculkan pesan kesalahan untuk perbaikan bug yang belum dirilis ( bug # 1064110 ) dalam templat ini:
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
Perbaiki izin
cd indicator-demo/
chmod +x bin/indicator-demo
Uji
$ quickly run
I'm launched and my args are:
Ada contoh PYGI yang bagus dari Ubuntu Wiki: Indikator Aplikasi . Seharusnya mudah untuk mengintegrasikannya.
Buka untuk diedit:
quickly edit
Ubah __init__.py
, tambahkan impor modul kebutuhan:
from gi.repository import Gtk
from gi.repository import AppIndicator3 as appindicator
Dalam main()
fungsinya, antara:
print _("I'm launched and my args are: %s") % (" ".join(args))
logging.debug(_('end of prog'))
menambahkan:
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()
Tambahkan ikon ke folder data yang baru dibuat:
mkdir data
Saya menyalin beberapa ikon dari paket yang diinstal, hanya untuk membuat contoh:
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
Menguji:
quickly run
Buat paket dan publikasikan:
quickly package
quickly share --ppa your-ppa
Catatan:
Yah, saya tidak memperbarui file kontrol paket debian, tetapi dependensi telah ditambahkan secara otomatis ke DEB yang dihasilkan:
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
Juga, ikon yang sebelumnya ditambahkan di folder data dimasukkan dalam paket.
Saya menghadapi kasus serupa sebelumnya, Bagaimana cara menambahkan applet state modifier keyboard ke panel Unity? . Jawabannya berisi contoh / prototipe indikator keyboard menggunakan libappindicator (Tapi dalam bahasa pemrograman c).
libappindicator tidak memiliki fitur penting yang memudahkan porta indikator desktop lainnya. Ikon hanya dapat dimuat dari jalur. Lihat Bug # 812067 API diperlukan: dukungan pengaturan ikon pixbuf
Referensi:
Referensi API lengkap untuk libappindicator tersedia sebagai HTML dalam libappindicator-doc
paket. Lihat kedalam/usr/share/gtk-doc/html/libappindicator/
Perhatikan bahwa ini mendukung penambahan label di sebelah ikon indikator.
- Wiki Ubuntu: Indikator Aplikasi
- Wiki Ubuntu: Cepat
Pertanyaan-pertanyaan Terkait: