毎日モザイク

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秒は詰められます。