Казалось бы, проблема давно уже решена — просто в терминале вбиваешь одну команду и радуешься. Но это ведь:
- Слишком просто
- Как-то некрасиво
К слову сказать, меня вообще эта “проблема” не особо заботила, т.к. при разработке чего-либо я часто все выполняю в терминале, в т.ч. и открываю/работаю со скрытыми файлами и папками. Но поинтересовавшись у моего одногруппника о том, зачем он себе на ноут поставил ForkLift (такой Total Commander под макось), мы перешли к обсуждению того, что килл-фичей этой программы является удобное отображение/скрытие скрытых файлов. Буквально одной кнопкой все это управляется. Впрочем, аргумент понятный и весомый.
Но так уж сложилось, что я не фанат установки дополнительного ПО и отношусь к этому вопросу очень скрупулезно, при этом загорелся идеей сделать отображение/скрытие файлов так же удобно, как в той программе, но нативными средствами.
Немного погуглив, было найдено решение, которое я обкатал под себя. Итак, по порядку:
- Открываем Automator
- Файл > Новый > Служба
- В левом меню, где “Библиотеки” ниже ищем “Утилиты” и жмем
- Справа выбираем “Запустить AppleScript”
- Вверху в выпадающих полях выбираем:
- Служба получает выбранное: “Файлы или папки”
- в: “Finder.app”
- Вставляем в качестве скрипта следующую байду (сохраняем все копирайты, люди же старались!):
123456789101112131415161718192021222324252627282930313233343536373839(*Author: Anil NathaDescription:This script toggles the visibility of hidden files in OS X. This includesshowing hidden files in Finder windows and on the desktop.Last Updated: 2015-02-20*)tell application "System Events"tryset hiddenFilesDisplayStatus to do shell script "defaults read com.apple.finder AppleShowAllFiles"on errorset hiddenFilesDisplayStatus to "NO"end tryset hiddenFilesNewDisplayStatus to "NO"if hiddenFilesDisplayStatus is "NO" thenset hiddenFilesNewDisplayStatus to "YES"end ifdo shell script "defaults write com.apple.finder AppleShowAllFiles " & hiddenFilesNewDisplayStatusend telltell application "Finder"set allWindows to windowsrepeat with currentWindow in allWindowsset currentWindowView to get the current view of the currentWindowset alternateWindowView to list viewif currentWindowView is list view thenset alternateWindowView to icon viewend ifset the current view of the currentWindow to alternateWindowViewset the current view of the currentWindow to currentWindowViewend repeatend tell - Сохраняем под названием, например, “Переключить скрытие”
Что мы получаем в итоге? Идем в Finder, тыкаем правой кнопкой на любой папке и в контекстном меню выбираем “Переключить скрытие”:
В итоге видим, как и ожидалось, адовую кучу скрытых папок и наслаждаемся.
Стоит сделать поправку: некоторые такие элементы меню группируются и прячутся в контекстное меню “Службы”. Чтобы этого не происходило, вы можете пройти в “Системные настройки” > “Клавиатура”, далее “Сочетания клавиш”, далее “Службы” и поотключать ненужное. Все отключать не советую. Просто найдите те пункты, которые отображаются в меню “Службы” по правому клику на папку в Finder.
Кстати, добавленную нами службу “Переключить скрытие” вы тоже там увидите и даже можете повесить хоткей (но лично у меня это не сработало, надо для этого FastScripts ставить).
Писал заметку чисто для себя, но вдруг еще кому-то поможет — кто знает? 🙂