Настройте док-станцию ​​macOS с помощью сценария Bash

Я хочу настроить док-станцию ​​macOS с помощью сценария Bash (без AppleScript).

В настоящее время у меня есть код (взятый и измененный из этот ответ):

#!/bin/bash

defaults delete com.apple.dock persistent-apps

dock_item() {
    printf '<dict><key>tile-data</key><dict><key>file-data</key><dict><key>_CFURLString</key><string>%s</string><key>_CFURLStringType</key><integer>0</integer></dict></dict></dict>', "$1"
}

defaults write com.apple.dock persistent-apps -array \
    "$(dock_item /Applications/iTerm.app)" \
    "$(dock_item /Applications/Visual\ Studio\ Code.app)" \
    "$(dock_item /Applications/Slack.app)" \
    "$(dock_item /Applications/Google\ Chrome.app)" \
    "$(dock_item /System/Applications/Utilities/Screenshot.app)"

killall Dock

Что меняет док-станцию ​​по умолчанию:

Настройте док-станцию ​​macOS с помощью сценария Bash

К:

Настройте док-станцию ​​macOS с помощью сценария Bash

Но я также хочу, чтобы он удалил папку Downloads рядом с корзиной для мусора и дублированные значки, которые появляются между вертикальными линиями (в данном случае только iTerm) запущенных приложений, которые хранятся / сохраняются в Dock (слева от вертикальные линии). Как это:

Настройте док-станцию ​​macOS с помощью сценария Bash


Кроме того, Dock обновляется кодом после внесения изменений путем уничтожения процессов Dock, которые затем автоматически перезапускаются. Я чувствую, что должен быть более быстрый способ сделать это, чтобы не анимировать опускающуюся док-станцию, затем рабочий стол на мгновение становиться черным, открывать все свернутые приложения, а затем анимировать поднимающуюся док-станцию ​​(запись).

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
15
1

Ответы 1

После сравнения того, что печатает defaults read com.apple.dock до и после ручного удаления значков из док-станции, я заметил, что мне просто нужно удалить ключи recent-apps (для дублированных значков) и persistent-others (для папки):

defaults delete com.apple.dock recent-apps
defaults delete com.apple.dock persistent-others

Другие вопросы по теме