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
この4つはDockの使い心地を変えるもので、実行する前に知っておきたい副作用がそれぞれにあります。どれも元に戻す方法は同じで、キーを削除すればDockはAppleの標準に戻り、前の数字を覚えておく必要はありません。
| キー | 行うこと | 知っておきたい副作用 | 元に戻す |
|---|---|---|---|
show-recents | Dockの右側にある最近使ったAppの部分を表示または非表示にします | オフのとき、Dockは短くなります。実行中のAppは引き続き表示されます。 | defaults delete com.apple.dock show-recents; killall Dock |
tilesize | アイコンのサイズをポイントで指定します | Dockに合わせて大きさを決めたウインドウは、すべて一緒に動きます。 | defaults delete com.apple.dock tilesize; killall Dock |
mineffect | 最小化のアニメーションを選びます:ジニー、スケール、サック | 変わるのはアニメーションだけです。システム設定にはジニーとスケールだけが表示されます。 | defaults delete com.apple.dock mineffect; killall Dock |
autohide-delay | Dockが現れるまでに、ポインタが端にとどまる必要がある秒数 | 0にすると、ポインタが端に触れた瞬間にDockが現れます。スクロールバーやウインドウの端に手を伸ばしたときに起こることがあります。 | defaults delete com.apple.dock autohide-delay; killall Dock |
変更する前に、まず現在の値を読み取りましょう。defaults read com.apple.dock tilesizeで値が表示されます。キーが存在しないとターミナルが答えた場合は、一度も設定したことがなく、Dockはすでに既定値のままです。
よく使われる値を入れた、同じ4つの例:
defaults write com.apple.dock show-recents -bool false; killall Dock
defaults write com.apple.dock tilesize -int 48; killall Dock
defaults write com.apple.dock mineffect -string scale; killall Dock
defaults write com.apple.dock autohide-delay -float 0; killall Dock
すべての変更を一度に取り消したい場合は、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 ブール値。最小化したウインドウをアプリのアイコンに収めるかどうか。オフにすると右側に別々に並びます。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を覚えていることで、いつでも元に戻せます。サイズのロックは無料です。