メインコンテンツに移動

Automator

一定の作業を記録して実行できます.読むのがめんどくさい人は,末尾のサンプルをインストールするだけにしましょう.

  • 新規テキストファイル  なぜかAppleのエクスプローラ, もとい, Finderは「ファイルの新規作成」ボタンがない. そこで,フォルダーで右クリックしたら【クイック攻撃】【ファイル新規】ボタンを表示するものである.
  • pdfcrop なぜか, pdfファイルを作成するとA4で作成するソフトウェアが多い. LyXやTeXをインストールしていれば, pdfcropコマンドで余白の自動切り落とし訂正可能である.が,面倒なので, pdfファイルで右クリックしたら【クイック攻撃】【pdfcrop】を表示する
  • base64enc HTMLを書くとき,なんや画像をインラインで書きたいことがありますよね!ほれ,「画像を挿入」ボタンがなぜか存在しないエディターとかWebサイトとか,アホなサイトってありますよね!試験の採点用のページとか!こいつをインストールしておいて,画像ファイルを選択しておいて二本指クリックして【クイック攻撃】【base64enc】 すると,あんたのパソコンのクリップボードに<src image=....> が入れられるので,そのままHTMLに(言うまでもないですが「ソース」編集画面で)ばりっとペーストしちゃってください.これで,学生のレポートに「おまえの解答のここがボケ」と画像を添付することができる.
  • POSIX_Alias Linuxの「シンボリックリンク」を作成します.
    • 例えば, あるフォルダーにたくさんデータがあって,別のフォルダーでもそれを使いたい.だが,そのフォルダーをコピーするのは容量がデカすぎて無理!という時に,データフォルダーの「別名」を作っておけば,データをコピーしなくても,別名でアクセスできます.というものです.
    • WindowsやLinuxでも動作するソフトは,MacOSの「エイリアス(ショートカット)」を理解しません.ですが, MacOSはPOSIXのSymbolicLinkは理解します.
    • MacやLinuxでも動作するソフトは, Windowsの「ショートカット」を理解しません.ですが,WindowsはPOSIXのSymbolicLinkは理解します.
    • Linuxで動作するソフトは, Macの「エリアス」もWindowsの「ショートカット」も理解しません.ですが,LinuxはPOSIXのSymbolicLinkは理解します.
    • 問題は, MacOS・WindowsではPOSIXのSymbolicLinkを簡単に作成できないことです.これを使って簡単に別名(シンボリックリンク)を作成しましょう
    • 別名をつけたいフォルダーで右クリックして【クイック攻撃】【POSIX_Alias】を選択
    • あるいは,別名をつけたいファイルで右クリックして【クイック攻撃】【POSIX_Alias】を選択

    • Aliasを作成するフォルダーを選択

    • 相対パス指定か,絶対パス指定か,を選択
    • これで,Aliasを作成したフォルダーに,別名をつけたいフォルダーやファイルが置いてあるように操作できます.

相対Aliasの場合, Aliasを 「作成先フォルダ/../../行き先フォルダ」   のように, 作成先フォルダに相対的に指定します.

  • なので,Aliasを複数ユーザーで共有している場合でも利用できます.

  • なので,Aliasを別フォルダーにコピーすると,動作しません.

絶対Aliasの場合,Aliasを「/Users/Takagi/.../行き先フォルダ」のように,個人名が入ったパスで指定します.

  • なので,Aliasを複数ユーザーで共有しても,動作しません.

  • なので, Aliasを別フォルダーにコピーしても,利用できます.

 

 

最初の一歩

Automat0rを起動します:

で, アプリケーションを作成

んでスクリプトを書く.

スクリプトは普通のシェルスクリプトでも良いが, AppleScriptを混ぜることもできるよ:

PATH=/usr/local/bin:/usr/bin:/bin       ←PATHは設定されてないから, 最初に設定しよう
if [ $# -eq 0 ];then                               ←引数が与えられなかったら, 選ばせよう
    FILE=`osascript <<@                       ←AppleScriptを起動できるんやで
set theDocument to choose file with prompt "はよえらべ. EPSふぁいるやで"
return POSIX path of theDocument    ←Apple専用形式から普通のPATHに変換
@`
    if [ "$FILE" == "" ]; then
       osascript <<@                                ←ユーザーがファイルを選ばなかったらクレームを入れるとか
display dialog "えらべっちゅっとんぢゃ"
@
       exit 0
     fi
else
     FILE=$1
fi
...

アプリケーションの作成

まあこうやってできたら, 再生ボタンとかクリックして試してみても良い. 完成したら,

インストーラーを作る

さて, 完成したスクリプトをインストールできるようにしよう. 

$ mkdir -p _binrary/Applications                            ← この部分がインストール先PCのルートになるようにする
$ cp -r GhostscriPDF.app _binnary/Applications    ← もちろん,ここはあんたのアプリケーションの名前
$ pkgbuild --analyze --root _binary/ GhostscriPDF.plist  

ここでGhostscriPDF.plist  が作成されるわけであるが, こんな感じである

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
   <dict>
       <key>BundleHasStrictIdentifier</key>
       <true/>
       <key>BundleIsRelocatable</key>
       <false/>       ← ここが true になっていると,なんでか,うまくいかないことが多いので訂正
       <key>BundleIsVersionChecked</key>
       <true/>
       <key>BundleOverwriteAction</key>
       <string>upgrade</string>
       <key>RootRelativeBundlePath</key>
       <string>Applications/GhostscriPDF.app</string>
   </dict>
</array>
</plist>

訂正ができたら,パッケージを作成する:

$ pkgbuild --root _binary/ --component-plist GhostscriPDF.plist --identifier GhostscriPDF   GhostscriPDF.pkg

これで, インストーラー  GhostscriPDF.pkg が作成できるわけね!

QuickActionの作成

appとして見えなくて良いのなら, QuickAction(昔はWorkflowだった)で作成しても同じことができる. 基本的にアプリケーションと同じであるが

  • .app は作成されないが, 作成したファイルをクリックすると,【インストール】してその後削除される.
    • だから編集中に下手に【インストール】すると編集中のファイルが消失する.編集中ならバックアップを取ってから【インストール】
  • インストール後に,【機能拡張】設定画面が出てくる.そこで何も選ばなければ, インストールされない?のではないかな
    • にゃお,インストール先は ~/Library/Services である

 

File attachments