毎日モザイク

White Room Layout Works

2016-01-18T05:03:16+09:00 [Mon]
--> [労働]

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

osascriptに丸投げすれば何でもできる。

javascriptとかapplescriptにショートカットが付けられないのと、アクションに登録しても終了すると消えてしまう階層が深くて使いづらいスクリプトメニューもplatypusちゃんに埋め込んでしまおう。

普通のosascriptを埋めてもいいし、そこからdo javascriptで呼んでもいい。

処理が大変なものはほとんど作ってないのでdo javascriptでも遅れは体感できないし。

何がどう受け渡しされているかだけ把握すれば大抵のものは埋められそう。

ゆめが広がりング。

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

2016-01-17T02:56:49+09:00 [Sun]
--> [労働]

コピーが終わらない。

Finderの予言によれば、残り9時間。

どう考えても始業には間に合わないw

日曜だから早くても10時位だと思うけど、まるで間に合わなさそう。

Finderの予言は目安にもならないから、残り時間表示はいらない気もする。

2016-01-17T02:30:30+09:00 [Sun]
--> [労働]

コピーできない。

OSXServerのHDDが逼迫してきたので、最初に買った650GBの立派なRAID装置に引退していただいて、でかいのに入れ替えることになりました。

Firewire400なので、コピー時間が超かかる。

Finderの予言どおりなら、開始から14時間。

8時間経過してますが、新たな予言では残り10時間w

寝てればいいやwとは行かないのが常なので、時々監視してました。

やっぱり止まったw

理由ははっきり言わないのですが、コピーできなかったからやめたよ的なメッセージが出て止まってました。

前回確認時から30分程度経ってますから、5分前くらいだといいな……。

OS9があった頃から繋がってるディスクなので、何がどうなってるかわかりません。

自分の機械ならこの機会に整理というのもアリですが、会社のだし、命名規則を厳格化(といっても責任者名をフォルダの頭に付けましょう程度)する前なので、誰の何のファイルかすらわかりません。

2016-01-16T17:37:54+09:00 [Sat]
--> [労働]

osascriptの戻り値の最後には改行が入ってる

on run
    return {"aaa", "bbb"}
end run

というapplescriptを作って、return.scptって名前でosacompile。

[Desktop]% osascript return.scpt
aaa, bbb[改行]
[Desktop]%

perl -e ‘print “aaa”‘

とすると

aaa[Desktop]%

となるところが、osascriptだと最新行は[Desktop]%から始まるので当然といえば当然か…。

しばらくなんのことか分からなかった…。