Linuxでシステムトレイにアイコン表示(gtk/app-indicator/python)
前回、Linuxでシステムトレイにアイコン表示してみたのですがC++の割に22~44MBとメモリ消費が多かったので、
今回はpythonだとどうなのかと実験してみました。
実装
前回とほぼ同じ内容をpythonで実装してみました。
import gi
gi.require_version('Gtk', '3.0')
gi.require_version('AppIndicator3', '0.1')
from gi.repository import Gtk as gtk
from gi.repository import AppIndicator3 as appindicator
def main():
indicator = appindicator.Indicator.new(
'test',
'virtualbox',
appindicator.IndicatorCategory.APPLICATION_STATUS)
indicator.set_status(appindicator.IndicatorStatus.ACTIVE)
menu = gtk.Menu()
item_quit = gtk.MenuItem(label='Exit')
item_quit.connect('activate', exit)
menu.append(item_quit)
menu.show_all()
indicator.set_menu(menu)
gtk.main()
def exit(_):
gtk.main_quit()
if __name__ == "__main__":
main()
結果
見た目は同じなので省略します。
メモリ
Lubuntu-LXQtでは…
$ ps -eo uid,pid,rss,vsz,args | grep example
1000 183446 35068 353640 python3 example.py
...
$
Neon-KDEでは…
$ ps -eo uid,pid,rss,vsz,args | grep example
1000 43989 58896 376004 python3 example.py
...
$
35~59MB消費という結果でした。
まとめ
C++よりは13~15MB程度消費するようです。メンテナンス性はpythonが格段に上でメモリ消費も大して違わないのですが、常駐プロセスであることを考えるとこれだけで決めるのは難しい気がします。
次回はqtに挑戦してみます。
ディスカッション
コメント一覧
まだ、コメントがありません