Лайфхакер
Лайфхакер
Лучшее
Рубрики
Рецепты
Подкасты
Сервисы
Колонки
Лучшее
Рубрики
Рецепты
Подкасты
Сервисы
Колонки
Рецепты на Масленицу
Новости
Здоровье
Спорт и фитнес
Покупки
Технологии
Отношения
Кино
Реклама
МакрадарСоветы
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

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

Наушники Soundcore Liberty 5

Надо брать: наушники Soundcore Liberty 5 со скидкой 42%

10 samyh populyarnyh elektricheskih i ruchnyh instrumentov na AliExpress

10 самых популярных электрических и ручных инструментов на AliExpress

11 вещей с маркетплейсов, которые порадовали нас на этой неделе

11 вещей с маркетплейсов, которые порадовали нас на этой неделе

GaN-зарядка от Anker

Мощную GaN-зарядку для прожорливой техники от Anker отдают за полцены

Видеорегистратор 70mai Dash Cam A200

Появилась скидка 54% на хороший видеорегистратор от 70mai

Стильное пальто-пиджак из шерсти — и дешевле пяти тысяч рублей

Стильное пальто-пиджак из шерсти — и дешевле пяти тысяч рублей

Робот-пылесос Dreame F10 Plus

Надо брать: робот-пылесос Dreame F10 Plus со скидкой 42%

15 krutyh tovarov na rasprodazhe Aliexpress pryamo sejchas

Сейчас со скидкой: 15 крутых товаров с распродажи на AliExpress

Это интересно
Правда ли, что диабет молодеет? Разбираемся с эндокринологом

Правда ли, что диабет молодеет? Разбираемся с эндокринологом

Стоит ли использовать препараты «Велгия» и «Велгия Эко», чтобы быстрее похудеть   

Стоит ли использовать препараты «Велгия» и «Велгия Эко», чтобы быстрее похудеть   

Что такое «Редуксин Форте» и как он работает

Что такое «Редуксин Форте» и как он работает

Из замёрзших прудов в городские хабы: как изменились катки за 200 лет

Из замёрзших прудов в городские хабы: как изменились катки за 200 лет

Комментарии
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
16 февраля
Ликбез
Советы
Как почистить термос внутри и снаружи
Как почистить термос внутри и снаружи
0
15 февраля
Советы
Советы
Как и чем мыть кисти для макияжа
Как и чем мыть кисти для макияжа
0
8 февраля
Ликбез
Советы
Как часто надо стирать одежду
Как часто надо стирать одежду
0
31 января
Советы
Советы
Как организовать пространство, если ты неряха: личный опыт
Как организовать пространство, если ты неряха: личный опыт
0
30 января
Советы
Советы
Как хранить дома книги, если их очень много
Как хранить дома книги, если их очень много
0
24 января
Советы
Советы
Как отстирать гуашь с одежды
Как отстирать гуашь с одежды
0
19 января
Ликбез
Советы
Почему запотевают очки и как это исправить
Почему запотевают очки и как это исправить
0
18 января
Советы
Советы
Как убрать клей и суперклей с одежды, рук и других поверхностей
Как убрать клей и суперклей с одежды, рук и других поверхностей
0
13 января
Ликбез
Советы
Как склеить пазлы, чтобы повесить их на стену
Как склеить пазлы, чтобы повесить их на стену
0
8 января
Ликбез
Советы
Как открыть шампанское голыми руками и не только
Как открыть шампанское голыми руками и не только
0
28 декабря 2025
Ликбез
Советы
Сеть центров «Небо» запустила первую в России фиджитал-платформу для детей и подростков
Сеть центров «Небо» запустила первую в России фиджитал-платформу для детей и подростков
0
25 декабря 2025
Пресс-релизы
Советы
8 правил уборки, которые можно нарушать
8 правил уборки, которые можно нарушать
0
20 декабря 2025
Советы
Советы
Как подобрать шапку по форме лица
Как подобрать шапку по форме лица
0
11 декабря 2025
Как выбрать
Покупки
Как красиво сложить салфетки на праздничный стол
Как красиво сложить салфетки на праздничный стол
0
5 декабря 2025
Ликбез
Советы

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

Аватар автора комментария
Andrey Dubrovin2 часа назад

0 / 0

если внимательно прочитать, понимаешь, что нужны две сковороды
Заливной пирог с капустой на сковороде
Аватар автора комментария
Horugvi2 часа назад

0 / 0

Послушайте, но ведь король и шут очень дурная музыка. Почему про них кино снимают?
Что я думаю о фильме «Король и Шут. Навсегда» — милом прощании с героями сериала
Аватар автора комментария
Андрей Андрей4 часа назад

0 / 0

Комплект инструментов Deko на 165 единиц у меня он поинтересней будет
10 отличных товаров, на которые редко так снижают цены
Аватар автора комментария
Людмила5 часов назад

0 / 0

Отличная работа!На что клеели? На горячий пистолет или жидкие гвозди.
30 красивых вещей из винных пробок
Масленичная неделя на новый лад: как поддержать традиции праздника сегодня

Масленичная неделя на новый лад: как поддержать традиции праздника сегодня

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