Лайфхакер
Лайфхакер
Лучшее
Рубрики
Рецепты
Подкасты
Сервисы
Колонки
Лучшее
Рубрики
Рецепты
Подкасты
Сервисы
Колонки
Сколько дней до лета
Новости
Здоровье
Спорт и фитнес
Покупки
Технологии
Отношения
Кино
Реклама
МакрадарСоветы
3 сентября 2012

Automator: извлечение иконок приложений с сохранением в PNG-файлах

Фото автора Alexander Zhurovich
Alexander Zhurovich

Automator: извлечение иконок приложений с сохранением в PNG-файлах

Зачем могут понадобиться иконки установленных приложений? Например, для красоты и наглядности в какой-нибудь презентации. Или в дизайнерской работе для создания, скажем, печатной продукции. Или в программистских делах для создания программ-твикеров или еще чего-нибудь этакого. Или просто для аватарки, если у вас есть любимая программа и вы ассоциируете себя с ней. В общем, извлечение программных пиктограм — задача не такая и специфическая. И справиться с ней проще простого.

Хозяйке на заметку. Иконки приложений в OS X можно выковырять вручную — делается это достаточно просто. Сначала выделяете приложение в окне Finder, затем жмете клавиши command+I — в окне свойств программы, щелкаете на ее значке в самом верху и жмете клавиши копирования command+C. Потом остается запустить утилиту «Просмотр» (Preview), нажать клавиши command+N и сохранить полученную картинку, желательно в формате PNG (если нужно сохранить полупрозрачные области иконки). Естественно, так удобно делать, если нужно извлечь одну-две иконки. Если же число требуемых значков гораздо больше — лучше все-таки воспользоваться возможностями «Автоматора».

Иконка приложения для копирования в утилиту «Просмотр»
Именно эту иконку нужно скопировать и вставить в утилиту «Просмотр», чтобы вручную сохранить значок в нужном графическом формате.

Итак, запускайте Automator, выбирайте пункт Служба (Service) в качестве типа нашего будущего процесса. В шапке, в выпадающем списке Служба получает выбранные (Service receives selected) выберите пункт файлы или папки (files or folders), а в списке рядом выберите приложение Finder. Таким образом мы ввели ограничение: наша служба будет доступна через контекстное меню только для папок и файлов и только в программе Finder — в любых других ситуациях соответствующий пункт меню виден не будет.

Теперь начнем составлять последовательность действий нашей службы.

1. Из категории библиотеки Файлы и папки (Files and Folders) перетащите действие Фильтровать объекты Finder (Filter Finder Objects). Внутри этого действия составьте правило фильтрования Тип — совпадает с — программа (Kind — is — application). Так мы отсеем все файлы и объекты, которые случайно затесались среди выделенных программ, но программами при этом не являются.

2. Теперь из категории Утилиты (Utilities) добавьте действие Запустить AppleScript (Run AppleScript), введя в этом действии такой код:

on run {input, parameters}

activate

return input

end run

Хозяйке на заметку. Действие Запустить AppleScript с таким кодом выполняет простую, но очень важную задачу: делает текущую службу активной, выводя ее окна на передний план. По какой-то причине это не происходит автоматически: допустим, следующим действием нашей службы будет отображение диалога открытия каталога — без выполнения указанного AppleScript-кода этот диалог может затеряться среди других открытых окон, что затруднит работу со службой. Попробуйте поэкспериментировать, отключив действие Запустить AppleScript и посмотрев, как при этом служба будет себя вести. Отсюда совет: если вы хотите гарантировать, что какое-либо диалоговое окно, созданное вашей службой, сразу оказывалось поверх остальных окон, применяйте действие Запустить AppleScript с таким кодом.

3. Третье действие — Запросить объекты Finder (Ask for Finder Items) из категории Файлы и папки (Files and Folders). С его помощью мы сможем впоследствии выбрать папку, куда службе следует сохранить извлеченные иконки. В свойствах действия укажите заголовок диалогового окна выбора каталога, задайте стартовую папку и укажите тип принимаемых данных — в соответствующем выпадающем списке выберите пункт Папки.

4. Теперь добавим в службу «интеллектуальное ядро» — действие Запустить shell-скрипт (Run Shell Script). Не меняя изначальных параметров действия, введите внутрь него такой код:

INPUT=("$@")

INPUTAPPS=(“${INPUT [@] :0:($#-1)}”)

DESTINATION=${INPUT [($#-1)] }

for APP in “${INPUTAPPS [@] }”

do

ICON=‘defaults read “$APP/Contents/Info” CFBundleIconFile|sed ‑e ‘s/.icns$//‘‘

ICONFILE=”$APP/Contents/Resources/$ICON.icns”

APPNAME=‘basename “$APP” .app‘

OUTFILE=”$DESTINATION/${APPNAME}.png”

/usr/bin/sips ‑s format png “$ICONFILE” –out “$OUTFILE”

done

Если кому-нибудь интересно, в комментариях я смогу объяснить работу этого кода. Именно он получает на входе весь массив данных, отделяет пути выделенных в Файндере программ и путь к папке сохранения иконок, ищет внутри каждой программы иконку и сохраняет ее в указанном месте в формате PNG, присваивая картинкам имена соответствующих программ.

5. Если у вас установлена система визуального оповещения Growl, можно добавить последнее, пятое действие — Show Growl Notification, расположенное в категории Утилиты (Utilities). Введите заголовок (Title) и сообщение (Description), чтобы создаваемая служба могла наглядно сообщить об своем успешном выполнении.

Примерно так должна выглядеть готовая служба для извлечения иконок в русскоязычном варианте.

Все! Остается только сохранить службу под удобным для вас названием — например, Извлечь иконки из программ — и испытать ее в действии. Открыв окно Finder, перейдите в папку Программы (Applications), выделите несколько программ и, щелкнув на выделенных объектах правой кнопкой мыши, выберите в контекстном меню команду с названием только что сохраненной службы. Спустя несколько мгновений файлы будут сохранены в указанном месте, а Growl отобразит созданное вами сообщение.

*Деятельность Meta Platforms Inc. и принадлежащих ей социальных сетей Facebook и Instagram запрещена на территории РФ.

Если нашли ошибку, выделите текст и нажмите Ctrl + Enter

Лучшие предложения

У этих летних дышащих кроссовок от Li-Ning высокий рейтинг и хорошая цена

У этих летних дышащих кроссовок от Li-Ning высокий рейтинг и хорошая цена

Электрическая газонокосилка от Worx

Надо брать: электрическая газонокосилка от Worx со скидкой 56%

10 товаров с маркетплейсов, которые подарят радость на этой неделе

10 товаров с маркетплейсов, которые подарят радость на этой неделе

Nahodki AliExpress: samye interesnye i poleznye tovary nedeli

Находки AliExpress: самые интересные и полезные товары недели

10 пар хороших кроссовок с AliExpress дешевле 5 000 рублей

10 пар хороших кроссовок с AliExpress дешевле 5 000 рублей

Надо брать: разборный мангал с усиленной конструкцией со скидкой 59%

Надо брать: разборный мангал с усиленной конструкцией со скидкой 59%

Велосипед Stern Energy 29"

Велосипед Stern Energy 29" отдают со скидкой 24% в «Спортмастере»

10 отличных MP3-плееров, чтобы слушать музыку где угодно

10 отличных MP3-плееров, чтобы слушать музыку где угодно

Это интересно
Почему после похудения килограммы возвращаются и как этого избежать

Почему после похудения килограммы возвращаются и как этого избежать

Полное руководство по прикорму ребёнка до одного года: от первой ложки до полноценного обеда

Полное руководство по прикорму ребёнка до одного года: от первой ложки до полноценного обеда

Мас-рестлинг, хуреш и ещё 5 необычных национальных видов спорта России

Мас-рестлинг, хуреш и ещё 5 необычных национальных видов спорта России

3 факта о работе собак-поводырей, которые вы наверняка не знали

3 факта о работе собак-проводников, которые вы наверняка не знали

Комментарии
Akurganow
05.09.12 17:58
Не работает, все делал точно по описанию, у меня выглядит так http://d.pr/i/iEFR
Akurganow
05.09.12 21:08
Понял, ввод в shell-скрипт нужно передавать как аргументы, а у меня по-умолчанию стояло в stdin
Alexander Zhurovich
06.09.12 19:22
Да, все правильно. :)
Что вы могли пропустить
Как правильно мыть аэрогриль
Как правильно мыть аэрогриль
0
9 мая
Ликбез
Советы
Классные способы отстирать шторы в стиральной машине и не испортить их
Классные способы отстирать шторы в стиральной машине и не испортить их
8 мая
«Горящая изба»
Советы
Я проверила 6 популярных лайфхаков с мицеллярной водой, и вот что работает на самом деле
Я проверила 6 популярных лайфхаков с мицеллярной водой, и вот что работает на самом деле
0
6 мая
Советы
Советы
Как сдерживать беспорядок в доме с помощью метода пяти вещей
Как сдерживать беспорядок в доме с помощью метода пяти вещей
0
25 апреля
Советы
Советы
7 бытовых вещей, которые стоит убрать подальше от детей и животных
7 бытовых вещей, которые стоит убрать подальше от детей и животных
0
20 апреля
Советы
Советы
Как выбрать моющий пылесос для небольшой квартиры: характеристики, на которые реально стоит смотреть
Как выбрать моющий пылесос для небольшой квартиры: характеристики, на которые реально стоит смотреть
17 апреля
«Горящая изба»
Советы
Как пользоваться моющим пылесосом правильно
Как пользоваться моющим пылесосом правильно
0
10 апреля
Ликбез
Советы
Отличные способы покрасить яйца на Пасху, которые работают из года в год
Отличные способы покрасить яйца на Пасху, которые работают из года в год
9 апреля
«Горящая изба»
Советы
В Азии обнаружили неизвестную популяцию древних людей, пережившую ледниковый период
В Азии обнаружили неизвестную популяцию древних людей, пережившую ледниковый период
0
6 апреля
Новости
Советы
Как пользоваться пипидастром
Как пользоваться пипидастром
0
3 апреля
Ликбез
Советы
Как это сделать: превратить упаковку «Золотого яблока» в полезные вещи для дома
Как это сделать: превратить упаковку «Золотого яблока» в полезные вещи для дома
0
2 апреля
Советы
Советы
18 вещей в доме, которые только зря занимают место. Большой чек-лист расхламления на весну
18 вещей в доме, которые только зря занимают место. Большой чек-лист расхламления на весну
1 апреля
«Горящая изба»
Советы
6 способов использовать лимонную кислоту в быту
6 способов использовать лимонную кислоту в быту
0
27 марта
Советы
Советы
Как найти квартиру мечты на Яндекс Недвижимости: 3 совета для общения с ИИ-помощником
Как найти квартиру мечты на Яндекс Недвижимости: 3 совета для общения с ИИ-помощником
0
26 марта
Советы
Советы
3 кухонных прибора, которые помогут прокачать ваши кулинарные способности
3 кухонных прибора, которые помогут прокачать ваши кулинарные способности
0
25 марта
Советы
Советы

Новые комментарии

Аватар автора комментария
Константин Михайлов28 минут назад

0 / 0

Изображение
«Я умру в нищете под мостом»: что это за чувство и откуда оно берётся
Аватар автора комментария
ramon basket71 час назад

0 / 0

Подскажите название фильма, где в самом начале мужчина едет на машине и попадает в аварию, а потом оказывается в комнате с двумя женщинами.
Как найти фильм по описанию
Аватар автора комментария
Сенди1 час назад

0 / 0

Да уж, много факторов, которые надо учесть и это не так просто. Мы с супругом тоже экономим на шмотках, у нас не самые крутые гаджеты. Стараемся без надобности на машине не ездить. Покупаем все по акциям и необходимости. Но на ребенке не экономим.
«Я умру в нищете под мостом»: что это за чувство и откуда оно берётся
Аватар автора комментария
Сенди1 час назад

0 / 0

Согласна с Вами. Я года два была на Т2. У нас в городе всё отлично ловило, но по обстоятельствам пришлось на время переехать в небольшой город, так там никто не мог мне дозвонится, хотя показывало полную сеть.
3 крутых функции в приложении Т2, о которых вы должны знать
5 причин купить моющий пылесос для мягкой мебели и ковров Tefal Clean It IZ5020F0

5 причин купить моющий пылесос для мягкой мебели и ковров Tefal Clean It IZ5020F0

Реклама
Лайфхакер
Информация
О проектеРубрикиРекламаРедакцияВакансииО компании
Подписка
TelegramВКонтактеTwitterViberYouTubeИнициалRSS
Правила
Пользовательское соглашениеПолитика обработки персональных данныхПравила применения рекомендательных технологийПравила сообществаСогласие на обработку персональных данныхСогласие для рекламных рассылокСогласие для информационной программы
18+Копирование материалов запрещено.
Издание может получать комиссию от покупки товаров, представленных в публикациях