多重起動防止でまだ詰まっております。
C 言語での方法はボチボチ見つかるけど Python に書き換えると上手くいかない。
色々調べると wnck なんていうモジュールがあることが解った。
#!/usr/bin/env python #-*- coding:utf-8 -*- import wnck # デスクトップ取得 w = wnck.screen_get_default() # ディスプレイサイズ print "ディスプレイ幅",w.get_width() print "ディスプレイ高さ",w.get_height()
なんてコトができるというのが解った。
が PyGtk のヘルプにも Python のヘルプにも wnck の項目が見つからない…
Gnome のヘルプ内で Libwnck というのがやっと見つかった。
Opera のページ内検索は便利だね、ドットを押すだけだし。
いや、肝心の検索バーが Linux 版はたまに入力不能になるので…まあこれはいい。
後は man と dir(wnck) と USA Google を使って地味に調べてみた。
ほーこんなことができるんだ。
ということは
#!/usr/bin/env python #-*- coding:utf-8 -*- import gtk import wnck screen = wnck.screen_get_default() while gtk.events_pending(): gtk.main_iteration() for window in screen.get_windows(): name = window.get_name() if name.endswith("Y901x"): print "起動しています" break
なんてコードで現在 Y901x が起動しているかどうかは確認できるわけだ。
同じ名前が存在していたら困るけどまず無いだろう。
とはいえいつのまにか全然違うコードになるかもしれないんだけど…
とにかく後はウインドウに URI を渡す処理だけだ、もう少し。