Ubuntu マシンを AMD 880G と Phenom II X4 955 に変更して一週間。
何もかも早くなったのは当然として終了に 10 秒掛からないのは衝撃である。
しかし Y901x が更に落ちやすくなった…
CPU が 4 コアになったからとしか思えない…
gtk.gdk.threads_init()
を呼ぶと落ちなくなるようだ、もう少し様子見。
マルチスレッドで動いている GStreamer をシングルスレッドで動かしていたから???
だけどコレを呼ぶと dbus による uri 転送でフリーズするんだなコレが。
これは uri 転送方法を変更するか、いっそ多重起動を許すか…
多重起動を許すのは簡単だ、多重起動防止処理を取っ払うだけだもの。
何か参考は無いかと /usr/bin を漁る。
少し違うけど gwibber のコードがおもしろい。
# Don't run again if we are already running progname = "gwibber" screen = wnck.screen_get_default() while gtk.events_pending(): gtk.main_iteration() for w in screen.get_windows(): if w.get_application().get_name() == progname: w.activate(int(time.time())) w.move_to_workspace(screen.get_active_workspace()) quit()
そうか、今のワークスペースに移動って処理もあったほうがいいな。
ウインドウが移動するのではなくタスクバーに現れるのね、なるほど。
gwibber も Python 製だったのか。
インデントが滅茶苦茶だ、これでデフォルトアプリかよ…
ついでに、wnck を使うと WARNING が出るんだが…
get_application().get_name() と get_name() で違うんだね。
get_name() だけだとタイトルバー文字列になるんだけど。
#!/usr/bin/env python #-*- coding:utf-8 -*- import gtk import wnck screen = wnck.screen_get_default() while gtk.events_pending(): gtk.main_iteration() for w in screen.get_windows(): print w.get_application().get_name() print w.get_name()
さて Y901x はどうしよう、今日はもう寝るけど。