テキストファイルの新規作成できたー
Windowsのエクスプローラ(と大抵のファイラ)ですと、空ファイルを作ってからエディタで開くという手順でもって、あまり使い勝手が良くない開く/保存ダイアログを一切触らずに済ませることができていたのですが、Finderでは空ファイル作成ができないため、今までAutomatorを使っていました。その都度Automatorが起動して遅いとか、メニューの階層が深いとかそういった点でまあいまいちだなあと思っていたわけです。
そんな折、わかばマークのMacの備忘録さんの、Finder Toolbar Scriptsに、Date folderというFinderで表示しているところにフォルダを作成するAppleScriptアプリケーションを発見。
その中のnew folderをnew fileに書き換えたら、空ファイル作ってくれましたですよ!!
これで楽になりました……。
欲を言えば、作成した空ファイルを、リネーム状態まで持っていきたいのですが、Finderもそういうコマンドは持ってないらしくどうすれば良いのかよくわかりません。(そもそもFinderのリネームはメニューにないためenter以外に割り当てることすら困難……)
クリック募金ぽちぽち……。余談ですがクリック募金のサイトすごい凝っていますね。その予算を募金に回(ryというのは禁句なのでしょうか……。
ターミナルを現在のフォルダで開く
これまでOpenTerminalを使っていたのですが、どうせならこれもということでAppleScriptで書いてみました。
スクリプトエディタでアプリケーションとして保存して、Finderのツールバーに配置すればOKです。
tell application "Finder" if Finder window 1 exists then try set select_item to selection as alias set folder_selected to (select_item as string) ends with ":" on error set folder_selected to false end try if folder_selected then -- when Folder selected set target_path to POSIX path of select_item else -- when Folder opened set target_folder to target of Finder window 1 set target_path to POSIX path of (target_folder as alias) end if tell application "Terminal" do script "cd " & (quoted form of (target_path as text)) activate end tell else -- when no Finder window tell application "Terminal" do script "" activate end tell end if end tell
キー入力を送るようなことが必要かと思ってましたが、do scriptは、ターミナルを新たに開いて指定したコマンドを実行させた上で、スクリプトが終了してもそのウィンドウは残ってくれるという素晴らしい仕様です。
それにしてもAppleScriptは、英語とPascalとAdaの折衷のような構文で、各アプリケーション専用の構文を追加しているあたりBASICしてて、非常に気分が良いですね……。下手すると私スクリプト言語は汎用である必要は無いとか言い出しそうです。まだ1日しか使ってないですけど。
起動してすぐ終わるタイプのAppleScriptアプリケーションの起動を速くする方法
スクリプトエディタからアプリケーションバンドルとして保存したAppleScriptアプリケーションは、起動時に回転カーソル(なぜか白黒)が出て一瞬待たされます。
ところがわかばマークのMacの備忘録さんの配布されているものはこの待ちが無いのです。
というわけで真似をして、Info.plistに、"Application is agent (UIElement)"というboolean項目を加えてチェック入れたら、速くなった!!