[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: popup frames
- From: Katsumi Yamaoka <yamaoka@xxxxxxx>
- Date: Mon, 27 Jun 2005 16:59:30 +0900
- X-ml-name: emacs-w3m
- X-mail-count: 08212
- References: <b9yzmthh0bk.fsf@jpl.org>
>>>>> In [emacs-w3m : No.08200] 山岡 wrote:
> 画面が混雑して emacs-w3m のフレームがどこかに隠れてしまっている
> 場合でも、M-x w3m でそれを表に浮上させることができるのが便利です。
> みなさんのところでは、そういうふうに動作していますか?
> Fedora Core 4 の環境に変えてみて、ぼくはそれができなくなっている
> ことに気がつきました。どうも raise-frame という関数は、環境によっ
> ては動作しないものらしいです。
> そこで、
前回は変なコードを投稿しましたが、もっとましな方法を見つけました。
http://sweb.cz/tripie/utils/wmctrl/
ここから持ってきた wmctrl をインストールして、raise-frame を以下
のように advise したところ、emacs-w3m だけでなく、たいていのアプ
リケーションで Emacs の frame を前面に持ってくることができるよう
になりました。
(defadvice raise-frame (after make-it-work (&optional frame) activate)
"Make it work."
(call-process
"wmctrl" nil nil nil "-i" "-R"
(frame-parameter (or frame (selected-frame))'outer-window-id)))
普通の raise-frame は入力フォーカスまでは面倒を見てくれない場合
がありますが、これはそれをします。つまり、ぼくが今後 raise-frame
を使うコードを書くと、環境によっては動作しないものができるかもし
れません [残念!]。
;; 本来こんなことは必要無いはずなんですけれどねえ。Fedora Core 4
;; で苦戦しているのはこれだけではないのですが、どうしても Emacs
;; の raise-frame が使えなかったら捨ててしまおうと思っていたとこ
;; ろでした。そのうち落ち着いたら tips に追加します。