Numlock/capslockやbrigthnessなどのために、いくつかの簡単なインジケーターを開発しようとしています。Pythonでインジケーターを作成するにはどうすればよいですか?最初のappindicatorを書く手順を説明するチュートリアルはありますか?すぐにテンプレートを作成するような簡単なソリューションはありますか?
アプリインジケーターを作成するページは、次の場所にあります。
こちらもご覧ください:
このページには、Pythonの例へのリンクとAPIドキュメントがあります。 Quicklyのubuntu-applicationテンプレートには、appindicatorの使用例が必要です。幸運を!
Python、GIR、GTK3を使用したインジケーターの作成 は、@ fossfreedomで述べたように、Unityのインジケーターの作成方法をカバーしていると思います。 (その1日目を読む)
Ubuntu 14.04、Quickly 12.08.1を使用しています。これは、Quicklyテンプレートからビルドする完全な実例のデモです。
OPは単なるインジケーター(完全なGUIアプリではない)を必要としているため、ubuntu-cli Quicklyテンプレートから始めましょう:
quickly create ubuntu-cli indicator-demo
このテンプレートでは、未リリースのバグ修正( bug#106411 )のエラーメッセージが表示される場合があります。
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:
buntu Wiki:Application Indicators のニースPYGIの例があります。簡単に統合できるはずです。
編集用に開く:
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
また、データフォルダーに以前に追加されたアイコンがパッケージに含まれていました。
以前、同様のケースに直面しました nityパネルにキーボード修飾子状態アプレットを追加する方法? 。答えには、libappindicatorを使用したexample/prototypeキーボードインジケーターが含まれます(ただし、cプログラミング言語では)。
libappindicatorには、他のデスクトップインジケーターを簡単に移植できる重要な機能がありません。アイコンはパスからのみロードできます。 バグ#812067必要なAPIを参照:pixbufアイコン設定のサポート
参照:
Libappindicatorの完全なAPIリファレンスは、libappindicator-doc
パッケージでHTMLとして入手できます。 /usr/share/gtk-doc/html/libappindicator/
を見てください
インジケーターアイコンの横にラベルを追加することをサポートしていることに注意してください。
関連する質問: