2010年2月6日

emacsでシンプルな物書き環境

誘惑を断ち切って文章を書くのに集中したい!という人は多いようで、専用のアプリケーションが開発され、けっこう話題になった。
それが、Writeroom
(フリーのWindows版クローンがDark Room
最近ではそれに音楽と集中できる(と思える)背景をセットにしたアプリケーションも開発されている。
MOONGIFTさんで紹介されているのが、Windows用のCreaWriterとOSX用のOmmWriterレビュー)だ。

でも、文章を書くときには、普段使っているエディタがいいというのも人情。
キーバインドは違うし、いろいろ便利なモードはあるし。。。
ぽっと出のエディタと使い込んだエディタは快適さが違うのですよ。
(文章書くのに集中するんなら、あんま関係ないかもしれないけどね)

つまりは、emacsでWriteroomは実現できないのか、と思い続けてきた。
emacs+Writeroomで検索すると、いろんなサイトがヒットするが、ほとんどはフルスクリーンにしてメニューバーなどをなくすというものだ。


違う。。。


フルスクリーンにしただけだと、画面が左に寄ってしまって、右側は使えない。
今の横長全盛のディスプレイだと、ずっと画面の左を見て作業しなければらなくなる。
僕がやりたいのは、ディスプレイにまっすぐ向かって作業することだ。

つまりは、入力中のテキスト全体が中央に集められて、左右に均等幅のスペース(マージン)があるというのが理想だ。
そもそも、入力中の画面(フレーム)の左右に適当なマージンを設定するという方法がよく分からなかった。

でも、ようやく回答をみつけた。
なんのことはない、emacs用にdarkroom-modeが公開されていた。
これはWindows用だが、Windows依存部分はフルスクリーンにする部分だけだそうなので、あまり深く考えずにダウンロードして使ってみた。

darkroom-modeの10行目を
;(require 'w32-fullscreen)
として、コメントアウトすることを忘れずに。
そして、M-x darkroom-mode で起動。
ついでに、Carbon Emacsのフルスクリーンモードに移行。

できた!



あとは、設定をまとめて、何かのキーに設定すればいいかも。

追記:
darkroom-modeは自分で画面をフルスクリーンに移行する機能を持っていました。
なので、こんな感じで設定すれば、Ctrl-c dでdarkroom-modeに移行できます。
(require 'darkroom-mode)
(global-set-key "\C-cd" 'darkroom-mode)

その際、フルスクリーン関係でwindows依存部分が残っていたので、これをCarbon Emacsで利用できるように変更します。
130行目
;; (w32-fullscreen-on)
(set-frame-parameter nil 'fullscreen 'fullboth)

175行目
;; (w32-fullscreen-off)
(set-frame-parameter nil 'fullscreen nil)

1 件のコメント:

モール さんのコメント...

darkroom-modeを公開しているサイトで、パッチが採用されました。
ちょっとは貢献できたかな。