MacのTrue ToneのオンオフをTouch Barから切り替えるショートカットの作り方

# 概要
MacのTrue Tone、普段はオンでもいい感じだけどデザイン確認作業時はオフにしたい。
気軽にオンオフできるようにしたかったので、Touch Barからショートカットでいつでも切り替えられるようにしました。
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">わーい Touch Bar からTrue Toneが切り替えられるようになったよー ٩( ᐛ )و <a href="https://t.co/FWmXkChQT4">pic.twitter.com/FWmXkChQT4</a></p>&mdash; いとうかずき (@kz_technote) <a href="https://twitter.com/kz_technote/status/1171092670225076225?ref_src=twsrc%5Etfw">September 9, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
残念ながら一瞬で切り替える、ということは macOS Mojaveではできなさそうだったので、自動でシステム画面までアクセスし、切り替えるようにしています。

# やること
1. Automatorでクイックアクションを作る
2. 作ったクイックアクションをTouch Barに登録する

## 1. Automatorでクイックアクションを作る
### 1-1. Automatorを開く
`アプリケーション` > `Automator.app` を選んで、Automatorを開きます。
Automatorとは、Macで色んなことを自動化できる便利アプリです。
![ToggleTrueTone_1_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/53fe75bb-c1bd-8386-8a35-be594fcf6a75.png)

### 1-2. クイックアクション を選択
今回は任意のタイミングで実行できるアクションを作りたいので、 `クイックアクション` を選びます。
![ToggleTrueTone_1_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/c910138a-4061-6201-6575-510c6f50866f.png)

### 1-3. AppleScriptを実行 をドラッグ&ドロップする
左側のメニューから実行したいアクションを選び、右のパネルにドラッグ&ドロップします。
今回はAppleScriptを実行したいため、 `ライブラリ` > `ユーティリティ` を選び、 `AppleScriptを実行` をドラッグ&ドロップで持ってきます。
![ToggleTrueTone_1_3.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/912080f4-0bd6-6e3a-7ee3-3b674b497e92.gif)

### 1-4. AppleScriptを入力
AppleScriptを実行パネルの中に、以下のスクリプトを記述します。

```applescript
-- 設定を開いてTrue Toneを自動でToggleするスクリプト
on run {input, parameters}
	tell application "System Preferences"
		activate
		set current pane to pane "com.apple.preference.displays"
	end tell

	delay 0.5

	tell application "System Events"
		tell process "System Preferences"
			tell tab group 1 of window 1
				click first checkbox
			end tell
		end tell
	end tell

	delay 0.5

	tell application "System Preferences"
		quit
	end tell

	return input
end run
```

貼り付けると、以下のようになります。
![ToggleTrueTone_1_4_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/982333f1-55f4-eea5-c7bc-680114c0ac56.png)

ここで、試しに三角マークのボタンを押して実行してみます。
うまくいくと、自動的にシステム環境設定のディスプレイの項目を開き、True Toneのチェックボックスのオンオフが切り替えられると思います。

![ToggleTrueTone_1_4_2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/aa552e3e-7047-cbe6-5486-4dc8ade3b72b.gif)

#### 確認実行中エラーが出る場合
Automatorを初めて実行する場合などで、以下のエラーが出てくることがあります。
![ToggleTrueTone_1_4_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/66026de5-3572-55d3-4849-21cf864f8018.png)
この場合、システム環境設定からセキュリティ項目を許可してあげる必要があります。

##### セキュリティとプライバシー設定項目の確認
`アプリケーション` > `システム環境設定.app` を開き、
![ToggleTrueTone_1_4_4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/cb142ec8-bf16-8b11-bc10-e6bf3dee9f2d.png)
`セキュリティとプライバシー` の設定項目を表示
![ToggleTrueTone_1_4_5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/c9010876-75ef-2b3f-6c87-7c0b40c15d85.png)
`プライバシー` のタブを選び、 `アクセシビリティ` を選択します。
このとき表示された並びが、以下の画面のように Automator の表示が無いか、あってもチェックが入っていないと許可されていないことになるためうまく動きません。
![ToggleTrueTone_1_4_6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/08706270-aab9-50dd-14ab-65e2311e6fdf.png)

##### セキュリティ項目にAutomatorを追加する
追加するためには、まず左下の鍵マークをクリックして変更作業を行います。
鍵マークをクリックするとダイアログでパスワードを求められるので、Macのユーザーパスワードを入力し、ロックを解除します。
![ToggleTrueTone_1_4_7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/9230461d-53f1-de71-d5c4-e1a4ccbc3411.png)
すると変更操作が可能になります。リストにAutomatorの表示がない場合は、下にあるプラスボタンを押して追加します。
![ToggleTrueTone_1_4_8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/1ab4afb6-1196-0f2d-74d5-7d8bf994f6aa.png)
許可したいアプリを選択する画面になるので、アプリケーションから `Automator.app` を選び、開きます。
![ToggleTrueTone_1_4_9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/3a579b90-c4f1-2201-6ac1-374fbfa4dcc5.png)
これで、アクセシビリティに Automator が追加されました。チェックが入っていない場合はチェックを入れておきましょう。
![ToggleTrueTone_1_4_10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/ca6d9f27-f1c2-1855-2e7e-a1feabab1b0d.png)
追加し終わったら、念の為左下の鍵をクリックして元の閉めた状態に戻しておきます。
![ToggleTrueTone_1_4_11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/2427a51f-4c32-c277-58fe-da7107fc11f7.png)

この状態で、 Automator のスクリプトの画面に戻り、再生ボタンを押すとAppleScriptの内容が実行できるようになったと思います。

### 1-5. ワークフローを保存
無事Automatorから実行できることが確認できたので、このクイックアクションを保存します。
`ファイル` > `保存` を選び、ワークフローを保存します。
![ToggleTrueTone_1_5_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/b41c14bb-4c81-efc6-a9dd-7344033ea0a5.png)
すると、保存するクイックアクションの名前が求められます。
名前は何でも良いのですが、今回は分かりやすいように `ToggleTrueTone` としました。
![ToggleTrueTone_1_5_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/927e7eba-3d7a-cc5f-58f8-d82bbd3acabe.png)
これで True Tone を切り替えるアクションができました。

## 2. 作ったクイックアクションをTouch Barに登録する
次に、作ったアクションをTouch Barから呼び出せるようにしていきます。

### 2-1. システム環境設定のキーボードを開く
`システム環境設定` の画面を開き、 `キーボード` の設定項目を表示します。
![ToggleTrueTone_2_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/23bcd52f-886d-aaad-0079-2ebded5931fb.png)

### 2-2. Touch Barの表示項目設定の確認
デフォルトでは中央辺りにある `Touch Barに表示する項目` で `Appコントロール` を選んでいると思います。
また、この場合その横の `Control Stripを表示` にチェックをして、Touch Barの右端にショートカットが表示されるようにしておくと便利です。
![ToggleTrueTone_2_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/14a4b8f6-cf73-6a3b-208b-c35f0e862c5b.png)
Control Stripとは、Touch Barの右の方に出ているショートカットのことです。今回はそのショートカットにクイックアクションの項目を追加します。
![ToggleTrueTone_2_2_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/cfb2a0ae-28f0-5851-597f-8901b3030b1c.png)

### 2-3. Touch Barのカスタマイズ
キーボード設定項目の画面右下にある、 `Touch Barをカスタマイズ` ボタンを押すことで Touch Bar に表示させたいボタンを任意のものに入れ替えることができます。ボタンを押すと、以下のような表示が出てきます。
![ToggleTrueTone_2_3_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/180c8972-79ab-8c45-677e-fbe7f5ca33aa.png)
この状態で、 `クイックアクション` をドラッグ&ドロップで Touch Bar まで持ってくるとボタンを入れ替えることができます。
私の場合、デフォルトで入っていたSiriは特に使わなかったので、Siriと入れ替えました。
![ToggleTrueTone_2_3_2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/8ccbc597-8658-164e-d989-9ee0b69d8610.gif)
これで、Touch Barは以下の状態になりました。
![ToggleTrueTone_2_3_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/d7dc9bac-b785-37ea-ff79-f8649c94c843.png)
Touch Barのクイックアクションボタンを押すと、先程作った `ToggleTrueTone`が表示されます。
![ToggleTrueTone_2_3_4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53950/78a2b5a4-fdd6-cf9c-1b5c-c15fdd60c62c.png)
この状態で `ToggleTrueTone` を押すことで、好きなときにTrue Toneを切り替えることができます! やったね!