Записи с меткой «.DS_Store»

Правильные зип-архивы на Маке Развернуть ↓

Правильные зип-архивы на Маке

Свернуть ↑

Встроенная в Мак ОС утилита архивации плоха тем, что включает в архив служебный мусор системы — файлы .DS_Store, папки __MACOSX и прочий не нужный адресату (особенно если у него не мак) хлам. Можно пользоваться посторонней программой, в настройках которой есть галочка для игнорирования служебных файлов, но в посторонних архиваторах, поддерживающих «быструю» архивацию драг-н-дропом (BetterZip, StuffIt, iArchiver), мне не нравится необходимость держать их в доке или в тулбаре Файндера. У StuffIt, правда, есть контекстное меню, но оно а) не работает в Снежном Барсе; б) сликшом многоуровневое; в) вообще, StuffIt — архиватор-монстр, который ставит в систему фреймворки, не нужные никому, кроме людей, зарабатывающих на жизнь архивацией файлов.

В общем, задача: найти способ создавать зип-архивы без мусора, пользоваться которым будет так же удобно, как встроенной утилитой архивации. Я открыл было Автоматор и стал разбираться, где у него регексп, но потом увидел, что все, как обычно, уже сделано до нас.

1. С благодарностью скачиваем набор экшенов Junecloud Automator Actions. Открываем Create Clean Archive.action, подтверждаем уставновку.

2. Создаем новую службу (service) и сооружаем такую конструкцию:

Create Clean Archive в Автоматоре

(Обращаем внимание на опции экшена — можно игнорировать все невидимые файлы, а можно только .DS_Store.)

3. Сохраняем службу под любым именем. Если хотим шорткат, назначаем его в System Preferences → Keyboard → Keyboard Shortcuts → Services.

Create Clean Archive в жизни

4. Тестируем. Кстати, службы, относящиеся к файлам и папкам, доступны не только в Services, но и в контекстном меню Файндера.

Комментировать

.DS_Store Развернуть ↓

.DS_Store

Свернуть ↑

Дело было в 1999-м году. Для Mac OS X, находившейся тогда в разгаре разработки, Apple решила переписать Finder с нуля, так как от программы, написанной для System 7 девять лет назад, сложно было чего-то добиться в незнакомом для нее Nextstep-окружении. Проект был условно разделен на пользовательскую и системную части — у разработчиков в ходу были имена Finder_FE и Finder_BE (frontend и backend соответственно). Примерно в то же время у команды возникла идея, которую они, к сожалению, не воплотили — переименовать Finder в Desktop. Системную же часть, отвечающую за взаимодействие с файловой системой, организацию метаданных, запоминание вида окошек/иконок и прочего, решено было назвать Desktop Services, отсюда и возникло имя .DS_Store — Desktop Services Store.

С тех пор эти маленькие файлы-паразиты создаются в каждой папке, вид которой отличается от дефолтного — размером ли иконок, цветом ли фона, типом ли отображения файлов, даже просто положением окна на экране. По хорошему, такие данные следует хранить где-нибудь в настройках у юзера, а нынешний принцип не только не вписывается в логику Mac OS X, но и просто откровенно неудобен. Файлы .DS_Store замусоривают практически все папки, с которыми мы работаем — самое обидное, что создаются они и по сети на компьютерах наших виндовых друзей. Если вдруг кто не знает, последнее можно запретить с помощью либо терминальной команды, либо платной программки Blue Harvest (которая позволяет заодно очистить диски от другого служебного мусора).

Для сравнения, виндовые Thumbs.db, хоть и выглядят примерно так же, не вызывают желания немедленно от них избавиться. Превьюшки картинок — вещь очевидно полезная. А вот зачем мне знать, до какого размера окно папки растягивал предыдущий работавший с ней пользователь, и какой режим отображения при этом выбирал — загадка. А если предыдущим пользователем был я — опять же, храните эти данные в моих настройках.

Комментировать (на данный момент — 4 комментария)