Terminalから複数の画像(png)を「Quick Look」で開くには?

あるフォルダに「fig1.png, fig2.ping, …」が有るとして、現在は「open -F fig*.png」を実行すると、一つのpreview.appで開かれて、矢印キーで画像を閲覧できる様になて居ます。


本当は「Quick Look」で開くのが望ましいです。どの様にすれば善いか、お教え下さいませんか?

Mac mini, Mac OS X (10.7.5), Mac mini(mid 2011), iMac(late 2009)

投稿日 2013/04/08 03:26

返信
返信: 186

2013/05/10 20:36 mNeji への返信

ダイアログに情報を表示 → プレイリストに追加の AppleScript です。自作の「Amazon/Google で検索...」をちょっと改造しただけの浅漬け...。


property plist : "test2" -- 適宜変更

try

tell application "iTunes"

--

set stream_title to current stream title

if stream_title is missing value then return

set track_name to name of current track

--

set btn1 to "キャンセル"

set btn2 to "OK"

set msg1 to "プレイリストに追加してもよろしいですか?"

display alert msg1 ¬

message "・" & track_name & return & "・" & stream_title ¬

buttons {btn1, btn2} cancel button btn1 giving up after 60

--

duplicate current track to user playlist plist

end tell

on error err_msg

return err_msg

end try

2013/05/10 20:57 Hiro__S への返信

自作の「Amazon/Google で検索...」


これって、インターネットラジオで曲を聴いていてその曲がいいなと思ったらそれを検索するスクリプトってことでしょうか? そちらの方が便利そうです (^^)

#インターネットラジオをプレイリストに登録してもあまり意味ないような・・・

2013/05/10 21:31 mNeji への返信

従って、ステータス・メニューかショートカットでアクセスしたい所です。


紹介したアプリケーションはiTunesの再生等をショートカットキーでコントロールするアプリケーションですが、ショートカットキーを押して情報のフロートウインドウも表示できるよってことです。


追記:Hiro.Sさんのスクリプトの "duplicate current track to user playlist plist" のところを下記に置き換えると一応Googleで検索できるようになりますね(文法的に正しいのかわからないけど)。結構便利かも。

tell application "Finder"

open location "http://www.google.co.jp/search?q=" & stream_title

end tell

2013/05/10 21:37 HAL への返信

どうぞ。


(* インターネットラジオで再生中の曲名をWeb検索する iTunes用 AppleScript

*

* 動作要件

* ・Mac OS X 10.5 以上 (Mac OS X 10.5.8 で動作確認済み)

* ・iTunes 9 以上 (iTunes 9.1 で動作確認済み)

* ※iTunes 7 では動かないので注意!

*

* 保存

* ・AppleScript の場合: スクリプトバンドル形式か、スクリプト形式

*

* 使い方

* ・スクリプトを実行し、ダイアログに従う

*

*)


on run


-- dialog text

set msg1 to "Web 検索してもよろしいですか?"

set msg2 to "検索エンジンを選択:"

set ttl1 to "Radio Info Search"


try


-- iTunes is running?

if application "iTunes" is not running then return


-- get current stream title

tell application "iTunes"

set stream_title to current stream title

if stream_title is missing value then return

end tell


-- set search keyword

set str_input to display_dialog(msg1, stream_title, ttl1)


-- url encode

set myKeyU to url_encode(str_input, "UTF8-MAC", "UTF8")


-- list items

set x01 to "Google ja"

set y01 to "http://www.google.co.jp/search?hl=ja&q=" & myKeyU


set x02 to "Amazon JP - Google"

set y02 to "http://www.google.co.jp/search?hl=ja&q=" & myKeyU & "&as_sitesearch=www.amazon.co.jp"


set x03 to "YouTube"

set y03 to "http://www.youtube.com/results?search_query=" & myKeyU


-- list

set ary to {{x01, y01}, {x02, y02}, {x03, y03}}


-- choose from list and get num

set num to get_num(ary, msg2)


-- go!

open location (item 2 of item num of ary)


on error err_msg

return err_msg

end try

end run


-- subroutine: display_dialog()

on display_dialog(msg1, ans1, ttl1)

repeat

display dialog msg1 default answer ans1 with title ttl1

get text returned of result

if result is not "" then

return result

end if

end repeat

end display_dialog


-- subroutine: convert text encoding and url encode

on url_encode(str, conv_from, conv_to)

do shell script ("

printf '%s' " & quoted form of str & " |

iconv -c -f " & conv_from & " -t " & conv_to & " |

php -R 'print rawurlencode($argn);'

")

end url_encode


-- subroutine: return item number selected in list-dialog

on get_num(ary, msg)

set ary_new to {}

repeat with f in ary

copy (item 1 of f) to end of ary_new

end repeat


tell application "System Events"

activate

choose from list ary_new with prompt msg default items item 1 of ary_new

if result is false then

error number -128

else

set res to result as text

end if

end tell


set c to 1

repeat with i in ary_new

if contents of i is res then

return c

end if

set c to c + 1

end repeat

end get_num

2013/05/10 21:37 HAL への返信

HALさん:


これって、インターネットラジオで曲を聴いていてその曲がいいなと思ったらそれを検索するスクリプトってことでしょうか? そちらの方が便利そうです (^^)


確かにそうですね、インターネットラジオで流れている曲のCD情報をアマゾン検索して、一定のディレクトリに.weblocで保存してくれると嬉しいです。


時間が取れた時に、「Quick Look」で一覧して、欲しければ注文もすぐできるし、最高ですぅ。

2013/05/10 21:54 HAL への返信

訂正。

あれ? スクリプト単体で実行すると問題ないけど、iTunesのスクリプトメニュに登録するとsearchというタイトルでインターネットラジオが新たに作成されて再生が別の曲に移ってしまいます。


時間があるときに落ち着いて動作確認してみることにします。


追記:アプリケーション形式で保存してスクリプトメニュに登録すれば問題ない模様。

2013/05/10 22:32 HAL への返信

あら、動きませんでしたか...。


サブルーチンの呼び出しに my を付けるか

display_dialog(msg1, stream_title, ttl1)

my display_dialog(msg1, stream_title, ttl1)


url_encode(str_input, "UTF8-MAC", "UTF8")

my url_encode(str_input, "UTF8-MAC", "UTF8")


get_num(ary, msg2)

my get_num(ary, msg2)


大きく tell me で括ってみるとどうでしょうか?

-- set search keyword

__省略__

open location (item 2 of item num of ary)



tell me

-- set search keyword

__省略__

open location (item 2 of item num of ary)

end tell

2013/05/10 22:45 Hiro__S への返信

サブルーチンの呼び出しに my を付けるか


大きく tell me で括ってみるとどうでしょうか?


双方試してみましたが、スクリプトで保存してiTunesのスクリプトメニュから実行するとやはり動作しないようです。

ただ、追記で書いたのですがアプリケーション形式で保存すれば動作するので全く問題ありません。

お手を煩わしてしまって申し訳ないです。

#最近いろいろアップルスクリプトを試す機会がありますが、アプリケーション形式とスクリプト形式で動作が違うというのは結構ありますね。

#何がどのように影響しているのかさっぱりわかりませんが・・・

2013/05/10 23:24 HAL への返信

いえいえ。こちらこそお手数をおかけしてすみません。これはちょっと分かりません。どこが問題か分かればいくらでも書き直せますが何しろ環境がないので...。宿題とします。どなたか直していただけるとありがたいです。


あとは、スクリプトの置き場所を "~/Library/Scripts/" にしてみる、Spark.app から実行してみる、Automator AppleScript にする...とかでしょうか。アプリケーション形式で動くのがせめてもの救いですね。


ちなみに Automator - AppleScript の場合は do shell script を次のように書き換える必要があります。


-- subroutine: convert text encoding and url encode

on url_encode(str, conv_from, conv_to)

set sh1 to "printf '%s' " & quoted form of str & " | "

set sh2 to "iconv -c -f " & conv_from & " -t " & conv_to & " | "

set sh3 to "php -R 'print rawurlencode($argn);'"

do shell script sh1 & sh2 & sh3

end url_encode


#最近いろいろアップルスクリプトを試す機会がありますが、アプリケーション形式とスクリプト形式で動作が違うというのは結構ありますね。


上のように Automator AppleScript の場合はまた違ったり。(笑)

2013/05/10 23:39 Hiro__S への返信

あとは、スクリプトの置き場所を "~/Library/Scripts/" にしてみる、Spark.app から実行してみる、Automator AppleScript にする...とかでしょうか。アプリケーション形式で動くのがせめてもの救いですね。


"~/Library/Scripts/" に保存して全体のスクリプトメニュからだと問題ないみたいです。不思議。

もちろん、Spark.appに登録してショートカットキーからも実行できるようにしましたよ。command+option+Sに今回のスクリプト、command+option+LにShow Lyric ControllerでかなりiTunesが充実した感じになりました (^^)

2013/05/10 23:56 HAL への返信

"~/Library/Scripts/" に保存して全体のスクリプトメニュからだと問題ないみたいです。不思議。


ビンゴ?何となく分かってきました。"~/Library/Scripts/iTunes" だと、Mail 用 AppleScript のような振る舞いをするよう仕様変更されたのかもしれません。あるいはもっと厳しくなったか。


それは別としても、置き場所は "~/Library/Scripts/" の方が使い勝手が良いと思います。ちょっとホッとしました。(笑)

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

Terminalから複数の画像(png)を「Quick Look」で開くには?

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。