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

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

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

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

Наушники Soundcore Liberty 5 подешевели на «Великой китайской распродаже»

Наушники Soundcore Liberty 5 подешевели на «Великой китайской распродаже»

Где отдохнуть летом в России

Где отдохнуть летом в России: 7 необычных мест

Надо брать: набор из 228 инструментов от Deko со скидкой 66%

Надо брать: набор из 228 предметов от Deko со скидкой 66%

10 товаров, чтобы сделать кухню лучшим местом в доме

10 товаров, чтобы сделать кухню лучшим местом в доме

Моющий пылесос Roborock F25 Ultra

Надо брать: моющий пылесос Roborock F25 Ultra со скидкой 45%

15 товаров, которые обидно упускать с такими скидками на распродаже AliExpress

15 товаров, которые обидно упускать с такими скидками на распродаже AliExpress

Надо брать: кроссовки от Li-Ning для мокрой весны и нежаркого лета

Надо брать: кроссовки от Li-Ning для мокрой весны и нежаркого лета

Это интересно
ИГРА: Помогите Яне построить свой бизнес

ИГРА: Помогите Яне построить свой бизнес

Как сегодня в России создают новые лекарства и учатся «заживлять» трещины в металле

Как сегодня в России создают новые лекарства и учатся «заживлять» трещины в металле

От обучения к трудоустройству: 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
21 марта
Советы
Советы
Когда сажать бальзамин на рассаду и как правильно это делать
Когда сажать бальзамин на рассаду и как правильно это делать
0
18 марта
Ликбез
Советы
Когда сажать сальвию на рассаду и как правильно это делать
Когда сажать сальвию на рассаду и как правильно это делать
0
15 марта
Ликбез
Советы
Как стирать кожаные штаны правильно
Как стирать кожаные штаны правильно
0
14 марта
Ликбез
Советы
24 хороших сорта и гибрида томатов для теплицы и открытого грунта
24 хороших сорта и гибрида томатов для теплицы и открытого грунта
0
9 марта
Ликбез
Советы
Как ухаживать за стиральной машиной: 7 важных правил
Как ухаживать за стиральной машиной: 7 важных правил
2 марта
«Горящая изба»
Советы
Как ухаживать за цветами в губке
Как ухаживать за цветами в губке
0
16 февраля
Ликбез
Советы
Как почистить термос внутри и снаружи
Как почистить термос внутри и снаружи
0
15 февраля
Советы
Советы
Как и чем мыть кисти для макияжа
Как и чем мыть кисти для макияжа
0
8 февраля
Ликбез
Советы
Как часто надо стирать одежду
Как часто надо стирать одежду
0
31 января
Советы
Советы
Как организовать пространство, если ты неряха: личный опыт
Как организовать пространство, если ты неряха: личный опыт
0
30 января
Советы
Советы
Как хранить дома книги, если их очень много
Как хранить дома книги, если их очень много
0
24 января
Советы
Советы
Как отстирать гуашь с одежды
Как отстирать гуашь с одежды
0
19 января
Ликбез
Советы
Почему запотевают очки и как это исправить
Почему запотевают очки и как это исправить
0
18 января
Советы
Советы
Как убрать клей и суперклей с одежды, рук и других поверхностей
Как убрать клей и суперклей с одежды, рук и других поверхностей
0
13 января
Ликбез
Советы

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

Аватар автора комментария
Наталья Копылова14 минут назад

0 / 0

было бы за что...
Личный опыт: манипуляции, газлайтинг и унижение от ChatGPT
Аватар автора комментария
Саплахидис Георгий3 часа назад

0 / 0

МЕНЯ ЗОВУТ САПЛАХИДИС ГЕОРГИЙ Я ГРЕЧЕСКИЙ ПОНТИЕЦ НЕ КТО ПОПАЛО. РАБОТАЮ И ЖИВУ В ЭЛЛАДЕ. МНЕ НРАВЯТСЯ СЕКС ИГРУШКИ НО В МЕРУ КОНЕЧНО. Люблю хорошо провозить время с дружками все туда сюда, люблю я знакомится и с красивыми сисясто-жапастыми так скажем женщинами и с мужичками(в хорошем смысле слова). Чисто люблю компании, шашлыки машлыки, застолья мастолья все дела. ЕСЛИ КТО ХОЧЕТ ЗАХОДИТЕ МНЕ В ОДНОКЛАССНИКИ https://ok.ru/profile/578770696255 ПОБОЛТАЕМ КАК ГОВОРИТСЯ (ПОПИЗДИМ) как СЛЕДУЕТ, ИЛИ ЗВОНИ МНЕ ВООБЩЕМ Оки чпоки
Как пользоваться анальной пробкой
Аватар автора комментария
Саплахидис Георгий3 часа назад

0 / 0

Меня зовут Саплахидис Георгий мне 65 и я можно сказать часто практикую себе.Раньше огурцом это делал а теперь технология понимаете шагнула в перед. А вибратор это удобно, сунул себе в пер**к и ушол. Кто есть единомышленники пишите https://m.ok.ru/profile/578770696255 будет интересно обсудить. Живу в Греции.
Как пользоваться анальной пробкой
Аватар автора комментария
Алексей Новохоцкий8 часов назад

0 / 0

"Этот способ может как помочь, так и навредить накопителю. Если не уверены, не рискуйте." - реально помогло, спасибо!
Как восстановить флешку
От обучения к трудоустройству: 3 истории женщин, которые добились карьерных успехов в сфере новых технологий

От обучения к трудоустройству: 3 истории женщин, которые добились карьерных успехов в сфере новых технологий

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