Лайфхакер
Лайфхакер
Лучшее
Новости
Жизнь
Рецепты
Здоровье
Кино
Технологии
Покупки
Лучшее
Новости
Жизнь
Рецепты
Здоровье
Кино
Технологии
Покупки
Куда поехать на выходные
Добрые новости
Стыдные вопросы
Есть мнение
Норм или стрём
Личный опыт
Объясняем за минуту
Сервисы
МакрадарСоветы
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
Это интересно
Быть заметным: 8 причин выбрать обновлённый фастбэк-кроссовер OMODA C5 

Быть заметным: 8 причин выбрать обновлённый фастбэк-кроссовер OMODA C5 

Реклама
Как начать заниматься спортом, если вы живёте в небольшом городе: 5 простых и доступных способов

Как начать заниматься спортом, если вы живёте в небольшом городе: 5 простых и доступных способов

Не только стройматериалы: как экосистема «Петровича» закрывает все задачи по ремонту

Не только стройматериалы: как экосистема «Петровича» закрывает все задачи по ремонту

Реклама
Косметический ремонт за выходные: 6 вещей в квартире, которые можно обновить без грязи и пыли

Косметический ремонт за выходные: 6 вещей в квартире, которые можно обновить без грязи и пыли

Комментарии
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
18 июля
Советы
Советы
Как стирать постельное бельё, чтобы оно хрустело как в отеле
Как стирать постельное бельё, чтобы оно хрустело как в отеле
14 июля
«Горящая изба»
Советы
Чем смазать дверь, чтобы она не скрипела
Чем смазать дверь, чтобы она не скрипела
0
11 июля
Ликбез
Советы
Плачу на ретро: Collider выбрал 10 культовых фильмов 80‑х, о которых все забыли
Плачу на ретро: Collider выбрал 10 культовых фильмов 80‑х, о которых все забыли
0
24 июня
Кино
Новости
Что надо знать про ортопедическую подушку, чтобы спать сном младенца
Что надо знать про ортопедическую подушку, чтобы спать сном младенца
24 июня
«Горящая изба»
Советы
15 насекомых, которые живут с нами дома
15 насекомых, которые живут с нами дома
0
22 июня
Ликбез
Советы
Как избавиться от чешуйницы в квартире
Как избавиться от чешуйницы в квартире
0
11 июня
Ликбез
Советы
Какого специалиста вызвать, если в доме что-то сломалось
Какого специалиста вызвать, если в доме что-то сломалось
0
7 июня
Советы
Советы
15 бытовых устройств, которые выгоднее взять в аренду или купить совместно с друзьями 
15 бытовых устройств, которые выгоднее взять в аренду или купить совместно с друзьями 
0
26 мая
Советы
Советы
Как правильно мыть аэрогриль
Как правильно мыть аэрогриль
0
9 мая
Ликбез
Советы
Классные способы отстирать шторы в стиральной машине и не испортить их
Классные способы отстирать шторы в стиральной машине и не испортить их
8 мая
«Горящая изба»
Советы
Я проверила 6 популярных лайфхаков с мицеллярной водой, и вот что работает на самом деле
Я проверила 6 популярных лайфхаков с мицеллярной водой, и вот что работает на самом деле
0
6 мая
Советы
Советы
Как сдерживать беспорядок в доме с помощью метода пяти вещей
Как сдерживать беспорядок в доме с помощью метода пяти вещей
0
25 апреля
Советы
Советы
7 бытовых вещей, которые стоит убрать подальше от детей и животных
7 бытовых вещей, которые стоит убрать подальше от детей и животных
0
20 апреля
Советы
Советы
Как выбрать моющий пылесос для небольшой квартиры: характеристики, на которые реально стоит смотреть
Как выбрать моющий пылесос для небольшой квартиры: характеристики, на которые реально стоит смотреть
17 апреля
«Горящая изба»
Советы

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

Аватар автора комментария
Стас Стас7 минут назад

0 / 0

Имел опыт покупки смарт ТВ этой марки, правда на 27 дюймов. Встроенной памяти всего 8 гб! Не то что приложения, а иной раз даже файл обновления не может скачаться из-за нехватки места. И постоянные тормоза
Надо брать: 55-дюймовый 4K-телевизор от Tuvio за разумные деньги
Аватар автора комментария
D.V.2 часа назад

0 / 0

А чего в этих историях не так, по моему жизненно :))
9 историй о кринжовых свиданиях, на которые не хотелось бы попасть
Аватар автора комментария
Елена Грицун7 часов назад

0 / 0

Очень популярная среди моих знакомых и друзей статья. Оказалось, что яблоководов много среди них, а родительские чаты понятно где всем сильно нужны.
Как вернуть уведомления от VK, MAX и «Авито», если у вас iPhone
Аватар автора комментария
Чадо Брюн8 часов назад

0 / 0

Для меня статья полна сюрпризов. Всегда думала, что кабачки растут не до 30 см, а пока их не снимешь (ну или снег не пойдет) 😂 И про тонкую кожу и плохое хранение — сюрприз. Монсты, которые выращивал мой дедушка не резались, а пилились или кололись. Ну как ты кору разрежешь 🤣
Знаете ли вы, чем кабачок отличается от цукини?
Быть заметным: 8 причин выбрать обновлённый фастбэк-кроссовер OMODA C5 

Быть заметным: 8 причин выбрать обновлённый фастбэк-кроссовер OMODA C5 

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