多重起動防止でまだ詰まっております。
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 を渡す処理だけだ、もう少し。