defaults для Dock на MacКоротко: все настройки Dock хранятся в com.apple.dock, и после каждого
изменения нужен killall Dock, иначе ничего не произойдёт.
На этой странице перечислены все ключи, которые стоит знать, какие значения они принимают и что на самом деле делают. Это справочник, так что переходите сразу к нужной строке.
Две команды. Первая записывает настройку, вторая перезапускает 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
Эти четыре ключа меняют ощущения от Dock, и у каждого есть побочный эффект, о котором стоит знать до запуска. Отмена для всех одна: удалите ключ, и Dock вернётся к значению Apple по умолчанию, старое число помнить не нужно.
| Ключ | Что делает | Побочный эффект | Отмена |
|---|---|---|---|
show-recents | Показывает или скрывает раздел недавних приложений справа в Dock | Когда выключено, Dock короче. Запущенные приложения всё равно появляются. | 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 уже значение по умолчанию.
Те же четыре примера со значениями, которые обычно выбирают:
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 охотно принимает tilesize больше 128, но
при следующем запуске ограничивает его, так что не считайте большее число скрытой функцией.
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
Ради этих ключей и существует этот сайт. Каждый из них отключает соответствующий элемент в Системных настройках, чтобы параметр нельзя было изменить случайно, из другого приложения или вам самим через полгода, когда вы обо всём забудете.
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, чтобы снять любую из них. Наш
генератор команд выпишет точный набор для выбранных блокировок,
включая команды отмены. Подробное сравнение подходов есть в статье
три способа заблокировать Dock на Mac.
Эти четыре действуют для одного пользователя и отменяются. Профиль конфигурации переживает Терминал и перезагрузку, и это правильный инструмент для Mac, которым пользуются другие, и неправильный для вашего собственного.
show-recents, логическое значение. Раздел недавних приложений справа.
Значение false это решение, которое после обновления ищут чаще всего.static-only, логическое значение. Если true, Dock показывает только
запущенные приложения и скрывает все закреплённые значки. Совсем другой способ работы.persistent-apps, массив. Закреплённые приложения. Редактировать его
вручную можно, но неприятно, перетаскивать проще.persistent-others, массив. Папки и стопки справа от
разделителя.show-process-indicators, логическое значение. Точка под запущенным приложением.Чтобы полностью убрать из Dock закреплённые приложения и оставить только запущенные:
defaults write com.apple.dock persistent-apps -array; killall Dock
mineffect, строка, genie, scale или
suck. Анимация сворачивания. suck никогда не появлялась в Системных настройках,
но работает уже больше пятнадцати лет.minimize-to-application, логическое значение. Убирается ли свёрнутое окно
в значок своего приложения. Если выключено, оно находится отдельно справа.launchanim, логическое значение. Подпрыгивающий значок при открытии приложения.scroll-to-open, логическое значение. Прокрутка вверх на значке открывает Exposé
для этого приложения.expose-group-apps, логическое значение. Группирует ли Mission Control окна
по приложениям.mru-spaces, логическое значение. Меняют ли пространства свой порядок по последнему
использованию. Задайте false, чтобы рабочие столы шли в постоянном порядке, это вторая
половина рабочего стола, который стоит на месте.| Ключ | Тип | Что делает |
|---|---|---|
tilesize | целое 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 | Раздел недавних приложений |
static-only | bool | Только запущенные приложения |
persistent-apps | массив | Закреплённые приложения |
persistent-others | массив | Папки и стопки |
show-process-indicators | bool | Точки запущенных приложений |
mineffect | джинн/масштаб/засасывание | Анимация сворачивания |
minimize-to-application | bool | Убирать в значок приложения |
launchanim | bool | Подпрыгивание при запуске |
scroll-to-open | bool | Прокрутка для Exposé |
expose-group-apps | bool | Группировать по приложениям |
mru-spaces | bool | Порядок пространств по использованию |
Чтобы отбросить все когда-либо изменённые настройки Dock и вернуть его заводской вид:
defaults delete com.apple.dock; killall Dock
Это необратимо и действительно уничтожает вашу работу. Закреплённые приложения, стопки, размер, всё. Если нужно отменить что-то одно, удалите только этот ключ. Подробнее об этом в статье как сбросить Dock на Mac.
Почти всегда не хватает
killall Dock. Значение записано, а работающий Dock его не перечитал. Другая причина:
опечатка в имени ключа. defaults принимает любой придуманный ключ и спокойно его записывает,
потому что не знает, какие ключи понимает Dock.
Да. Они хранятся в ваших пользовательских настройках, поэтому обновление их не трогает. При переносе на новый Mac они тоже переносятся.
Нет, и использовать его не нужно. Это настройки
пользователя. С sudo они записываются в настройки root, а ваши остаются прежними, и
выглядит это так, будто команда тихо не сработала.
Да, и именно для этого нужны четыре
ключа immutable. Любое приложение с вашими правами может записывать в
com.apple.dock; блокировки не дают изменению вступить в силу.
Still Dock даёт те же четыре блокировки в виде переключателей в строке меню, а также то, чего нет у команд: он запоминает, каким был Dock до блокировки, так что к нему всегда можно вернуться. Блокировка размера бесплатна.