Macに外付けモニタを接続して使っている時、環境設定の画面から、ディスプレイの解像度やモニタの位置、ミラーリングの設定などを変更できます。こうした複数の変更をワンタッチで切り替えられたらいいと思いませんか? displayplacerというコマンドラインツールを使うと、複数のモニタの設定を、ワンタッチで切り替えることができます。
例えば、3つのモニタがあるとして、全てのモニタに同じ画面を映したり、中央と右のモニタだけをミラーリングしたり、左側のモニタだけを1980×1080の解像度に変更したり、また、すべての設定をもとに戻したり、こうした設定の変更をワンタッチで行えます。
Keyboard Maestroなどのアプリケーションや、Elgato StreamDeckなどの外部デバイスを使って、ホットキーを活用してワンタッチで設定を変更したい人におすすめの方法です。
(1) displayplacerコマンドのインストール
brewコマンドを使ってインストールします。Terminalから以下のコマンドを実行します。displayplacerコマンドの使用方法について、詳しくは displayplacer の公開サイトを参照してください。
brew install displayplacer
なお、brewコマンドを使用するためには事前にインストールが必要です。brewコマンドのインストールについては「macOSにHomebrewをインストール – Qiita」などのサイトを参考にしてください。
(2) モニタの設定
Macの環境設定画面から、モニタの解像度・位置・並び替え・ミラーリング設定などをお好みに設定します。ここで設定した内容に切り替わります。
(3) モニタの設定コマンドを出力する
Terminalから以下のコマンドを実行すると、現在接続されているモニタの解像度などがすべて表示されます。
displayplacer list
かなりの行数が表示されるので驚くかもしれませんが、一番最後の部分に、現在のモニタの設定コマンドが表示されます。必要なのはこの部分だけです。
・・・・
・・・・
・・・・
mode 411: res:5120x2880 hz:60 color_depth:8
mode 412: res:6016x3384 hz:60 color_depth:4
mode 413: res:6016x3384 hz:60 color_depth:8
mode 414: res:6400x3600 hz:60 color_depth:4
mode 415: res:6400x3600 hz:60 color_depth:8
mode 416: res:6720x3780 hz:60 color_depth:4
mode 417: res:6720x3780 hz:60 color_depth:8
mode 418: res:7680x4320 hz:60 color_depth:4
mode 419: res:7680x4320 hz:60 color_depth:8
mode 420: res:5760x3240 hz:60 color_depth:4
mode 421: res:5760x3240 hz:60 color_depth:8
Execute the command below to set your screens to the current arrangement:
displayplacer "id:F1A84671-FE99-11A8-9BBF-E42D0623423D res:2560x1440 hz:60 color_depth:4 scaling:on origin:(0,0) degree:0" "id:79D4E8BF-BCD1-3410-B9A9-EC53429D9F63 res:2560x1440 color_depth:4 scaling:on origin:(2560,0) degree:0" "id:B729C6E7-CD6A-F991-E634-9186FC9AC6A1 res:2560x1440 hz:60 color_depth:4 scaling:on origin:(-2560,0) degree:0"
(4) コマンドラインから設定コマンドを実行する
先ほど出力した設定内容をコピペし、Terminalコマンドとして実行すると、モニタの設定が切り替わります。(2)と(3)を繰り返し、切り替えたい設定の数だけコマンドを用意します。
Keyboard Maestroなどのホットキーアプリを使ってコマンドを実行するとワンタッチでモニタの設定を変更できます。
displayplacer "id:F1A84671-FE99-11A8-9BBF-E42D0623423D res:2560x1440 hz:60 color_depth:4 scaling:on origin:(0,0) degree:0" "id:79D4E8BF-BCD1-3410-B9A9-EC53429D9F63 res:2560x1440 color_depth:4 scaling:on origin:(2560,0) degree:0" "id:B729C6E7-CD6A-F991-E634-9186FC9AC6A1 res:2560x1440 hz:60 color_depth:4 scaling:on origin:(-2560,0) degree:0"