Как я могу удалить значок Finder из моей док-станции?

31

Я начал использовать Forklift в качестве замены Finder, поэтому мне не нужен Finder в доке. На самом деле, я бы предпочел, чтобы Forklift был самым дальним левым значком, чтобы я не случайно нажал на Finder.

Обычный метод перетаскивания приложения из Dock не работает, равно как и перетаскивание команд. Контекстное меню не позволяет удалить значок.

Есть ли способ, на Льве, удалить Finder из дока?
Возможно, есть база данных или файл plist, которые я могу изменить?

Натан Гринштейн
источник
У cDock есть такая возможность.
Wowfunhappy

Ответы:

31

Нет простого способа сделать это, но есть небольшой взлом :)

  1. Перейдите в /System/Library/CoreServices/Dock.app/Contents/Resources/
  2. Резервное копирование DockMenus.plist
  3. Откройте DockMenus.plist в вашем любимом текстовом редакторе с правами root
  4. Найти раздел finder-runningи добавить новый подраздел

    <dict>
        <key>command</key>
        <integer>1004</integer>
        <key>name</key>
        <string>REMOVE_FROM_DOCK</string>
    </dict>
    

    или просто скачайте мою версию DockMenus.plist

  5. В редакторе plist файл должен выглядеть так:

    Редактор Plist

  6. Откройте терминал и запустите killall Dock.

  7. Щелкните правой кнопкой мыши значок Finder в Dock - Bingo!

    Искатель "Удалить из дока"

ps После перезапуска Dock (ручной перезапуск или перезагрузка Mac) вам нужно вручную удалить значок Finder из Dock

Александр мазанов
источник
7
Oneliner :) f=/System/Library/CoreServices/Dock.app/Contents/Resources/DockMenus; sudo cp $f.plist $f-old.plist; sudo defaults write $f finder-running -array-add '<dict><key>command</key><integer>1004</integer><key>name</key><string>REMOVE_FROM_DOCK</string></dict>'; sudo chmod 644 $f.plist; osascript -e 'quit app "Dock"'. Я не нашел никакого способа (кроме сценариев GUI) для автоматического удаления Finder из Dock после повторных входов.
Лри
1
@Lri oneliner эффективен, но всегда сбивает с толку. О подписи кода - в случае проблем с измененным Dock.app вы можете восстановить * .plist из резервной копии и запустить codeignign -v /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock. Это должно решить проблему.
Александр Мазанов
4
Круто, спасибо! Я установил скрипт для запуска при входе в систему, чтобы щелкнуть пункт меню:tell application "System Events" to tell UI element "Finder" of list 1 of process "Dock" perform action "AXShowMenu" click menu item "Remove from Dock" of menu 1 end tell
Натан Гринштейн
3
У меня работает на Маверикс. За исключением того, что белый «свет» под значком (или, скорее, там, где должен быть значок) все еще там).
eebbesen
2
@eebbesen вам придется выйти из поиска прежде чем удалить его из Dock.
AfzalivE
1

У меня работает на HighSierra (10.13.6) с отключенным SIP.

Я использовал следующую команду для редактирования файла .plist:

PL="/System/Library/CoreServices/Dock.app/Contents/Resources/DockMenus.plist"&&
sudo -- defaults write $PL finder-running -array-add  '<dict><key>command</key><integer>1004</integer><key>name</key><string>REMOVE_FROM_DOCK</string></dict>'

Проверьте результат с помощью sudo defaults read $PL finder-running.

Если это выглядит хорошо, бегите sudo chmod -v +r $PL; killall Dock.

Вот итальянская отформатированная версия этого AppleScript:

tell application "System Events"
    tell UI element "Finder" of list 1 of process "Dock"
        perform action "AXShowMenu"
        click menu item "Rimuovi dal Dock" of menu 1
    end tell
end tell

Вот и все, я надеюсь, что это полезно в качестве быстрого полного резюме.

dardo82
источник