Лайфхакер
Лайфхакер
Лучшее
Новости
Жизнь
Рецепты
Здоровье
Кино
Технологии
Покупки
Лучшее
Новости
Жизнь
Рецепты
Здоровье
Кино
Технологии
Покупки
Куда поехать на выходные
Распродажа 11.11
✍️ Написать
Добрые новости
Есть мнение
Норм или стрём
Личный опыт
Объясняем за минуту
МакрадарСоветы
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
Это интересно
Что в сумке? Как изменилось то, что мы носим с собой

Что в сумке? Как изменилось то, что мы носим с собой

Няня и социальный контракт: что нужно знать о господдержке многодетных семей в 2026 году  

Няня и социальный контракт: что нужно знать о господдержке многодетных семей в 2026 году  

Как легко смонтировать ролик: 6 шагов для новичков на примере Мовавика Видео

Как легко смонтировать ролик: 6 шагов для новичков на примере Мовавика Видео

Реклама
Чем заняться в выходные осенью в Санкт-Петербурге: 5 идей на любой вкус

Чем заняться в выходные осенью в Санкт-Петербурге: 5 идей на любой вкус

Комментарии
Авторизуйтесь, чтобы оставить комментарий
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
Да, все правильно. :)
Что вы могли пропустить
OnePlus раскрыла точные даты выхода Android 17 на некоторых устройствах
OnePlus раскрыла точные даты выхода Android 17 на некоторых устройствах
0
6 ноября
Советы
Советы
3 способа аккуратно сложить простыню на резинке
3 способа аккуратно сложить простыню на резинке
4 ноября
«Горящая изба»
Советы
Астрономы обнаружили крупный ледяной объект за Плутоном
Астрономы обнаружили крупный ледяной объект за Плутоном
0
30 октября
Новости
Советы
Как заточить нож дома, чтобы он резал даже помидоры
Как заточить нож дома, чтобы он резал даже помидоры
28 октября
«Горящая изба»
Советы
Как выбрать кухонный нож: 3 совета от Samura
Как выбрать кухонный нож: 3 совета от Samura
0
27 октября
Советы
Советы
Экологичность на автопилоте: как заботиться о природе, если у вас мало времени
Экологичность на автопилоте: как заботиться о природе, если у вас мало времени
0
26 октября
Советы
Советы
Пока ждёте GTA 6: 30 игр на PS5 для двоих
Пока ждёте GTA 6: 30 игр на PS5 для двоих
0
25 октября
Советы
Советы
«Крёстные отцы ИИ» и 400 учёных потребовали запереть мощные нейросети в «песочницах»
«Крёстные отцы ИИ» и 400 учёных потребовали запереть мощные нейросети в «песочницах»
0
15 октября
Новости
Советы
Смартфоны Samsung могут получить Galaxy OS — новую оболочку на базе ИИ
Смартфоны Samsung могут получить Galaxy OS — новую оболочку на базе ИИ
0
14 октября
Советы
Советы
5 простых способов почистить чайник от накипи
5 простых способов почистить чайник от накипи
13 октября
«Горящая изба»
Советы
Как постирать куртку в стиральной машине и не испортить вещь
Как постирать куртку в стиральной машине и не испортить вещь
9 октября
«Горящая изба»
Советы
Как прочистить унитаз от засора
Как прочистить унитаз от засора
0
28 сентября
Ликбез
Советы
Шестилетняя девочка из Китая установила рекорд по сборке кубика Рубика
Шестилетняя девочка из Китая установила рекорд по сборке кубика Рубика
0
25 сентября
Советы
Советы
Какой обогреватель для дома выбрать, чтобы не переплачивать по счетам
Какой обогреватель для дома выбрать, чтобы не переплачивать по счетам
15 сентября
«Горящая изба»
Советы
Съезжаем со съёмной квартиры: чек-лист уборки, которая поможет вернуть депозит
Съезжаем со съёмной квартиры: чек-лист уборки, которая поможет вернуть депозит
0
7 сентября
Советы
Советы

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

Аватар автора комментария
Иван Платицын7 минут назад

0 / 0

Видно это ветерок твои губы колышет, Видно это я кричу тебе, Но ты меня не слышишь Что там за ветер такой😂
10 токсичных цитат из песен о любви, которые только кажутся романтичными
Аватар автора комментария
MinimumLaw1 час назад

0 / 0

Очень кратко. Если это не является проблемой для обоих - норм. В остальных случаях - не норм. Стрем тут проходит по статьям УК "насильственные действия сексуального характера". Что до авторских позиций - они понятны. Но никто и не говорил, что они будут приняты безоговорочно.
Норм или стрём: заниматься сексом на первом свидании
Аватар автора комментария
Сергей Янков6 часов назад

+1 / 0

Оскар одна из лучших его работ , а вот кобра и отряд самоубийц ну такое . Лучше уж Судья Дред .
Без Рокки и Рэмбо: в Сети выбрали 10 лучших фильмов Сильвестра Сталлоне
Аватар автора комментария
Avan Soulse6 часов назад

0 / 0

"То есть, хотя я и готова на секс, я не готова на секс с кем попало. Ухаживания никто не отменял." Иными словами, вы хотите получить живую и бесплатную секс-игрушку, которая ещё будет за вами предварительно ухаживать, при этом рискуя самой оказаться игрушкой, т. к. человек наверняка пожелает сполна возместить свои затраты. Чертовски смелая позиция. Касательно "И до тех пор, пока люди отправляются в постель добровольно, в этом нет ничего особенного." тоже неоднозначный вопрос, что считать добровольностью? В современном мире концепция "свободных связей" опирается на идею максимальной автономии: мол, два взрослых адекватных человека договорились о правилах игры. Однако на практике идеальное равенство встречается редко — почти всегда один из участников привязывается сильнее, а другой пользуется этим и доминирует. Не говоря уже о психологических состояниях (депрессии ли, повышенной тревожности), которые подготавливают почву для нашего якобы "добровольного" согласия.
Норм или стрём: заниматься сексом на первом свидании
Что в сумке? Как изменилось то, что мы носим с собой

Что в сумке? Как изменилось то, что мы носим с собой

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