毎日を気持ちよく生きるためのソフト

自分が Mac を使って研究する上で欠かせないソフトをいくつか紹介します。

一日のうち、Mac を触っている時間は数時間から多いときで 20 時間くらいです。仕事のほとんどは Mac で行い、LinuxWindows を使うにしても、Mac から SSH で入るか VMware で走らせるかのどちらかです。メイン機は MacBook Pro 15" であり、こいつを如何に使いやすくするかで作業効率が変わります*1

自分が Mac を使う上で重要な点がいくつかあります。

  • できる限り keyboard での操作で済むこと。そのため、mouse と keyboard の間を手が行き来する iMacMac Pro はあり得ません。MacBook Pro 一択です。
  • Keyboard 上での指の移動が最小限で済むこと。そのため、矢印 key の使用はあり得ません。
  • Track Pad の移動距離がなるべく短くて済むこと。
  • そして当然、研究する上で便利であること。

これらを満たすために、いくつかの freeware と shareware を入れています。そのうち、一度慣れてしまうともう元には戻れない、依存状態になっているものを紹介します。

KeyRemap4MacBook

KeyRemap4MacBook を入れると、様々な keyboard shortcut を、強制的に他の key が押されたかのように変更してくれます。そもそもは、Emacs の key binding で全てを行いたいという欲求から来ています。Emacs や shell に慣れてしまうと、Control-P、Control-N、Control-B、Control-F が、常に上下左右の矢印 key と同じ振る舞いをしてくれないと気が済みません。

KeyRemap4MacBook を入れると、例えば次のような作業が Emacs 風にこなせるようになります。

  • Safari で、Control-P/N を使って上下 scroll を行う。
  • Mail で、Control-P/N を使って message 選択や、Control-F/B で thread を開いたり閉じたり、Control-H で message を削除する
  • Finder で、Contorol-P/N/B/F を使って column 表示で directory の移動をする。
  • 全てのアプリで、menu の選択を Control-P/N/B/F で行う。

MondoMouse


MondoMouse の主要機能は、以下の 2 つです。

  • Window の好きな場所を掴んで、移動できるようにする。
  • Window の好きな場所を掴んで、resize できるようにする。

標準状態の Mac では、Window の移動は titile bar (またはその周辺、場合によっては下端) を掴まないと行えませんし、resize するには各 window の右下に存在する resize box を掴まないと大きさを変更できません。近年の display の大型化に伴い、この UI は破綻しています。どうしても cursor の移動が大きくなってしまうからです。

そこで、MondoMouse を入れると、これら 2 つのイライラを解消できます。Mouse (もしくは track pad) と keyboard の合わせ技なので、嫌いな人は嫌いかもしれませんが。自分の場合、以下の組み合わせを採用しています。

  • Command + Control + cursor 移動で、window の好きな場所を掴んで移動を可能にする。
  • Command + Shift + cursor 移動で、windows の好きな場所を掴んで resize を可能にする。

画面のほんの一部しか占めない、title bar や resize box に頑張って cursor を持っていく必要がなくなります。

以下、MondoMouse の homepage より拝借。

WindowShade X


WindowShade X は、OS 9 まで存在していた window shade という機能を復活させるものです。邪魔な window を、title bar だけに折り畳み、画面を広く使おうというものです。OS X では、dock の採用によってこの機能はなくなってしまいました。

この機能だけならそこまで便利じゃないのですが、Window Shade X には window の半透明化という機能もついてくるため、OS 9 の頃よりも圧倒的に便利になっています。便利に感じるのは、以下の 2 点です。

  • Mail や 書類の作成中に、その window の背面にある書類など (PDF や Safari やら) を「透かし読み」できる。いちいち複数の window を並べ替えないで良い。
  • 複数の graph や histogram を半透明にして重ねて、比較できる。

前者は誰にでも便利な機能です。後者は、我々研究者には不可欠と言えるでしょう*2

論文を読んでいると、そこには様々な graph や histogram が載っています。これらは眺めて終わりではなく、自分の計算や結果と比較してみたくなることが多々あります。そのような場合、定量的に真面目にやると以下の手順を取るでしょうが、パパッと定性的にやりたいときには不便です。

  1. 図から data 点を読み取る
  2. 読み取った値で graph や histogram を作る
  3. 自分の計算結果と重ねて表示する

そこで、私の場合は WindowShadeX で論文を半透明化し、ROOT で作った図と重ねて比較する、という方法を取ります。↓これは、背景に ROOT で作った graph、前面に PDF の論文*3を半透明にしたものの例です。ROOT の場合、縦横軸の範囲の微調整を drag や window resize で簡単に変更できますので、論文側の表示範囲を気にする必要はほとんどありません。

*1:作業効率が上がったからといって、他の人より研究が進んでいるかと言えばそうではない。

*2:といっても、回りで使っている人はほとんどいません。

*3:Kamae et al. (2006) ApJ より引用。