will and way

ただの自分用メモを人に伝える形式で書くことでわかりやすくまとめてるはずのブログ

OSXのコマンドラインからすると捗った設定リスト

mobilelaby.com

上記で紹介されていたiPhoneを接続した時に写真アプリの自動起動を防ぐターミナルでのコマンド

defaults write com.apple.ImageCapture disableHotPlug -bool NO

これ便利。実は他にもある。さらに、コマンドライン経由から設定することで、設定アプリではUI上不可能な値も設定できるので設定してまとめてみた。

フォーマット

まずはdefaultsコマンドのフォーマットから

一般的なフォーマット

サードパーティ製のアプリも含め、Dockの設定などがこちら。

書き込み
defaults write DOMAIN KEY -TYPE VALUE
読み込み
defaults read DOMAIN

グローバルドメイン

グローバルドメインと呼ばれる領域がある。これはジェネラルな内容、キーボードのキーリピート設定やマウスのカーソル移動速度などが設定される領域。

書き込み
defaults write -g KEY -TYPE VALUE
読み込み
defaults read -g

設定できるドメインを調べる

man defaultsしましょう。マニュアルを読もう。

defaults domains

↑を実行すると設定可能なドメインのリストの取得ができます。

~/ ❯❯❯ defaults domains                                                        
2BUA8C4S2C.com.agilebits.onepassword4-helper, MobileMeAccounts, com.agilebits.onepassword4, com.alfredapp.Alfred, com.apple.AddressBook, com.apple.AppleMultitouchMouse, com.apple.AppleMultitouchTrackpad, com.apple.BezelServices, com.apple.CalendarAgent, com.apple.CallHistorySyncHelper, com.apple.CharacterPicker, com.apple.CloudPhotosConfiguration, com.apple.CommCenter.counts, com.apple.CoreGraphics, com.apple.Dictionary, com.apple.FolderActionsDispatcher, com.apple.GEO,
.
.
.

したがって、defaults read domainして設定したいアプリのドメインを調べて目的のキーのバリューを変更すればいいことになります。

全部の設定値をダンプするワンライナー
echo $(defaults domains) | tr -s ',' '\n' | while read domain; do; defaults read $domain; done;

設定を反映する

Finderなどは設定がキャッシュされていて、プロセスを再起動しないと反映されません。

基本的にはkillall APPLICATION_NAMEでいけます。Finderならkillall Finder

また、KeyboardのKeyrepeat設定は再起動不要、Trackpadはプロセスを見つけられず再ログインで対処しています。

Trackpad周り

タップでクリックを許可

defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad Clicking -int 1

カーソルの移動速度を変える

defaults write -g com.apple.trackpad.scaling -float 1

遅 0 ~ N 速

隠しファイルをFinder上で可視化する

defaults write com.apple.finder AppleShowAllFiles true

すべての拡張子を表示する

defaults write NSGlobalDomain AppleShowAllExtensions -bool true

Dock

Dockの表示位置

defaults write com.apple.dock orientation -string "left"

left, bottom, rightが設定可能

オンマウスでのアイコンサイズズーム

defaults write com.apple.dock magnification -bool true

Dockを自動的に隠す

defaults write com.apple.dock autohide -bool true

アイコンサイズの変更

defaults write com.apple.dock tilesize -int 50

KeyRepeat

InitialKeyRepeat

defaults write -g InitialKeyRepeat -int 13

速 0 ~ N 遅

KeyRepeatが始まるまでのディレイ。設定アプリではmost fastで15までしか設定できないです。

KeyRepeat

defaults write -g InitialKeyRepeat -int 3

速 0 ~ N 遅

KeyRepeat中のディレイ。設定アプリでは2->6と設定値が飛んでしまうので1単位で設定できないです。

参照

www.defaults-write.com

ここを参照すればいろいろ便利に設定してるし、設定の説明をしてくれてる方々がいるのでおすすめ〜

応用

こんな感じでコマンドライン化することによって設定を定義して置けるようになるのが副産物。

Ansible化したのがこちら

blog.matsuokah.jp

追記

どこのことだろう?> "ここを参照すればいろいろ便利に設定してるし、設定の説明をしてくれてる方々がいる"

参照先を間違っていたので、修正しました。ご指摘ありがとうございます〜!