45
小さい画面に合わせてアプリケーションを拡大縮小する

12 インチの PowerBook G4 や、何らかの改造された PC ネットブックなど、小さな画面の Mac で OS X を使用する場合、最大の課題の 1 つは、OS X が実際には小さな画面用に設計されていないことです。

一部のアプリケーションは、画面解像度のチェックによりインストールすらできない場合があります。今日のヒントは、こうした制限には対応していませんが、ウィンドウやダイアログが画面からはみ出して使い物にならないプログラムには役立ちます。こうしたプログラムはどうすれば使えるようになるのでしょうか?それは、100%よりも小さいサイズで表示するように強制することで、画面からはみ出てしまう部分が見えるようにすることです。

このヒントの秘密は、あまり知られていないスケーリング係数(AppleDisplayScaleFactor変数で制御)にあります。このスケーリング係数は、起動するすべてのプログラムに適用することも、個々のプログラムに個別に適用することもできます。デフォルトではスケーリング係数は100%で、すべてのプログラムのウィンドウが通常のサイズで表示されます。ただし、このデフォルトは簡単に任意のサイズに変更できます。

例として、私の 12 インチ PowerBook G4 にロードされた Slashdot の次のスクリーンショットを考えてみましょう。

12インチPowerBook G4のウェブサイト(左)は縮小版、右は拡大版です。クリックすると拡大表示されます。

左はSafariで表示したSlashdotサイト(変更なし)です。すべてを見るには、ブラウザウィンドウを画面いっぱいに拡大する必要があります。それでも、記事を2つほどしか読めません。右は同じサイトですが、Safariの拡大率を78%に設定した後です。記事を3つ読めるようになり、デスクトップのかなりの部分も表示されています。テキストは依然として読みやすく、ブラウジング中にデスクトップ(または他のプログラムウィンドウ)の一部を表示できるのが気に入っています。

このトリックは画面の小さいMacに限らず、OS X 10.4以降を搭載したMacであればどこでも使えます。画面を占領しすぎていると感じるプログラムを見つけたら、このヒントを使ってサイズを縮小してみてください。あるいは、スケールファクターを上げてアプリを大きくすることもできます(フォントが極端に小さく、調整できないプログラムに効果的です)。

グローバルスケーリング

スケーリング係数を使用する最初の方法は、グローバル設定です。この方法を使用すると、コマンド実行後に起動するすべてのプログラムにスケーリングが適用されます。このグローバル設定のヒントを使用する場合は、再起動前に必ず設定を元に戻してください(後述)。スケーリング係数を100%以外の値に設定すると、起動時に問題が発生する可能性があります。

システム全体のスケーリング係数を変更するには、ターミナル (アプリケーション -> ユーティリティ) を開き、次のコマンドを入力します。defaults write NSGlobalDomain AppleDisplayScaleFactor .78

このコマンドを実行すると(少なくとも10.5では即座に反映されます)、起動するすべてのアプリケーションが通常のサイズの78%で表示されます。なぜ78%なのでしょうか?私のテストでは、このサイズであれば読みやすく、扱いにくいプログラムのウィンドウも画面に収まるようです。ぜひ色々なサイズを試してみて、自分に合ったサイズを見つけてください。

このグローバルメソッドを使用する場合は、再起動前にスケール係数をリセットする必要があります。ターミナルで次のコマンドを実行して、スケール係数をリセットしてください。defaults write NSGlobalDomain AppleDisplayScaleFactor 1

これはスケール係数を100%にリセットするだけなので、再起動中および再起動後にすべてが適切なサイズになります。画面の小さいMacでグローバルスケーリングを簡単にするために、2つのシンプルなAutomatorアプリケーション(「シェルスクリプトを実行」アクションを使用し、上記のコマンドの各バージョンを実行)を作成し、Sparkを使用してこれらのアプリケーションをキーボードに割り当てました(Control-1で100%、Control-2で78%)。

現在のスケール設定を思い出すために、GeekToolをインストールしました。GeekToolには、Unixコマンドの出力を他のウィンドウより手前に表示する機能など、様々な機能があります。GeekToolで次のコマンドの出力を表示するように設定しました。defaults read NSGlobalDomain AppleDisplayScaleFactor

このコマンドの出力はAppleDisplayScaleFactor、最後に使用したコマンドに応じて、.78 または 1.0 (変数の現在の値) のいずれかになります。

画像
スケール係数を視覚的に思い出させる

次に、GeekToolウィンドウをメニューバーの上に配置しました。これにより、現在の設定を視覚的に簡単に確認できるようになりました(右のスクリーンショットを参照)。これにより、スケール係数が100%以外の値に設定されたまま再起動してしまう可能性が減ります。

アプリケーションごとのスケーリング

スケーリング係数を使用するもう一つの方法は、アプリケーションのみに適用することです。例えば、12インチPowerBook G4のiTunesでiTunes Storeを閲覧している場合、ウィンドウが画面全体を占めているにもかかわらず、水平スクロールバーが表示されます。iTunesのみにスケーリング係数を適用すると、ウィンドウが強制的に縮小され、スクロールせずにストア全体を表示できるようになります。

単一のプログラムにスケール係数を適用するには、そのプログラムの設定ファイルの名前を見つける必要があります。設定ファイルはユーザーの「ライブラリ」→「Preferences」フォルダにあり、ほとんどの場合は比較的簡単に見つかります。ディレクトリリストに表示される長い名前の中にプログラム名が含まれているか確認するだけです。一般的なルールとして、設定ファイルの命名規則は「com.company_name.app_name.plist」です。ただし、「Preferences」フォルダを閲覧するとわかるように、このルールには多くの例外があります。

奇妙な名前のファイルを見つける方法の一つは、フォルダをリスト表示に設定し、更新日順に並べ替えてから、特定のプログラムの設定を変更することです。理論的には、設定ファイルはディレクトリリストの一番上に移動するはずです。

簡単な例を使ってみましょう。例えば、iTunesは設定をcom.apple.iTunes.plistというファイルに保存します。iTunesにスケール係数を適用するには、プログラムが実行中の場合は終了し、ターミナルで次のコマンドを実行します。defaults write com.apple.iTunes AppleDisplayScaleFactor .78

コマンドでは、ファイル名の「.plist」部分を省略することに注意してください。繰り返しになりますが、スケール係数は自由に設定できます。また、1より大きい値を指定すると、プログラムのサイズを大きくすることができます。グローバルコマンドとは異なり、アプリケーション固有の設定を再起動前にリセットする必要はありません。リセットしたい場合は、上記のコマンドを繰り返し、.78を に変更してください1

画面の小さいMacを使っている場合や、特定のアプリのサイズ設定に時々イライラする場合でも、スケールファクターの変更は覚えておくと便利なツールです。完璧というわけではありません。メニューバーを含め、すべてのサイズが変わるため、アプリを切り替える際に視覚的に少し違和感があります。しかし、それ以外は特に問題はなく、このトリックを数年前から使っています。