Atalhos e AppleScript

O JPGBoost integra-se com as ferramentas de automatização próprias do macOS. Está disponível uma ação nativa nos Atalhos e no Spotlight, e um comando compress exposto ao AppleScript e ao Automator.

Incluído no Free

Este recurso está disponível tanto no JPGBoost Free quanto no Pro. No Free, cada imagem processada conta para a cota diária: 50 imagens por dia e 5 MB por arquivo. O JPGBoost Pro remove os dois limites.

Duas formas de automatizar

O JPGBoost expõe duas interfaces de automatização nativas do macOS. Ambas funcionam como processamento independente: recebem arquivos e ajustes como entrada, devolvem arquivos comprimidos como saída, e são independentes da lista atualmente aberta na janela do aplicativo.

  • App Intents para a app Atalhos e o Spotlight.
  • AppleScript para osascript, o Editor de Scripts e o Automator.

O aplicativo não precisa de estar aberta

Esta é a principal diferença em relação à API local e às pastas monitorizadas, que exigem ambas que o aplicativo já esteja em execução.

Seja através de uma ação de Atalhos ou do comando AppleScript compress, o macOS reabre o JPGBoost automaticamente assim que chega um pedido, tal como qualquer outro aplicativo com suporte de scripts. Não tem de fazer nada, mesmo que tivesse fechado explicitamente o aplicativo antes.

O que esperar

O único efeito visível é um ligeiro atraso, o tempo que demora a abrir, quando o aplicativo não estava já aberta. Terminado o processamento, permanece aberta: o macOS não a fecha automaticamente.

A ação «Comprimir imagens»

A ação aparece automaticamente na app Atalhos, na categoria JPGBoost, assim que o aplicativo tenha sido aberta uma vez. Não é necessária qualquer configuração.

  1. Abra a app Atalhos e crie um atalho.
  2. Adicione uma ação que forneça arquivos, por exemplo Selecionar Arquivos ou Obter Conteúdo de Pasta.
  3. Adicione a ação Comprimir imagens do JPGBoost.
  4. Preencha os parâmetros que quiser. Os que deixar em branco podem ser preenchidos por um perfil de exportação.
  5. Encadeie outra ação a seguir, se necessário: a ação devolve os arquivos comprimidos.
ParâmetroFunçãoObrigatório
Input FilesAs imagens a comprimirSim
Output FormatFormato de saída desejadoNão
QualityQualidade de 1 a 100Não
Export ProfileNome de um perfil de exportação existenteNão
Destination FolderPasta de saída (consulte o aviso abaixo)Não

O campo «Destination Folder»

Limitação conhecida da app Atalhos

Este é o ponto que mais costuma confundir. O campo Destination Folder é difícil de preencher corretamente a partir do editor de atalhos. A solução fiável consiste em passar por um perfil de exportação.

Este campo espera uma referência de pasta real em formato URL, ou seja, um caminho que comece por file:// (por exemplo file:///Users/eu/Downloads/), e não texto simples. Os seguintes métodos falham com um erro Invalid URL:

  • escrever um caminho à mão, por exemplo /Users/eu/Downloads;
  • arrastar uma pasta do Finder para o campo, que apenas deposita ali texto simples.

O editor de Atalhos do macOS também não oferece nenhuma ação nativa do tipo «Escolher uma Pasta» que permita construir uma de outra forma.

Caso 1: nenhum atalho para construir

Assim que o JPGBoost tiver sido aberto pelo menos uma vez, a frase genérica que o próprio aplicativo declara («Comprimir imagens com JPGBoost», «Comprimir com JPGBoost») é reconhecida diretamente pelo Spotlight, sem nunca abrir o app Atalhos.

Essa invocação direta transmite apenas os arquivos selecionados. Nenhum outro parâmetro é fornecido, o que provoca o erro «Pasta de destino em falta» enquanto a configuração abaixo não tiver sido feita.

Para que essa invocação funcione:

  1. No JPGBoost, abra Ajustes → Perfis e defina um perfil como perfil padrão, com uma pasta de destino configurada.
  2. No Finder, selecione as imagens a comprimir.
  3. Pressione ⌘Espaço e depois digite «Comprimir imagens».

O JPGBoost preenche então automaticamente os parâmetros que faltam a partir do perfil padrão, incluindo a pasta de destino, o formato e a qualidade.

Nenhum atalho é necessário no app Atalhos.

Caso 2: com um atalho construído

Este caso é útil quando é preciso ter vários comportamentos disponíveis com nomes distintos. Por exemplo, «Comprimir para a Área de Trabalho» pode usar um perfil, enquanto «Comprimir para Arquivo» usa outro. O perfil padrão do caso 1 só permite lidar com um comportamento de cada vez.

  1. No JPGBoost, abra Ajustes → Perfis e crie um perfil com uma pasta de destino, selecionada com o seletor nativo do aplicativo.
  2. No app Atalhos, crie um novo atalho e dê a ele um nome claro, por exemplo «Comprimir para a Área de Trabalho».
  3. Na ação JPGBoost do atalho, preencha apenas Export Profile com o nome do perfil a ser usado. Deixe Destination Folder em branco: a pasta definida no perfil será usada automaticamente.
  4. O atalho fica então diretamente disponível no Spotlight com o nome que você deu a ele, em vez da frase genérica declarada pelo JPGBoost.

Spotlight

A ação também é acessível a partir do Spotlight. As frases de ativação, do tipo «Comprimir imagens com JPGBoost», estão traduzidas nos quinze idiomas suportados.

Idioma de apresentação

O título da ação, a sua descrição, os seus parâmetros e as suas mensagens de erro seguem o idioma da ferramenta que os apresenta (Atalhos ou Spotlight), independentemente do idioma escolhido para a própria janela do JPGBoost.

AppleScript

O comando compress usa-se tal como o de qualquer outro aplicativo com suporte de scripts.

tell application "JPGBoost"
    compress {"/caminho/para/imagem1.png", "/caminho/para/imagem2.jpg"} ¬
        to "/caminho/de/saida" format "webp" quality 80
end tell

Os parâmetros to, format e quality são opcionais. O parâmetro profile pode substituí-los, ou preencher o que eles não cobrem, exatamente como --profile na linha de comandos.

tell application "JPGBoost"
    compress {"/caminho/para/imagem.png"} profile "Web JPEG"
end tell

O comando devolve uma cadeia JSON: um objeto por arquivo, com os campos path, originalSizeBytes, compressedSizeBytes, ratio, destination e error. É a mesma forma da saída --json da CLI e das respostas da API local.

A partir do Terminal

osascript -e 'tell application "JPGBoost" to compress {"/caminho/imagem.png"} profile "Web JPEG"'

A partir do Automator

Use a ação Executar Script AppleScript e cole nela o mesmo bloco tell. Assim pode criar um serviço acessível a partir do menu contextual do Finder.

Permissão de «Automação»

Apenas uma permissão a conceder

Da primeira vez, o macOS mostra o seu habitual alerta de permissão de «Automação»: o aplicativo que envia o comando (Editor de Scripts, Automator ou Atalhos) quer controlar o JPGBoost. Clique em Permitir. Esta permissão só é pedida uma vez.

Resolução de problemas

SintomaCausaSolução
Invalid URL na pasta de destinoO campo recebeu texto em vez de uma referência de pastaUse um perfil de exportação com pasta de destino e deixe o campo em branco
A ação não aparece na app AtalhosO aplicativo nunca foi abertaAbra o JPGBoost uma vez e volte a abrir os Atalhos
A ação falha com uma mensagem de cotaA cota diária do JPGBoost Free foi atingida (50 imagens), ou um arquivo ultrapassa 5 MBAguarde a reposição à meia-noite, ou passe para o JPGBoost Pro para remover os dois limites
O comando AppleScript devolve um erroPermissão de Automação negadaVerifique Ajustes do Sistema → Privacidade e Segurança → Automação. Uma recusa por cota Free não interrompe o lote: é assinalada arquivo a arquivo no JSON devolvido