Linux Opera Starting Check in ps command

せっかく Y901x を Mandriva KDE に対応させたのだから SeeMe もやりたい。
問題は Python の wnck モジュールだ、KDE 版にはデフォルトで入っていない。

seeme102_kde

動画プレイヤーならともかくコイツはモジュールを入れてくれにしたくない。

基本的に私は得に何もインストールさせないで使えるものを作るのがポリシー。
Windows で .NET は IronPython しかやらなくなったのはそのポリシーから。
だって 7 や Vista なら .NET 自体は最初からあるし SDK もコンパイラも必要無い。

ということで wnck を使わずに Opera が起動しているかどうか判別する方法は…

まてよ、Linux は Windows とは違ってコマンドライン OS に GUI が被さっているだけだ。
Window を探して名前を調べなくてもコマンドからチェックできるんじゃないの?
探せば他も見つかるだろうけど単純に ps コマンドの出力から調べられるかも。

#!/usr/bin/env python
#-*- coding:utf-8 -*-

"""
    opera_init_check.py
    Find in "ps ax" command output
"""

import commands

r = commands.getoutput("ps ax")
if "/usr/lib/opera/opera" in r:
    print "starting Opera"
else:
    print "not starting Opera"

こんな手抜きバリバリなコードでアッサリ判別できてしまった。
Linux は多分この位置にしか Opera 本体が入らないだろうからイケそうだ。
Windows 的な考え方がまだ抜けていないみたいだな私は。

この判別方法に書き換えて VirtualBox 上の KDE 版で動かしてみよう。

seeme103_kde

問題なく起動できるようになった、Opera の起動判別もバッチリ。

ということでバグ修正を含めて SeeMe for Linux 1.0.3 公開。
ただダウンロード数が強烈に寂しいんだがコイツ…