Markings

Тестирование, отладка и инсталяция действия

Чтобы запустить действие из Xcode необходимо отредактировать схему запуска:

Появится диалог, в котором необходимо выбрать приложение , в котором будет запускаться наш bundle-пакет.

Чтобы указать приложению Automator, о необходимости загрузки Вашего bundle-пакета, перейдите во вкладку Arguments и добавьте аргумент , как показано на рисунке ниже:

Далее можете запустить проект, Xcode автоматически запустит Automator и если вы правильно указали путь к тестируемому пакету, загрузит его в установленную Вами категорию. Если у Вас проект на Objective-C, то можете отлаживать его как обычное Cocoa приложение, создавая точки останова по мере необходимости.

Инсталяция действия

Когда ваши действия были тщательно отлажены и протестированы, постройте развертываемую версию пакета (используя соответствующии оптимизации). Затем создайте инсталляционный пакет для действия (или добавьте действие к пакету установки приложения). Установщик должен копировать действия в или , в зависимости от того, доступ к действию должен быть.

Вместо установки ваших действий отдельно, вы можете положить их в bundle-пакет вашего приложения, особенно если действие использует возможности этого приложения. Когда Automator выполняет поиски действий для показа, он просматривает внутри зарегистрированных приложений, как в стандартных каталогах Automator. Преимуществом упаковки ваших действий внутри приложения является то, что вам не нужно создавать отдельный пакет установки, чтобы установить свои действия. Чтобы установить действия, пользователю нужно только перетащить приложение в стандартное место.

Bundle-пакеты действий должны храниться внутри пакета приложения . Таким образом, если ваше действие и ваше приложение , путь внутри пакета приложения будет выглядеть так:

Определение свойств действия

Приложение Automator использует специальные свойства в информационном списке свойств (), чтобы получить различные части информации, необходимой для представления и обработки действий. Эта информация включает в себя:

  • Наименование действия
  • Иконка действия
  • Приложение, категории и ключевые слова для действия
  • Типы данных, которые действие принимает и типы данных, которые оно предоставляет
  • Описание действия

Automator свойства имеют префикс «AM». Шаблон проекта для действий включает в себя почти все свойства, которые вам нужны (или, возможно, потребуются). Шаблон содержит полезные комментарии в качестве заполнителей для ключей. При создании действия, необходимо поставить реальные значения для этих ключей. «Справочник свойств действия» описывает свойства Automator, включая их назначение, типы значений и образец значения.

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

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

CompanyNameActionIdentifier

Например, если название вашей компании является Acme и ваш действие называется Find Foo Items, подходящие значение могло бы быть .

Шаблоны Automator проекта задают два свойства, AMName и идентификатор действия часть CFBundleIdentifier, с замещающим текстом. При создании проекта, название проекта заменяет заполнитель. (Если имя проекта содержит пробелы, Xcode заменяет их символом подчеркивания.)

Скачивание всех аудио и видео файлов со страницы

Ну а сейчас мы создадим более специфический, но не менее полезный скрипт, благодаря которому скачать практически весь медиаконтент не составит труда.

1. Повторите пункты 1-3 предыдущей инструкции.

2. Теперь перетащите параметр «Получить URL ссылок из веб-страниц». Если вы оставите галочку в чек-боксе то скачаются все аудио- и видеофайлы с домена на котором находится страница, а если снимете — скачаете все файлы со страницы вне зависимости от того на каком домене они располагаются.

3. Добавьте в конец параметр «Фильтровать URL». Благодаря фильтру вы сможете конкретизировать свой запрос.

Например, если захотите скачать только MP3-файлы, то в связку «Путь — содержит» добавьте «.mp3» (без кавычек), если видео в MP4 — «.mp4», и так далее.

4. Ну а теперь осталось добавить уже знакомый параметр через который мы указываем место для сохранения файлов — «Загрузить URL».

Скачивание при помощи этого скрипта осуществляется аналогичным образом как в предыдущем абзаце.

Я в один клик скачал подборку композиций Моцарта, а так бы пришлось по отдельности загружать каждый трек.

Early Access

Automation is still heavily in development. There is already many hours of interesting gameplay to be had out of Automation, but some major features are not complete. Large updates are usually released every few months.

The current release contains an all new Unreal Engine 4 based update to the Car and Engine design aspects of Automation, with a whole load of scenarios and challenges to play.   A small taste of the Tycoon gameplay can be had in the «Lite Campaign»  Although this is running on an older game engine version and doesn’t look as stunning right now!We’re currently hard at work on the «Lite Campaign V3» update which will be a much more in-depth and polished campaign game mode, in the Unreal Engine version. We aim to run our development process as openly as possible, and release regular and detailed video updates explaining exactly what we’re working on at the moment. 

Actions

Интерфейс программы разделён на две части. С левой стороны имеется библиотека действий и переменных, а с правой — рабочая область. Логика работы Action(s) проста — мы добавляем простым перетаскиванием из библиотеки в рабочую область нужное нам действие и настраиваем при необходимости его параметры. Результат работы одного действия, то есть его выходные данные, являются входными данными для следующего действия. В итоге у нас получается этакий кортеж из действий. Например, на выходе мы получаем список файлов, на следующем шаге мы их можем скопировать, переместить, заархивировать, распаковать и прочее.

Если два действия могут быть связаны таким образом, то между ними в рабочей области показывается переход. Если же между ними автоматически не появился переход, то типы данных несовместимы. Например, на выходе мы имеем список строк, а следующим этапом пытаемся сконвертировать изображения в JPEG — логично, что ничего хорошего не будет при попытке в лоб обработать такую последовательность

Обратите внимание, что все действия в пределах одной рабочей области выполняются одно за другим. Операции условного перехода есть, также любой кортеж можно зациклить или повторить

Также можно спокойно перетаскивать действия и менять их последовательность в пределах рабочей области. При попытке добавить действие, которое требует входных данных, но их ещё нет, Action(s) предложит добавить в предыдущие шаги необходимые действия. Для большинства действий надо также настроить параметры — указать файлы, задать шаблон имени и так далее. Если вы не хотите жёстко задавать их, то во многих случаях можно просто поставить галочку Show when running the workflow. В этом случае при выполнении действия пользователя попросят указать нужные параметры — например, выбрать список обрабатываемых файлов. В общем, для быстрого понимания лучше всего просто скачать программу и потренироваться «на кошках» — каких-нибудь некритичных данных.

Что касается переменных, то тут всё просто — их можно использовать в качестве входных данных или параметров, а также для выполнения некоторых действий. Их можно как задавать вручную, так и получать или генерировать в ходе работы. Чтобы добавить переменную, перетащите её в рабочую область. Потом её можно задать, к примеру, в качестве имени файла — надо будет также просто перетащить её в нужное поле. Правда, частенько программа «сходит с ума» — подвести курсор к нужному полю тяжело, так как оно мечется вверх-вниз. Также надо следить за тем, что именно выдаёт или получает переменная. Например, Current Date при попытке использования в качестве имени файла выдаёт полную информацию о дате, времени (с двоеточием в качестве разделителя!), часовом поясе etc. Естественно, попытка создать файл с двоеточием в имени закончится крахом. Приходится использовать обходной путь — добавлять действие для переименования файла, указывать в качестве источника имени эту переменную и уже вручную задавать корректный формат выдачи.

Для лучшего понимания рассмотрим два примера. Посмотрите на скриншот выше. Этот кортеж выполняет следующую последовательность действий: делает скриншот с задержкой в 10 секунд и уведомлением пользователя об этом, добавляет к имени получившегося jpeg-файла текущую дату и время, а затем переходит к первому действию. И так шесть раз подряд. Готовые скриншоты попадают в папку screenshots. Это простейший пример автоматизации рутинной операции. Следующая «программа» чуть сложнее.

Using Variables from your Workflow in AppleScript

It’s very easy to use Automator to collect variables, files, text, etc. Combine that with the power of AppleScript and you can do some pretty nifty stuff.

If you take a look at the standard data added to a Run AppleScript you’ll see the following:

on run {input, parameters}
	return input
end run

The input at the end of the Run Applescript action is actually an array of all data collected prior to this action in the workflow. To use these inputs, you need to assign them to a variable in your AppleScript.

set documentsDirectory to item 1 of input

You can assign variables with either set or copy, followed by the name of the variable. You can assign it a value straight away, above where you assign the value of the first item in the array of inputs.

If you have multiple variables, they are available based on their position in the workflow:

The variables could be assigned as follows:

set documentsDirectory to item 1 of input
set computerUptime to item 2 of input
set currentWeekday to item 3 of input

Let’s try this out. You’ll be making a simple workflow that takes a variable (in this case your computer’s documents directory) and runs a command in terminal, based on the variable.

In Automator start a new project and select Workflow as the project type.

Select Variables in your library and search for Documents and drag it onto your workflow.

Go back to your Actions library and drag a Run AppleScript action onto the workflow:

Enter the following into your AppleScript text box:

on run {input, parameters}
 
	set documentsDirectory to item 1 of input
 
	tell application "Terminal"
		activate
		do script "cd " & documentsDirectory
	end tell
 
	return input
end run

Run the workflow. The current directory will change to your documents directory:

To recap, you first instantiate a new variable called which is then assigned to the first item in the array of inputs. You then tell your terminal application to activate it. Once activated, it will run the text string script which is made up of text and the variable.

This is a very simple example but will give you some ideas about how you can expand it, and how AppleScript can become even more useful to you.

If you plan on doing a lot of shell command automation, then there is an action called Run Shell Script to make this process even more efficient.

Sikuli

Этот маленький код сворачивает все окна, открывает главное меню, переходит в панель управления, ну и так далее. В результате сетевой адаптер будет получать IP-адрес автоматически. Естественно, что на другом компьютере такой скрипт уже не сработает, хотя бы потому что Microsoft пока не запретила менять оформление Windows. Отсюда и ряд потенциальных проблем при работе с Sikuli. Распознавание участков изображения хоть и хорошее, но не идеальное, да и занимает порядочно времени. Программа может ошибиться и кликнуть не туда, куда надо, или, не найдя нужный кусок на экране, просто остановиться. В следующем примере мы немного улучшим работу скрипта.

Это небольшой «бот» (если это можно так назвать) для одной из браузерных Flash-игр. Делает он одну вещь — пытается найти хотя бы два одинаковых и стоящих рядом элемента и кликнуть по ним. Никакого ИИ тут, конечно, не предусмотрено. Но здесь есть несколько важных вещей. Во-первых, для ускорения процесса распознавания нам нужно исследовать не весь экран, а только одну область поменьше, где сама игра и работает. Для этого используется конструкция with — вписываем её в редактор кода, кликаем по кнопке «Выделить область» и мышью ограничиваем ту часть экрана, где надо будет вести поиск. Sikuli запоминает только абсолютную позицию прямоугольного выделения. Если вы, к примеру, промотаете страницу, то она уже ничего не найдёт.

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

Команды же одного уровня выполняются последовательно, если не указано иное. К этому надо привыкнуть. Шаблоны для поиска на экране можно копировать и перемещать так же, как обычный текст. Для того чтобы «подкрутить» распознавание, надо кликнуть по шаблону. На вкладке «Предпросмотр совпадений» с помощью ползунка «Схожесть» можно отрегулировать строгость поиска. Чем выше её уровень, тем более точное совпадение с шаблоном программа будет искать, но и тратить при этом больше времени и ресурсов.

Есть смысл отрегулировать этот параметр в зависимости от задачи. В этом же окне Sikuli сразу показывает, сколько элементов она нашла при текущем уровне фильтрации. В нашем примере с игрой понижение точности положительно сказывается на числе найденных элементов. В некоторых случаях это будет только мешать. Также среди параметров есть «Смещение цели» — места, которое будет искаться и над которым будет произведено соответствующее действие (клик, ввод). Для повышения точности его тоже надо иногда корректировать.

Создание пользовательского интерфейса

В браузере проекта Xcode, выделите , чтобы открыть файл действия в Interface Builder. файл содержит File’s Owner и First Responder, но он также содержит два других пункта, касающихся действия:

  • Пустой объект NSView (известный как вид контента действия, или просто, вид действия), на которой вы установите элементы управления, текстовые поля и другие элементы пользовательского интерфейса для настройки параметров действия.
  • Экземпляр класса NSObjectController названный Parameters. Parameters, используется для создания bindings-связи между объектами на пользовательском интерфейсе, и экземпляром действия.
  • Для действий на основе AppleScript, AppleScript Info экземпляр, который используется AppleScript Studio для использования содержимых имен и обработчиков событий для объектов в nib файле.

Примечание: Некоторые действия, такие как Connect to Server, не имеют пользовательского интерфейса, потому что нет никаких возможных настроек, которы может сделатье пользователь. Однако эти действия все еще появляются в рабочем процессе с указанием их названий и принимают и предоставляют типовые данные. Если ваши действия не должны иметь пользовательский интерфейс, удалите экземпляр вида действия из окна nib файла или удалите из проекта.

В панели с элементами управления выберите «Automator», чтобы активизировать палитру элементов управления для Automator.

Создание пользовательского интерфейса действия происходит так же, как для любого пользовательского вида в Interface Builder. Однако, имейте в виду, что, поскольку, действия разделяют пространство в рабочем процессе Automator с другими действиями, то они должны быть компактными, даже минимальными. Установите только те элементы управления, текстовые поля и другие объекты пользовательского интерфейса, которые абсолютно необходимы. И старайтесь быть консервативным в Вашем использовании вертикального пространства, например, предпочитайте всплывающие меню, радио кнопкам для представления пользователям выбора между несколькими вариантами.

Важной характеристикой действия Automator это Show When Run (показ при запуске). Эта функция позволяет пользователям рабочих процессов (в отличие от написания процессов), установить параметры действия, когда они запускают рабочий процесс как приложение

По умолчанию, действия имеют кнопку раскрытия Options в их нижнем левом углу, которая при активизиции, предоставляет дополнительные элементы управления, эти элементы управления позволяют разработчику рабочего процесса, выбрать компоненты вида действия, которые представлены пользователям, когда рабочий процесс выполняется. Разработчики могут настраивать функцию Show When Run.

Важно: В случае развертывания действия в нескольких локализациях, убедитесь, что вы создали отдельный файл и пользовательский интерфейс для каждой локализации. См

«»

Ссылки

  • [http://www.apple.com/macosx/features/automator/ Официальная страница программы]
  • [http://www.apple.com/downloads/macosx/automator/ Официальная страница загрузок дополнительных расширений]
  • [http://developer.apple.com/documentation/AppleApplications/Conceptual/AutomatorConcepts/index.html Официальная страница документации программы]
  • [http://www.spiderworks.com/books/automator.php Mac OS X Technology Guide to Automator]
  • [http://www.automise.com/automise.aspx Automise] and [http://www.scriptahead.com ScriptAhead], two similar applications for Microsoft Windows.

Creating a Folder Action

Open Automator and select New to create a new project. Select Folder Action and click Choose. and you’ll see the input at the top of the workflow is different again:

Here you can choose the folder to apply this folder action to.

From the dropdown menu select Other… and go to the location you want your folder. If you don’t have a location in mind, just create it on the desktop for now. To do this, select New Folder and call it Prepare Images for iOS.

Open this folder via finder and add two more folders in it, one called Processed the other called Processed @2x, this is where photos will go after processing.

Your folder structure should now look like:

Go back to the Automator project and add the Copy Finder Items action from the library to the workflow. Remember to use the search box if you’re having trouble finding it.

In the To: dropdown list select Other… and locate the folder named Processed @2x.

Your workflow should now look like this:

This moves the files from the Prepare Images for iOS folder to the Processed @2x subfolder.

Next, you’ll rename the file so that it has @2x at the end of the file name but before the file extension.

From your library add the action called Rename Finder Items. Make sure the dropdown box at the top of the action is set to Add Text. In the Add: area type @2x and set it to After Name. Note that there is a small text label below this section which gives you an example of how the filename will look after this modification:

Go to File then Save, call it Prepare for iOS.

This is all you need do for full resolution images, but you’ll also need half resolution versions with the original filename.

Note: You can create multiple workflows and assign them to the same folder, and even select which actions to do for a given batch.

To try this out, go to your desktop and right-click the Prepare Images for iOS folder, go down to Services and select Folder Actions Setup…

Below is an example of a folder set up to run 2 workflows:

Use the checkboxes to enable or disable folder actions, as well as the individual scripts. How simple is that?

But don’t get ahead of yourself! Work through this next exercise to make it work with a single workflow, and focus on learning about variables.

Примеры работы с Automator

Наиболее простым способом разобраться с основными положениями данной программы является автоматический запуск какого-либо приложения. Прежде чем приступить к созданию первого действия, следует запустить непосредственно сам Automator. На мониторе появится меню, в котором нужно выбрать начальный проект. Как правило, многие пользователи останавливаются на проекте «Произвольный». Это позволяет получить процесс, который от начала и до конца можно заполнить своими операциями.

Главное окно программы

Следующим шагом на пути к созданию простейшего процесса автоматизации станет переход по вкладке «Действия» к полю «Служебные программы». Из всех возможных действий необходимо выбрать «Запустить программу» и перетащить его на поле, где процессы располагаются в порядке их выполнения.

Дальнейшие операции также предельно просты: выбирается программа для запуска и сохраняется весь процесс (через меню Файл/Сохранить как).

В принципе, с такой лёгкостью в Automator и создаются все процессы. Однако этот пример не нёс в себе реальной пользы, а использовался лишь в качестве обучения. Зато теперь можно переходить к рассмотрению более наглядных примеров.

Достаточно полезным действием служит автоматическое закрытие всех открытых в конкретный момент программ. Зачем же это нужно:

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

Создание такой функции в программе Automator напоминает предыдущий рассматриваемый процесс. Небольшая разница состоит в том, что из списка действий, предложенного в поле «Служебные программы», вместо «Запустить программу» следует выбрать «Завершить все программы». При этом будут закрываться все программы (исключением являются системные процессы типа Finder). Кроме того, чтобы скрипт закрывал конкретное приложение, его нужно добавить в специальный список.

Рабочий процесс

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

По завершении компиляции созданное приложение сможет выполнять все поставленные перед ним задачи. Этот пример наглядно показывает, как создавать сложные действия, которые состоят из нескольких процессов, включающих передачу данных от одной операции другой.

Batch Rename Multiple Files

If you often rename multiple files at once, there are several ways to batch rename files on a Mac, including creating an Automator workflow and saving it as an application.

You can also use Automator to create a Batch Rename service. This allows you to select files, right-click on them, and select the Batch Rename service from the Services menu. Be sure to select files or folders from the Service receives selected dropdown list and Finder.app from the in dropdown list above the workflow.

When you visit File > Save and enter a name for the Batch Rename service, it’s saved in the correct place and automatically added to the Services menu.

Наиболее часто используемые приёмы в Hazel

И вот вы переводите взгляд в строку меню macOS, жмёте по иконке Hazel и выбираете пункт Open Hazel…, после чего приступаете к глобальному упрощению жизни на Mac.

1. Содержим корзину в чистоте + правильно удаляем программы.

Переключитесь на вкладку Trash, после чего появятся следующие возможности:

  • удаление файлов, хранящихся в корзине более установленного времени;
  • недопуск увеличения корзины более необходимого размера;
  • выбор параметров удаления файлов из корзины (нормальное или с затиранием файлов).

Также во вкладке Trash имеется функция грамотного удаления программ, которая заменит специализированные утилиты вроде AppCleaner или App Zapper. Для её активации достаточно поставить галочку напротив пункта Enable App Sweep.

После этого в случае перемещения файлов из папки «Программы» в корзину Trash, автоматически будут удаляться все связанные с программой файлы вроде кэша, настроек и так далее. При восстановлении удалённой программы из корзины все файлы, порезанные App Sweep, возвратятся на исходное место.

2. Сортируем содержимое папок.

С Hazel можно очень быстро отсортировать содержимое любых папок по необходимым директориям. На примере папки «Загрузки», как наиболее захламлённой всякими файлами, скачанными из сети, рассмотрим работу программы.

Перейдите во вкладку Folders, в левой колонке выделите папку «Загрузки», а в правой нажмите плюсик для создания нового действия.

Сейчас мы сделаем так, что бы все скачанные видеозаписи автоматически перемещались в папку с фильмами. В поле If, являющимся условием, выберите Kind, а в разделе с типом файлов укажите Movie. В поле Do укажите действие Move, после чего задайте требуемую папку.

Также, к примеру, можно автоматически добавлять музыкальные или видеофайлы в медиатеку iTunes.

Всё что останется — нажать кнопку ОК для добавления правила в список выполняемых действий.

3. Переименовывание файлов.

Hazel отлично справляется с переименовыванием файлов. Например, скриншоты в macOS именуются в формате «Снимок экрана «дата» в «время»», а нам необходимо чтобы они были в формате «screenshot-«номер»».

В качестве папки укажите рабочий стол, ведь именно на нём сохраняются все новые скриншоты. Все скриншоты имеют формат PNG, поэтому выберите расширения Extensions и укажите соответствующий формат. В действиях укажите Rename и выберите формат имени создаваемых файлов.

Через несколько секунд новоиспечённый скриншот тут же переименуются под заданные требования.

4. Создаём папку, автоматически архивирующую содержимое.

Создайте в Finder папку с именем «Архив», после чего мы сделаем с помощью Hazel так, чтобы все файлы, добавленные в эту папку, автоматически архивировались, переименовывались с указанием даты и перемещались в другую папку.

В параметре If выберите Kind is Folder и добавляйте следующие действия нажатием кнопки плюс:

  • Archive (архивация);
  • Rename (переименовывание);
  • Move (перемещение).

5. Выделяем цветом.

Благодаря Hazel и тегам в системе macOS можно помечать те или иные файлы в зависимости от условий. К примеру, пусть помечаются красным тегом программы, которые вы не используете в течении полугода.

Выберите папку «Программы» и в условии укажите Date Last Date Last Opened is not in the last. В качестве действия выберите Set Color Label и укажите цвет.

6. Поддерживаем чистоту на рабочем столе.

Имейте привычку содержать рабочий стол в чистоте. Для этого не лишним будет создать на диске папку Inbox, в которую ежедневно к концу работы будут автоматически перемещаться все файлы с рабочего стола. Папка Inbox станет своеобразным временным хранилищем. Если важный файл всё-таки должен остаться на видном месте, то прикрепите к нему цветной ярлык и добавьте его в исключения Hazel.

И это лишь та самая малая часть того, на что способна программа. В сети вы сможете найти кучу мануалов по созданию скриптов, действий, уведомлений и так далее.

Convert Text to an Audio File

If you have a lot of text to read, you might want your Mac to read it to you. You can create a service using Automator that converts selected text to an audio file.

Follow these steps:

  1. Open Automator and create a new Service document.
  2. Select text from the Service receives selected dropdown list. Leave the default of any application selected in the in dropdown list at the top of the pane.
  3. Select Actions on the far left.
  4. Go to Library > Utilities on the left.
  5. Drag the Text to Audio action from the middle column to the workflow on the right.
  6. Select the System Voice you want. Use the Play button to listen to the selected voice and see what you like.
  7. Enter a file name for the audio file in the Save As box.

Now you can select text in any program, right-click on the selected text, and select your new service from the Services menu to convert the text to an audio file. The service automatically saves the audio as an AIFF file.

The icon on the file includes a Play button in the middle. Simply click the Play button to listen to the audio file.

Batch Convert and Resize Images on Your Mac

We’ve covered batch converting and resizing images on a Mac

How to Batch Convert and Resize Images on Your Mac

How to Batch Convert and Resize Images on Your Mac
Don’t convert and resize images separately! There are several easy ways to quickly batch convert and resize images on your Mac for free.
Read More

by creating an application in Automator.

Again, you can also create a Convert and Resize Images service using Automator that allows you to select the files, right-click on them, and select the Convert and Resize Images service from the Services menu. Be sure to select files or folders from the Service receives selected dropdown list and Finder.app from the in dropdown list above the workflow.

When you open File > Save and enter a name for the Convert and Resize Images service, it saves to the correct place and automatically joins the Services menu.

Script Walk Through

Below is the version Jackie walked through in the webinar which utilized the old “pre COM” approach.   of the Taskbar Notification script which doesn’t use the old COM interface

var=
(
One
Two
three
four
)

;*********Use For loop over Var going line by line*********************
for i, row in Loopobj:=StrSplit(var,"`n","`r") 
{ ;use For loop to parse over line breaks
  
  TaskbarProgress((i/(Loopobj.maxindex()))*100	,"P",WinExist("ahk_class AutoHotkeyGUI")) ;pwb is to IE, N=green, P=Yellow E=Red  ;Taskbar notifier for loop
  
  MsgBox % Row " and percent: " round((i/(Loopobj.maxindex()))*100) "%"
}
return


TaskbarProgress(pct, state="", hwnd=""){
  static tbl, s0:=0, sI:=1, sN:=2, sE:=4, sP:=8
  if !tbl 	{
    COM_Init() ; Create a TaskbarList object with ITaskbarList3 interface:
    if DllCall("ole32\CoCreateInstance", "uint", COM_GUID4String(CLSID,"{56FDF344-FD6D-11d0-958A-006097C9A090}"), "uint", 0, "uint", 21, "uint", COM_GUID4String(IID,"{ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf}"), "uint*", tbl) != 0 		{
      MsgBox 16,, Error creating TaskbarList object. Is this script running on Windows 7? Exiting.
      ExitApp
    }
  }
  if hwnd =
    hwnd := WinExist()
  if pct is not number
    state := pct, pct := ""
  else if (pct = 0 && state="")
    state := 0, pct := ""
  if state in 0,I,N,E,P   ; ITaskbarList3::SetProgressState
    DllCall(NumGet(NumGet(tbl+0)+40), "uint", tbl, "uint", hwnd, "uint", s%state%)
  if pct !=               ; ITaskbarList3::SetProgressValue
    DllCall(NumGet(NumGet(tbl+0)+36), "uint", tbl, "uint", hwnd, "int64", pct*10, "int64", 1000)
}

;********************From ; COM.ahk Standard Library ; by Sean ; http://www.autohotkey.com/forum/topic22923.html***********************************
COM_Init(bUn = ""){
  Static	h
  Return	(bUn&&!h:="")||h==""&&1==(h:=DllCall("ole32\OleInitialize","Uint",0))?DllCall("ole32\OleUninitialize"):0
}

COM_GUID4String(ByRef CLSID, String){
  VarSetCapacity(CLSID,16,0)
  DllCall("ole32\CLSIDFromString", "Uint", &String, "Uint", &CLSID)
  Return	&CLSID
}

How to Use Automator to Open Applications and Folders

It only takes a few clicks to get Automator working for you. Here’s how to use it to open applications and folders in your Finder.

  1. Open Automator from your Applications folder.

  2. Select New Document in the window that pops up when you first open Automator.

    Older versions of Mac OS X don’t have the New Document step. You can click on Application first.

  3. Click Application.

  4. Click the Choose button.

  5. In the Library list on the left of Automator, select Files & Folders.

  6. Locate Get Specified Finder Items in the middle panel and drag it to the panel on the right-hand side of Automator.

    You can also double-click it in place of dragging it.

  7. Click the Add… button to add an application or folder to the list of Finder items.

  8. Navigate to the application or folder you want to open, select it, and then click Add.

  9. Repeat these steps until you’ve added all of the items you want to open.

  10. From the Library pane, drag the Open Finder Items to the workflow pane, below the previous action.

  11. This completes the part of the workflow that opens applications and folders. To have your browser open a specific URL when you run your program, continue on with the next step.

How to Test, Save, and Use the Workflow

When you’ve added the applications and URLs to your workflows, here’s how to test and save it.

  1. Test your workflow to make sure it functions correctly by clicking the Run button at the top-right corner of Automator.

  2. Automator will run the workflow. Check to be sure that all of the applications opened, as well as any folders you may have included. If you wanted to open your browser to a specific page, make sure the correct page loaded.

  3. Once you’ve confirmed that the workflow works as expected, you can save it as an application. To do so, select Save under the File menu.

  4. Enter a name and location for your workflow application and click Save.

  5. Saving the workflow will create an application on your computer. Double-click it to run the actions you specified. Because it works just like any other Mac application, you can also click and drag the workflow application to the Dock, or to a Finder window’s sidebar or toolbar.

Универсальный доступ к медиатеке

Если вы часто работаете с пакетами iLife и iWork, то наверняка привыкли пользоваться встроенным медиабраузером – панелью, открывающей доступ к видео, фото и песням iTunes. Однако из-за отсутствия этой панели в других приложениях пользователи вынуждены отдельно открывать папку Видео, iPhoto или iTunes. Проблему решает Automator.

Например, для автоматизации резервного копирования файлов с рабочего стола в другую папку (например, на другом диске) укажите шаблон Напоминание iCal и создайте такую последовательность действий: Получить указанные объекты Finder, Получить содержимое папок и Копировать объекты Finder. (В разделе Файлы и папки в первой колонке). Перенесите исходную папку для бекапа на первое действие,  Получить содержимое папок оставьте как есть, а в Копировать объекты Finder укажите место назначение файлов (папка Backup). Теперь, когда вы нажмете кнопку Запустить, то увидите, что все объекты с рабочего стола окажутся в папке Backup. (Для замены старых файлов в папке поставьте галочку “Заменять существующие файлы”).

Когда вы будете сохранять процесс, программа попросить дать название Напоминанию iCal, а затем запустит iCal с окном редактирования события. Здесь вы можете создать повторяющееся событие. Например каждый день в 4:00 будет производиться резервное копирование всех файлов с рабочего стола в другую папку.

Примечание: Automator позволяет настроить автоматическую очистку рабочего стола. Представьте, все документы, фотографии, видео и и прочие файлы, накопившиеся за день, чудесным образом раскладываются по нужным папкам при выключении компьютера. Инструкция по настройке здесь.

Ссылка на основную публикацию