マウスクリックをエミュレートする

自分で作ったアプリケーションからマウスクリックをコントロールする方法を探した。
まず、mouseemuのソースを見た。そこではマウスイベントを直接デバイスファイルへ流し込んでいた。デバイスファイルはそれらしきものを適当に試してみて、成功した物を選択していた。次にxorgのソースも見た。mousekeysの部分が参考になるはずだ。でも、だいたいmouseemuのソースと一緒だった。また、どうやってXの設定ファイルで設定されているデバイスファイルを取得するのかはわからなかった。

GDMのセッションにWindowmanagerを追加する

Fedora CoreでGDMのセッションメニューに新しくWindowmanagerを追加する場合は/usr/share/sessions/に○○.desktopというファイルを置いておけば良い。例えばPyWMをメニューに追加する場合はこんな感じになる

[Desktop Entry]
Encoding=UTF-8
Name=PyWM
Comment=small, simple python-programmable X window manager
Exec=python /home/sombody/.pywm/your_script.py
Terminal=False

[Window Manager]
SessionManaged=true

できればユーザが作った.desktopファイルを使える方法があるといいんだけど

Fedora Core 5 の Xenを試してみた

http://fedoraproject.org/wiki/FedoraXenQuickstartFC5を見れば、簡単にXenを使って仮想OSをインストールできる。でもGuest OSとしてFedora Core 5しかインストールできなかった。そのうち、DebianとかWindowsとかやりたいなぁ

PyWMうごいた

フォーラムにe-mailしてPyWMを直してもらった。マルチバイトの問題だったみたい。ともかく、PyWMはすごくいいWindow Manager。速いし、カスタマイズ性もすごい。Pythonが書けるなら、Windowのコントロールをなんでもできる。もうひとつの良さとして、ドキュメントが親切。作者のページ(http://www.freenet.org.nz/python/)でも、"Good Documentation"をポリシーとして書いてある。とにかく、PyWMを試して http://pywm.sourceforge.net/

GNOMEとKDEの遅さを知れ

最近、GNOMEとかKDEがどれだけ遅いのかを多くの人々が認識していないことを知った。その遅さを次のステップでしらしめよう。ここではFedora Coreを使っているとする。

1. Runlevel 3で起動する。そうするためにgrubで、'e'を押すとカーネルパラメータを編集できるので、最後に3を追加する。こんな感じ:
> kernel /vmlinuz-2.6.16-1.2080_FC5smp ro root=/dev/LVM/fedora quiet 3
編集した設定で起動する場合は'b'を押す。

2. .xinitrcがない場合はプロンプトで次のコマンドを打つ。すでにある場合はバックアップを作っておこう。
> echo xterm > .xinitrc

3. Xを起動する。
> startx
Xが起動するとフレームのないxtermが現れる。これが最速でxtermを使う方法だ。

4. xterm上でもうひとつ軽めのアプリケーションを起動してみよう。PCにそれなりのスペックがあれば、フレームがなくても通常の場合とほとんど時間は変わらないだろう。にもかかわらず、フレームがないとかなり不便に思うはず。WindowManagerが有用なのは間違いない。

5. xtermをexitすると同時にXも終了する。

6. fluxboxがなければインストールして、fluxboxを起動する。
> su -c "yum install fluxbox"
> echo exec fluxbox > .xinitrc
> startx
起動後、デスクトップを右クリックすれば、メニューが出るので、そのリストからアプリケーションを起動できる。多くの人にとってはそれで十分でしょ?しかもこっちの方がGNOMEKDEよりずっと速いはず。あと、fluxboxはただインストールが簡単だったから選んだだけで、fluxboxよりも速いWindowManagerはいくらでもある。