defaultsコマンド一覧簡単に言うと:すべてのDock設定はcom.apple.dockにあり、変更のたびにkillall Dockを実行しないと何も起こりません。
このページでは、知っておく価値のあるキーとその指定できる値、そして実際の動作をすべて掲載しています。チュートリアルではなくリファレンスなので、目的の行まで読み飛ばしてください。
2つのコマンドです。1つ目が設定を書き込み、2つ目がDockを再起動してその設定を反映させます。
defaults write com.apple.dock tilesize -int 48; killall Dock
killall Dockがないと、値は環境設定ファイルの中で何もせずにとどまったままになります。これが、ブログ記事のコマンドが効いていないように見える最もよくある原因です。詳しくはkillall Dockが行うことをご覧ください。
何かを変更する前に、元に戻せるよう現在の値を確認してください。
defaults read com.apple.dock tilesize
キーが一度も設定されていない場合、defaults readは値ではなくエラーを返します。これは正常な状態で、Dockが標準の初期値を使っていることを意味します。その状態に戻すには、元の数値を推測するのではなく、キー自体を削除してください。
defaults delete com.apple.dock tilesize; killall Dock
tilesizeは、誰もが求めるキーです。ポイント単位のアイコンサイズであり、システム設定のスライダーも同じ値を書き込みます。
defaults write com.apple.dock tilesize -int 48; killall Dock
tilesize 整数、16から128。システム設定のスライダーも16から128しかカバーしていませんが、数値を入力することで正確なサイズにでき、後で同じサイズに戻すこともできます。magnification ブール値。ポインタを重ねたときにアイコンが拡大するかどうかです。largesize 整数、最大128。拡大表示がオンのときにどこまで大きくなるかです。オフのときは完全に無視されます。知っておく価値があるのは、Dockはコマンドラインから128を超えるtilesizeを問題なく受け付けますが、次回起動時にはその値を上限まで制限してしまうため、大きな数値を隠し機能として扱わないでください。
orientation 文字列、left、bottom、またはright。topはありません。macOSは一度もサポートしたことがありません。autohide ブール値。端に押し込むまでDockが隠れているかどうかです。autohide-delay 浮動小数点値、秒単位。Dockが現れるまでポインタを端に置いておく必要がある時間です。0にすると即座に表示されます。autohide-time-modifier 浮動小数点値。スライドアニメーションの長さです。0.15は素早く、0にするとアニメーションがなくなります。多くの人が本当に求めている組み合わせは、瞬時に現れるDockです。
defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock autohide-time-modifier -float 0
killall Dock
このサイトが存在する理由は、これらのキーにあります。それぞれがシステム設定内の対応する項目を反応しないようにするため、誤操作やほかのApp、あるいは半年後に忘れてしまった自分自身によって設定が変更されることがなくなります。
defaults write com.apple.dock size-immutable -bool true
defaults write com.apple.dock position-immutable -bool true
defaults write com.apple.dock contents-immutable -bool true
defaults write com.apple.dock autohide-immutable -bool true
killall Dock
size-immutableはサイズを固定し、それに伴い区切り線のドラッグハンドルも固定されます。多くの人が実際に止めたいのはこれです。position-immutableは、Dockがどの端にあるかを固定します。contents-immutableは、アイコンのドラッグによる削除、追加、並べ替えを止めます。autohide-immutableは、表示と非表示の設定を固定します。多くのガイドが見落としがちな設定です。いずれかを解除するには、trueをfalseに置き換えてください。コマンドジェネレーターを使えば、選んだロックに合わせた正確なコマンドを、元に戻すコマンドも含めて生成できます。各方法の詳しい比較はMac Dockをロックする3つの方法をご覧ください。
この4つはユーザーごとの設定で、解除も可能です。ターミナルや再起動でも残る構成プロファイルは、ほかの人が使うMacには適したツールですが、自分専用のMacには向きません。
show-recents ブール値。右側にある最近使用したAppのセクションです。falseに設定することが、アップグレード後に最も検索される対処法です。static-only ブール値。trueにすると、Dockは現在起動中のAppのみを表示し、固定されたアイコンをすべて非表示にします。まったく異なる使い方になります。persistent-apps 配列。固定されたAppです。手作業での編集も可能ですが快適ではなく、ドラッグのほうが簡単です。persistent-others 配列。区切り線の右側にあるフォルダとスタックです。show-process-indicators ブール値。起動中のAppの下に表示されるドットです。固定されたAppをすべて取り除き、起動中のものだけを残すには:
defaults write com.apple.dock persistent-apps -array; killall Dock
mineffect 文字列、genie、scale、またはsuck。最小化アニメーションです。suckはシステム設定に一度も登場したことがありませんが、15年以上前から機能しています。minimize-to-application ブール値。最小化したウインドウを、右側に個別に表示するのではなく、そのAppのアイコンにしまい込むかどうかです。launchanim ブール値。App起動時にアイコンがバウンドする効果です。scroll-to-open ブール値。アイコン上で上にスクロールすると、そのAppのExposéが開きます。expose-group-apps ブール値。Mission ControlがウインドウをAppごとにグループ化するかどうかです。mru-spaces ブール値。Spaceが直近の使用順に並び替わるかどうかです。falseにすると、デスクトップを固定された順番のままにでき、崩れないデスクトップのもう半分を担います。| キー | 型 | 行うこと |
|---|---|---|
tilesize | int 16–128 | アイコンサイズ |
magnification | bool | ホバーでアイコンを拡大 |
largesize | int | 拡大時のサイズ |
orientation | left/bottom/right | どの端か |
autohide | bool | 必要になるまで隠す |
autohide-delay | float | 表示までの遅延 |
autohide-time-modifier | float | スライド速度 |
size-immutable | bool | サイズをロック |
position-immutable | bool | 端をロック |
contents-immutable | bool | アイコンをロック |
autohide-immutable | bool | 表示と非表示をロック |
show-recents | bool | 最近使用したAppのセクション |
static-only | bool | 起動中のAppのみ |
persistent-apps | array | 固定されたApp |
persistent-others | array | フォルダとスタック |
show-process-indicators | bool | 起動中を示すドット |
mineffect | genie/scale/suck | 最小化アニメーション |
minimize-to-application | bool | アイコンに最小化 |
launchanim | bool | 起動時にバウンド |
scroll-to-open | bool | スクロールでExposé |
expose-group-apps | bool | Appごとにグループ化 |
mru-spaces | bool | 使用順にSpaceを並べ替え |
これまで変更したDockの設定をすべて破棄し、出荷時のDockに戻すには:
defaults delete com.apple.dock; killall Dock
これは元に戻せず、実際に内容を破棄します。固定したApp、スタック、サイズなど、すべてです。1つだけ元に戻したい場合は、代わりにそのキーだけを削除してください。詳しくはMac Dockをリセットする方法をご覧ください。
ほとんどの場合、killall Dockが抜けています。値は書き込まれていますが、動作中のDockがそれを再読み込みしていません。もう1つの原因はキー名のタイプミスです。defaultsは、Dockがどのキーを理解するか関知しないため、思いついたどんなキーでも喜んで受け入れて書き込んでしまいます。
はい。これらはシステムではなくユーザーの環境設定に保存されるため、アップデートの影響を受けません。新しいMacへの移行時にも引き継がれます。
いいえ、使うべきではありません。これらはユーザーごとの設定です。sudoで実行すると、自分ではなくrootの環境設定に書き込まれてしまい、コマンドが静かに失敗したように見えます。
はい。だからこそ4つのimmutableキーがあります。お客様の権限を持つどのAppでもcom.apple.dockに書き込むことができ、ロックはその変更が反映されるのを止めるものです。
Still Dockは、同じ4つのロックをメニューバーのスイッチとして提供し、さらにコマンドにはなかった1つの機能、つまりロックする前のDockを覚えていることで、いつでも元に戻せます。サイズのロックは無料です。