macOS Mojaveが最高なんだけど、もっと最高になるアプリ Gray のご紹介

macOSを使用している皆さん、Mojave最高ですよね?

Mojaveにまだアップデートできてない方、ぜひアップデートしましょう
アップデートして1週間立ちましたが、開発環境面で問題は起こっていません

ですが、1点だけ、どうしても気になることがある

Dark appearance最高なんです
最高なんですけど、これアプリケーション毎に切り替えるGUIがないんです
アプリケーションによってDarkは見づらかったり、Safariは通常のブラウザとプライベートブラウザの目視区別がしづらい...

f:id:yutailang0119:20181012145237p:plain
左: 通常、右: プライベート

そんなあなたに朗報です

github.com

ポチポチするだけで、アプリケーション毎にAppearanceが切り替わります

SafariだけLightにしたりできる

f:id:yutailang0119:20181012145511p:plain
左: 通常、右: プライベート

インストール

https://github.com/zenangst/Gray#gray の下のリンクを押すと、ビルド済みのアプリがダウンロードできます
コードを読むと、アップデート確認も実装されてた

内部でやっていること

READMEに書いてあります https://github.com/zenangst/Gray#how-it-works
macOSにはアプリケーション毎の設定ファイルがあって、これを defaults というコマンドで書き換えることができます

$ defaults write com.apple.dt.Xcode NSRequiresAquaSystemAppearance -bool YES

その設定ファイルの NSRequiresAquaSystemAppearance をポチポチtoggleするだけ

一度設定すれば、再起動しても、Grayを削除してしまっても大丈夫
でも、できれば消さないでねとのこと

So when you are done configuring, you can toss Gray in the trash if you like (I hope you don't :) )

注意点

1. Grayで一度Appearance変更をすると、Systemに揃える設定に戻すことが、GUI上からはできなくなります

そんな時は、ターミナルで、

$ defaults read 

と入力して、タブを押しながら、戻したいアプリを探します
アプリが見つかったら、

$ defaults read com.apple.SafariTechnologyPreview(ここがアプリ名) NSRequiresAquaSystemAppearance

とかとすると 0 or 1 と表示されるかと思います
表示されたら、再度ターミナルで、

$ defaults delete com.apple.SafariTechnologyPreview(ここがアプリ名) NSRequiresAquaSystemAppearance

確認すると

$ defaults read com.apple.SafariTechnologyPreview(ここがアプリ名) NSRequiresAquaSystemAppearance
The domain/default pair of (/Users/yutailang0119/Library/Containers/com.apple.SafariTechnologyPreview/Data/Library/Preferences/com.apple.SafariTechnologyPreview, NSRequiresAquaSystemAppearance) does not exist

とエラーになっていれば、成功です
もう一度Grayを開き直すと、Systemになっているはず

2. Mail、Messages、Safari、Homeのようなアプリは、Full Disk Accessパーミッションが必要

ボクは許可していません
「最初のSafariのプライベートブラウザの話どこいった」と思われるかと思いますが、普段 SafariのTechnology Preview版を使っていて、これはFull Disk Accessを要求しません
便利ですね

@_monoさんのツイートで知りました

活発に開発されていそうなので、watchしていきたいですね