ウェブ日記
2009年05月05日(火) firefox 3.5bいじり/evilwmいじり/巷は連休中なのね
firefox 3.5bいじり

firefox 3.5b4でタブで開いたウェブページを全部閉じようとしたら、 空のタブが残る代りに終了してしまって困った。 ネットで情報を探した結果、 Bugzillaで対策を発見。 ロケーションバーに「about:config」と入力、 「browser.tabs.closeWindowWithLastTab」を"false --偽--"にすることで無事解決。

コンフィギュレーションの変更後、 空タブしか無いfirefoxのタブをctrl-wで閉じようとすると、 一瞬別の空タブが現れるのが面白い。

evilwmいじり

この日記はskkinputで書いているが、 仮名漢字変換時漢字の変換候補が出尽くすと、 漢字登録の画面が小さなウィンドウに出て来る。 そのときその新しいウィントウにフォーカスが来て そのままでは日本語入力ができなくなる不具合があったので、 解決法をネットで探した。

すると、私が使っているウィンドウマネージャevilwmと skkinputで、この不具合が発生すること、 そしてその対処法について書かれた ウェブページ を幸運にも発見。 evilwmのソースをちょっとだけ書き換えて --同時にMakefileで"X11R6"を"X11R7"に書き換えておく-- 再コンパイル、インストールして解決。 「を」さん、ありがとう。

私もlinuxユーザなので、ソースを少しだけ読んでみる。 今回追加したのは、 evilwm (ヴァージョン1.0.1)のソースevents.cの以下の "XWMHints..."からの8行。

static void handle_enter_event(XCrossingEvent *e) {
        Client *c;

        if ((c = find_client(e->window))) {

                XWMHints *hints = XGetWMHints(dpy, c->window);

                if ( (hints->flags&InputHint) && (hints->input==False) ) {
                        XFree(hints);
                        return;
                }

                XFree(hints);

#ifdef VWM
                if (c->vdesk != c->screen->vdesk)
                        return;
#endif
                select_client(c);
                current_to_head();
        }
}

これによると、関数handle_enter_event--これが例えばskkinputが漢字登録用ウィンドウを出すときに使われるのだろう--が呼び出されると、 関数XFreeが1回または2回呼び出されることになる。 と言うことは、 関数XFreeは古いウィンドウと新しいウィンドウにフォーカスを交互に移す--トグルする--関数なのかな?

evilwmを一度更新したのがきっかけで、 「びっくりぽん123」氏のウェブページ を参考にしながら、 evilwmでウィンドウを中央に寄せるショートカットキー--ここではctrl + alt + o-- を追加。 更新するファイルはevents.c、keymap.hとscreen.c。 ウィンドウをディスプレイの四隅に移動させるプログラムを参考にして更新できると思う。

今日のevilwmのソースの改変で、 「オープンソース」の有難さとそれから得られる喜びを痛感。

巷は連休中なのね

日本の祝日が無縁になって --つまり日本でいわゆる正規労働者を辞めて--5年目になる。 私は祝日はイースター、グッドフライデーとクリスマスがあれば 基本的にOK --これに建国記念日とか独立記念日とか国軍創設日があれば十分過ぎる-- なので、 ちょっとこのいわゆる「ゴールデンウィーク」には戸惑っている。

この連休中長崎市街は観光客らしき人達 --地元の人達が「東京弁」を喋ったり、地図を持っていたり トーツ の折り畳み傘を持つとは思えない-- でなかなか賑やかだ。 路面電車は混んで、県美術館のカフェで休憩しようかと思ったらこちらも混んでいて、 却ってスターバックスがまだ空いている。


ハッピーパイパー
前の日記次の日記目次 古い日記(2000年9月〜2006年12月)の目次メールホーム