プログラム / 2010/07/24 (Sat) / 編集 |
電子書籍をiTunesで管理したくて、でもiTunesでは「管理は出来るけど閲覧は出来ない」という謎な仕様で、しかたないのでiTunesで選択中のファイルを開くスクリプトを作成した訳ですが。
ここで問題が一つ、iTunesのScriptsフォルダにいれたスクリプトってメニューバーをマウスで操作しないと実行できない!
そこでちょっと考えた、ランチャ使えばいいんじゃね?
ここで問題が一つ、iTunesのScriptsフォルダにいれたスクリプトってメニューバーをマウスで操作しないと実行できない!
そこでちょっと考えた、ランチャ使えばいいんじゃね?
PR
プログラム / 2010/07/18 (Sun) / 編集 |
電子書籍の管理はiTunesで出来る。だがしかし閲覧は出来ない! ←ヒドイ、、、
しかたないのでiTunesで管理しつつ、読むときだけは他のアプリケーションを使うことにした。
でもいちいちfinderで表示して、、、なんてめんどくさすぎるので、AppleScriptで対応することにした。
まずは以下のようなAppleScriptを作成。
本来なら「電子書籍だけ」とか「指定したアプリケーションで」みたいな処理を入れた方がいいんだけど、めんどくさかったので「選択したファイルをデフォルトのアプリケーションで開く」という処理にしておいた。
ちなみに、開く処理はopenコマンドなので「open -a アプリケーション名」にしとくと閲覧に使うアプリケーションを指定する事も出来る。
ちなみにこのスクリプトのミソは「UNIX式のパスに変換」のところ。デフォルトだとコロン(:)区切りのパスしか取得できないのでUNIX用のPOSIX表記のパスに変換しないとコマンドの引数に使えないんだ。。。あとファイル名にスペースが使われてるものに対応するために「\"」も大事。
しかたないのでiTunesで管理しつつ、読むときだけは他のアプリケーションを使うことにした。
でもいちいちfinderで表示して、、、なんてめんどくさすぎるので、AppleScriptで対応することにした。
まずは以下のようなAppleScriptを作成。
tell application "iTunes" repeat with theTrack in selection -- 選択中のファイルの場所を取得 set file_location to (the location of theTrack) as string --UNIX式のパスに変換 set file_location to POSIX path of file_location --display dialog file_location --デフォルトで指定されているアプリケーションで開く do shell script "open \"" & file_location & "\"" end repeat end tell「~/Library/iTunes/Scripts」(「Scripts」がなければ作成する)に適当なファイル名で保存する。するとiTunesで「ウィンドウ」と「ヘルプ」の間くらいにスクリプトのマークが出てくる。あとは読みたい電子書籍を選択しつつ「変なマーク」→「作成したスクリプト」すると規定のアプリケーションで開くというもの。
本来なら「電子書籍だけ」とか「指定したアプリケーションで」みたいな処理を入れた方がいいんだけど、めんどくさかったので「選択したファイルをデフォルトのアプリケーションで開く」という処理にしておいた。
ちなみに、開く処理はopenコマンドなので「open -a アプリケーション名」にしとくと閲覧に使うアプリケーションを指定する事も出来る。
ちなみにこのスクリプトのミソは「UNIX式のパスに変換」のところ。デフォルトだとコロン(:)区切りのパスしか取得できないのでUNIX用のPOSIX表記のパスに変換しないとコマンドの引数に使えないんだ。。。あとファイル名にスペースが使われてるものに対応するために「\"」も大事。
プログラム / 2010/07/18 (Sun) / 編集 |
ブログ用に印刷用CSSを設定してみた。印刷ボタンを押すとその効果のほどがわかります。
要はスタイルシートに「@media print{}」を追加すればいいらしい。
ただ、divとかのサイズ指定(width/height)の変更だけは「%」表記ではなく「px」とか「mm」とかの実数での指定じゃないと適用されなかった(Safari 5の場合。)
あと困ってるのがJavaScript、PDFってJavaScriptにも対応してるんだな、、、おかげで印刷しようとすると忍者ブログの広告がすごく邪魔。どんな感じに邪魔かは印刷プレビューでも見てみてね。
どうにか「印刷のときだけJavaScript無効」とか出来ないかな?
要はスタイルシートに「@media print{}」を追加すればいいらしい。
/* ..... 普通に表示用CSS ..... */ @media print{ /*この中にCSSを記述*/ }あとは、非表示にしたい部分を「display:none」していったり好きにする。
ただ、divとかのサイズ指定(width/height)の変更だけは「%」表記ではなく「px」とか「mm」とかの実数での指定じゃないと適用されなかった(Safari 5の場合。)
あと困ってるのがJavaScript、PDFってJavaScriptにも対応してるんだな、、、おかげで印刷しようとすると忍者ブログの広告がすごく邪魔。どんな感じに邪魔かは印刷プレビューでも見てみてね。
どうにか「印刷のときだけJavaScript無効」とか出来ないかな?