毎日モザイク

White Room Layout Works

2016-01-17T20:53:27+09:00 [Sun]
--> [労働]

platypusが便利すぎて生きるのが辛い。

http://chuwa.iobb.net/tech/archive/2014/04/illustrator-preferences-1.htmlさんにあるboolean preferenceのリストを拝見して、ショートカット一発では出来ない初期設定の変更をplatypusのステータスメニューに割り当てたものが出来た。

ステータスメニューは使わなかったのですが、osascriptと他のshとかperlとかが標準入出力でやり取りする仕組みがわかった(っていうか行末に改行が入ってるだけだったのですが)のでちょっとした物は全部platypusで書き換えしてます。

昨今は出来上がったものをここに上げてみたところで、コード署名がないので素の状態では起動できませんから晒してもあんまし意味が無いのが残念です。

マジ便利なので、自己責任厨の人は試してみてもいいかも。

とりあえず、頻繁に使うアンチエイリアスのオン/オフのみ

--/*applescript antialias.scpt名義で作ってosacompile
on run arg
	tell application "Adobe Illustrator"
		set blt to do javascript "
	app.preferences.getBooleanPreference(\"antialias/graphic\");
	"
		if item 1 of arg = "1" then --変更(osascriptは標準入力から来た奴はリスト扱いみたいなので、一個でもitem n of にしないと取れない)
			set bl to true
			if blt = "false" then set bl to false
			if bl then
				do javascript "
		app.preferences.setBooleanPreference(\"antialias/graphic\", false);
		"
			else
				do javascript "
		app.preferences.setBooleanPreference(\"antialias/graphic\", true);
		"
			end if
		end if
		return blt
	end tell
end run
#!/usr/bin/perl

$osa_sp_res = `osascript ../Resources/antialias.scpt 0`; #カッコ悪いフラグ 同梱のosascriptは../Resources/以下にそのまま内包される
$osa_sp_res =~ s/(\r\n|\n|\r)$//g; #osascriptからの返しから改行を取る
$line1 = "antialias: $osa_sp_res"; #メニューに表示される項目

# If 0 arguments, we show menu
if (!scalar(@ARGV)) {
    print "$line1\n"; #メニューバーのアイコンをクリックした時
} else {
    if($ARGV[0] =~ /antialias:/) {
        `osascript ../Resources/antialias.scpt 1`; #プルダウンから選択した時
    }
}

##このファイルはどんな名前で作っても、Resources/script で保存される(perlでもshでも同じ)
##自分がperlがなんとかなるからメインにしただけで、対応しているお得意な言語で作ればオケ。

出来上がったら、platypusを起動して、select scriptでperlのファイルを選択。

bundle filesにosascriptをドロップ。

outputをstatus menuにしてcreate。

起動するとステータスメニューでオン・オフが切り替えられる。

こんだけのものですが、boolean preference なら同じ作業で追加できます。

indesignみたいに表示画質の変更のショートカットがないので一回あたり1〜3秒は詰められます。