今日は Emacs 24.4 の「フレーム・ウインドウ」関連の新機能について NEWS ファイルから読み解いていく(って、そんな大げさじゃないけど)。
ちなみに Emacs の「フレーム」というのが他のアプリケーションで言う「ウインドウ」で、Emacs の「ウインドウ」は他のアプリケーションで言うと「ウインドウ内で分割されたそれぞれのヤツ(?)」みたいなものなので、Emacs 使いじゃない人はその辺を知っておくと良いのかも。あ、でも、使ってないなら知る必要ないか。
新しい「フレームサイズ変更用のコマンド」が2つ追加されている。
toggle-frame-fullscreen
toggle-frame-maximized
M-x toggle-frame-fullscreen
とすると、(OS X 用にコンパイルしているので)OS X のフルスクリーン表示と通常表示が切り替わる。
同じように M-x toggle-frame-maximized
を実行すると、フレームサイズ(しつこいけど、普通のアプリではウインドウサイズ)が最大化する。OS X のアプリケーションウインドウに付いている、緑のボタンと同じ動作。
ちなみにフルスクリーン状態で M-x toggle-frame-maximized
を実行しても何も変わらないように見えるけど、次のようにすると、maximized
が効いているのが分かる。
M-x toggle-frame-fullscreen
でフルスクリーンにするM-x toggle-frame-maximized
を実行。何も変わらないように見えるM-x toggle-frame-fullscreen
を実行。フルスクリーンを解除新しい hook
も2つ紹介されてる。
focus-in-hook
focus-out-hook
それぞれ、Emacs にフォーカスが当たった時と外れた時に呼ばれる hook
みたい。
例えば次のように focus-in-hook
と focus-out-hook
をセットして、Emacs のフレーム(ウインドウ)にフォーカスを当てたり外したりしてみると分かる。OS X なら Command + TAB でアプリケーション切り替えをしてみてもいい。
(add-hook 'focus-in-hook
'(lambda ()
(message "focus in !!")))
(add-hook 'focus-out-hook
'(lambda ()
(message "focus out !!")))
フォーカスが当たると、メッセージバッファに「focus in !!」と表示され、フォーカスを外すと「focus out !!」と表示されるはず。
このサンプルには全く実用性が無いんだけど、、、この hook たちをどういう風に使えばいいんだろ? フォーカスが外れたら、ウインドウの透過率を上げる、とか?