MacBookで、画面を広くしてとにかくたくさんの情報を表示させたい主義の人向け。
アップルメニューの「システム環境設定>ディスプレイ>サイズ調整」から画面をどのくらいのサイズで表示するかを選べるが、
最高を選んでも擬似解像度が 1680x1050 などとなっている。
フォント表示が綺麗でいいんだけどノートPCの画面領域は限られてるので、もっと高密度にして画面を広く使いたい。
そんなことを思っていたら解答を見つけた:
macbook pro - Changing display resolution on Retina machines while in Command Line Mode - Ask Different
以下のソースを “setgetscreenres.m” というファイル名で保存:
して、コンパイル:
$ c++ setgetscreenres.m -framework ApplicationServices -o setgetscreenres setgetscreenres.m:35:16: warning: 'CGDisplayBestModeForParameters' is deprecated: first deprecated in macOS 10.6 - No longer supported [-Wdeprecated-declarations] switchMode = CGDisplayBestModeForParameters(mainDisplay, 32, h, v, NULL); ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGDirectDisplay.h:474:38: note: 'CGDisplayBestModeForParameters' has been explicitly marked deprecated here CG_EXTERN CFDictionaryRef __nullable CGDisplayBestModeForParameters( ^ setgetscreenres.m:49:5: warning: 'CGConfigureDisplayMode' is deprecated: first deprecated in macOS 10.6 - No longer supported [-Wdeprecated-declarations] CGConfigureDisplayMode(config, display, mode); ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGDisplayConfiguration.h:408:19: note: 'CGConfigureDisplayMode' has been explicitly marked deprecated here CG_EXTERN CGError CGConfigureDisplayMode(CGDisplayConfigRef __nullable config, ^ 2 warnings generated.
|
APIがdeprecatedになってしまったようでワーニングは出るが、一応成功する。
生成される実行ファイルに望みの解像度を渡すと、サポートする近い解像度に変更できる:
$ setgetscreenres 2560 1600
|
起動時に自動的に設定されるようにする
OSを再起動するたびに手動で指定するのは面倒なので、自動的に実行させたい。
その場合の手順:
- Automator で実行コマンドを作成する
- 「アプリケーション>Automator」を起動
- 書類の種類に「アプリケーション」を選択する
- 「シェルスクリプトを実行」をダブルクリック
置いたパス/setgetscreenres [X解像度] [Y解像度]
と記述して任意の名前で保存する
- 「システム環境設定>ユーザとグループ」で自分のユーザの「ログイン項目」に追加する
以上で起動後に自動的に望みの解像度に変更される。