Previous Topへ Next

OSXでよく使うアプリケーション7-7

ユーティリティ4〜コンテクストメニュー編
Utilities/Contextual Menu



WordDumpCM

(Freeware)
おすすめ度★★★
OS10.4Tiger対応OS10.5Leopard対応

.txt、.pdf、.rtf、.docなどの拡張子を持つテキストファイルから右クリックで、文中のワード数の分布を抽出するコンテクストメニュー。
そのテキストをいちいち開いて数えてみなくても、そのテキストの中でどういう単語がたくさん使われているか、単語ごとの数を自動的にカウントしてくれる。

これは面白いのだが、「で、それがなんの役に立つの?」とかは訊かないで欲しい。私にもよくわからないのだから。
SEOをやっている人には便利なんだろうか?
そういう事に関心がない私には、これが何の役に立つのかさっぱり分からない。
機能としては面白いプラグインだとは思う。
文化人類学の論文を書く時には使えるかな?
あとは古典的な暗号解読か?






WordDumpCMをインストールするとコンテクストメニューに
WordDumpという項目が現れる





あとは文字コードを選ぶと(不明の場合は自動でもOK)
このようにどういう単語が多く使われているかを表示する






ImageViewerCMPlugIn

(Shareware)
おすすめ度★★★
OS10.3Panther対応OS10.4Tiger対応

これはコンテクストメニューでピクチャーのプレビューが一発でできるというコンテクストメニュープラグイン。

そういう趣旨のコンテクストメニューならQuickImageCMというプラグインを永らく愛用していてこれがとても便利なのだが、QuickImageCMと違う点はフォルダ単位で深い階層まで画像を読み込むことができるし、ピクチャセレクタのような機能も兼ね備えているということだ。

インストーラの指示通りにインストールをすると
/Applications/ImageViewerApp.app
/Library/Contextual Menu Items/ImageViewerCMPlugIn.plugin
/Library/Automator/View Pictures.action

という3つのファイルを挿入する。

画像ファイルやフォルダを選択して右クリックすると、コンテクストメニューに
View pictures...
というメニューが現れている。
これは
/Library/Contextual Menu Items/ImageViewerCMPlugIn.plugin
に挿入されたコンテクストメニュープラグインの効果だ。
それをクリックするとImageViewerというアプリが起動する。
要するにこれがこの機能の本体で、コンテクストメニューは単なるトリガーに過ぎない。
でもこれはアイデアだと思う。
こういう形でいくつかコンテクストメニュー化してもらいたいアプリはあるからだ。

それで本体のアプリであるImageViewerでは何ができるかというとフォルダ単位で画像を読み込んで軽快にプレビューしたり、画像データを表示したり要らない写真をゴミ箱に移動するセレクタの役目を果たしたり、スライドショーも(簡易ながら)できたりとなかなか機能的には盛りだくさんだ。

これらの機能を満たすために私はいくつかのアプリやコンテクストメニュープラグインを使い分けているがワンストップでやってしまいたいという人にはこのImageViewerCMPlugInはなかなか使いでがあると思う。






ImageViewerCMPlugInの使い方は簡単だ
表示したいファイルあるいはフォルダを選択して右クリックで「View pictures」をクリック





表示画面はリスト表示とプレビュー画面の2ペイン方式だ
「Unregistered」の赤文字はシェアウエア登録をすると消える





プレビュ画面右下にコマンドメニューアイコンが並んでいる
ポインタを置くと何のコマンドかキャラクターでも表示するので分かりやすい





例えばこれはピクチャーのデータを表示するコマンド
EXIFデータも扱えるらしい(未確認)





実体はアプリケーションフォルダに挿入されるこの.appバンドルだ
だからピクチャーアプリだということなるのだが
コンテクストメニューとしてパッケージしたのがアイデアだ






ClipToWebCM

(Freeware)
おすすめ度★★★
OS10.4Tiger対応

右クリックなどで利用できるコンテクストメニューのプラグイン。

URLなどを文字だけで書いているようなテキストでも、わざわざURLをブラウザのフォームにコピペしなくても、コンテクストメニュー一発でそのサイトに飛べるというTipsをここでも書いた。
しかしこの便利な機能はCocoaアプリでしか使えない。

iTextなどのCarbonアプリでは使えないし何よりも MSOfficeWordはこの機能が使えない残念なアプリだ。

そこでこのプラグインを入れておけば、URLのテキストを拾ってデフォルトブラウザのURLに置くという動作をやはりワンクリックで実現してくれる。
これはCocoa、Carbonの操作感の差をなくしてくれる良いプラグインだ。
単機能だがお奨めしたい。






ClipToWebCMを入れていればCarbonアプリのiTextなんかでも
裸のURLを右クリックしてブラウザで直接飛べる様になる
チョットした手間だがこれがあると便利ではあるに違いない






LaunchAppPlugin

(Freeware)
おすすめ度★★★★
OS10.5Leopard対応

右クリックなどで、希望の言語でアプリを起動することができるコンテクストメニュープラグイン。

私は通常Macを日本語環境で使っている。
本当は英語環境で使った方がいろいろメリットが多いのだが、理由あって日本語で使っている。
英語で使った方が良いという理由は、英語環境の方がMacOSXはテキパキ動くし(「環境設定で言語モードを英語優先にするだけでシステムのスピードがとても速くなった」を参照)、すべてのディレクトリがアルファベット順で並ぶので、カラム表示でディレクトリを手繰って入っていくのが楽だということがある。
また英語環境ではFinderをヌーメリカルランチャーとして使える(「Macの便利なFinderオペレーション〜キーボードショートカットでランチャーにもなる」を参照)などメリットはたくさんあるのだ。

もっとも前者のテキパキ動くかどうかについては若干異論があるようだが、効果があったという人も多くいるので、これは結構条件によるのかもしれない。
JaguarまでAddress Bookだったのが、ある日突然アドレスブックに変わって非常に焦ったあの思いもいまだにこびりついている。
英語なら
「このアプリは英語だったっけ?カタカナだったっけ?」
とか考えずにすむ。

以前は
Finderのデイレクトリ表示が「ピクチャー」「ユーティリティ」など日本語になっているのが不便な場合、これは英語化できる〜またAddressbookがアドレスブックなどアプリ名も日本語化されたのに腹を立てている貴兄も簡単に英語化できる
で触れた便利なスクリプトを愛用していたが、最近のバージョンではこれも利かないみたいだし、あきらめていた。

「それならシステム環境設定で言語環境を英語にすればいいじゃないか」
と思われるかもしれないが、敢えて日本語で使っている。
理由あってと書いたのは、このサイトを運営しているからだ。
このサイト用にスクリーンキャプチャーを撮る時にいちいち日本語に切り替えるのが面倒で、それで結局日本語で使っているのだ。

このLaunchAppPluginを見つけた時にとっさに思ったことは、
「これでFinderを英語で起動できないか?」
ということだった。
それでさっそく試してみることにした。

結論から書こう。
これは完璧にはうまくいかない。

Finder
"/System/Library/CoreServices"
の中にある。
なのでこれを右クリックして英語で起動すれば、Finderは英語に切り替わる。
これで夢のFinderヌーメリカルランチャーは実現するし
Terminalターミナルだっけ?」
とかいちいち考えなくてもいい。
ターミナルを起動するには
コマンド+shift+U
と打ってユーティリティフォルダを開いて
T、E、R、
と打てばほぼ間違いなくTerminalが選択されている。
あとは
コマンド+O(オー)キー
を打てばTerminalが起動できる。
この間マウスを使わないで、わずか3ステップで可能だ。

しかし問題が起きた。
ゴミ箱を開くと、ここがなぜか日本語のUIのままになっていて、しかも「空にする」ボタンが利かないのだ。
メニューコマンドからゴミ箱をからにできるので、別に問題ないといえばそうなのだが、ここが日本語のままで操作不能なのは画竜点睛を欠く。

そこでアクティビティモニタで古いFinderのプロセスを終了して、英語のみのFinderだけが起動している状態にした。

今度はゴミ箱問題は解決したが、なんとSpotlightが全く機能しなくなってしまった。
メタデータ検索もできないし、mds、mdimporterも全く動いていないようで、新規ファイルを作ってもメタデータを取得していない。

残念ながら完璧には動かないので、結局元に戻してしまった。

英語環境でMacを動かしていると、ブラウザの検索ウインドウはアメリカのGoogleに検索しにいくという問題点が、前回英語環境を試した時にあったので、逆に英語環境でシステムを起動してSafariFirefoxを日本語環境で起動するという使い方の方が、合理的かもしれない。

何かしら利用価値はありそうな気がするので、このLaunchAppPluginはありがたく使わせていただくことにした。


ところでFinderを日本語環境に戻しても、メタデータは相変わらず新規取得せず、Spotlightもmdsも皆死んだままになってしまった。

これはトラブルだ。
そこでこのトラブルシューティングは次回記事に続く。
実は結構この解決には難渋した。






LaunchAppPluginのインストールはプラグインを
"~/Library/Contextual Menu Items""/Library/Contextual Menu Items"に移動するだけ





起動したいアプリを右クリックすると「この言語で◯○を起動」
という項目直下に起動できる言語が表示される
ちなみにFinder"/System/Library/CoreServices"に入っている
これを英語で起動してみた





見事に「アプリケーション」は「Application」に、
「ピクチャー」は「Pictures」に変わった





アドレスブックAddressBook
昔OSをバージョンアップしたらこれが日本語になってしまって焦ったことを思い出した





アクティビティモニタを起動したい時には
コマンド+shift+Uキーを叩いて、次にAキーを叩けばいい
ターミナルならT、E、Rキーだ
このスピード感は一度使うと病みつきになる





こちらは日本語環境のルートボリュームの様子





こちらは英語環境の様子
このように単に英語か日本語かだけの違いでなく並び順が全然違う





ここで少し問題が起きた
ゴミ箱を開くとここだけ日本語表示のUI
しかも他のFinderのウインドウの前に出てこないし「空にする」ボタンが利かない





そこでアクティビティモニタを開いて
古いFinderのプロセスを強制終了した





するとゴミ箱も見事英語になって問題解決・・・と思いきや?・・・





メタデータが死んでしまってピクチャーのサイズを表示しなくなってしまった
メタデータ検索も死んでしまうし、新規ファイルの
メタデータ読み込みをするmdsも全く動いていない
このトラブル解決編は次回記事を待て!



anchor

メタデータ検索が死んでいる(停まっているmdsを再開させる)

<前回までのあらすじ>

LaunchAppPluginという右クリックなどで、希望の言語でアプリを起動することができるコンテクストメニュープラグインを発見して喜々としてFinderだけを英語環境で起動するというやや反則技に近いTipsを試してみるも、Spotlightもメタデータ検索も死んでしまい、元に戻してもmdsが全く活動しない、メタデータ検索ができないというピンチに陥った。
さぁ、どうやってこの危機を切り抜けるつもりなのか、その活躍を刮目して見守れ!






メタデータが死んでしまった様子
ピクチャーのサイズを表示しなくなってしまった
Finderを元に戻してもmdsは再開しないでメタデータ検索は死んだまま
一体どうするつもりなんだ!


などと大仰な前振りを書いてしまったが結論を急ぐ。

以前にも同じトラブルを経験していて、その時の対処法は以下にまとめていた。
あるはずのファイルがSpotlightから発見できない(メタデータの初期化)

Spotlightがちゃんと動いていない。(mds、lsregisterが動いていない)

ここで取り上げた方法はターミナルを起動して以下のコマンドを入力するという物だった。

1)メタデータのデータベースファイルを初期化して再構築する
sudo mdutil -E /


2)mdsのクラッシュの記録がメタデータのデータベースファイルの再構築をジャマするのを排除する
sudo rm /mds-crash-state

同上、念には念をというコマンド(多分必要ない)
sudo find / -name "mds-crash-state" -delete


3)サードパーティのmdimporterのプラグインを初期化してmdimporterの活動を正常に戻す

cd /System/Library/Frameworks/ApplicationServices.framework/ Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/

を入力しておいてカレントディレクトリを移動

./lsregister -kill -r -domain system -domain local -domain user

をタイプしてmdimporterのプラグインを初期化して
sudo mdutil -E /

を入力してデータベースを初期化


そして今回はこれらの方法はすべて失敗した。


一日トライは徒労に終わり、相変わらずメタデータは動いていない。
「このままメタデータなしの生活も乙なものかもしれない。実際Pantherまではメタデータなんてなかったんだし・・・」
などとのんきなことを考えながらあきらめムードで眠りにつきかけた時に、ふと思いついた。

ターミナルを使ってダメならGUIで実力行使でやってしまえばいい!!」

上記のリンクでメタデータのデータベースの実体は各ボリュームのルートの
.Spotlight-V100
という名称のフォルダであることは分かっている。
これをリセットできないなら削除してしまえば良いのではないか?

そこでMainMenuを使ってFinderで不可視ファイルが見えるようにして、/にある.Spotlight-V100をゴミ箱に移動した。
このプロセスで管理者のパスワードを求められることはいうまでもない。
うまくいかなかった場合のためいきなり削除しないで、この状態のまま再起動した。

結果はこれがビンゴだった。

メタデータが死んでSpotlightがうまく動かない時には
.Spotlight-V100
を物理的に削除してしまう・・・
また新しいTipsが加わった。
荒療治なので皆さんは最後の手段にすることをお勧めするが。






MainMenuを使ってFinderで不可視ファイルが見えるようにする
ボリュームのルートに.Spotlight-V100というフォルダが見えるのでこれをゴミ箱に移動する
この所有者とアクセス権者はシステムになっているので作業にはルートのパスワードが要求される





するとmds、mdimporterは活動を再開しSpotlight
検索データベースを読み込み始めた





画像ファイルのプレビュー画面はちゃんと画像の大きさを
表示するようになって完全に直った





TermHere

(Freeware)
おすすめ度★★★★
OS10.10Yosemite対応OS10.11El Capitan対応

GUIでFinder上で選択している場所をカレントディレクトリとしてTerminalを開くコンテクストメニュープラグイン

以前openSUSEのKDEでファイルブラウザーで開いている場所をカレントディレクトリにしてシェルを開くことができるのが便利だと書いたら、シェルはどこでも開くんだととんちんかんなことを言ってきたシェルを使ったことがなさそうな自称ギークがいたが、このGUIの場所でシェルを開けるというのは意味がある。

ソースをダウンロードしてきた時に、MacのようなGUIメインのOSの時にはデスクトップなどに展開することが多い。
GUIではデスクトップが作業しやすい体が、CUI的にはデスクトップは作業すやすいとはいえない。

その時に今開いているフォルダをカレントディレクトリにしてシェルを開くことができればコンパイルコマンドなどで面倒なパス打ちをしなくてもそのままコマンドを打つだけですぐに動かせる。
シェル使いには便利な機能になるはずだ。
openSUSEのKDEはまさにそこに配慮していたのだが、Macでもこの機能があれば便利だなと思っていた。
それを実現できるのがこのTermHere

フォルダ上で右クリックしてコンテクストメニューをクリックするだけでその場所をカレントディレクトリにしてシェルを開くことができる。
開くシェルはMacのデフォルトTerminalだけでなくiTerm2などのシェルアプリもサポートしている。

TermHereを起動して指定のターミナルアプリを設定変更することができる。





TermHereを起動するとシステム環境設定を開いて機能拡張を有効にすることを促される




OKをクリックするとシステム環境設定が起動してくる
機能拡張TermHereの項目が見えているはずなのでFinderのチェックを入れる
これでコンテクストメニューが有効になる




設定画面はTermHereアプリを起動した時に表示される
デフォルトではMacオリジナルのTerminalが指定されているが
iTermを愛用しているという人はブラウズボタンで
起動するシェルアプリを変更することができる




iTermを使いたい時にはアプリ本体は起動してなくてもいい
使い方はターミナルを開きたいフォルダの上で右クリックすると
New Terminal Hereというコンテクストメニューが見えるのでそれをクリックするだけ




それで指定のターミナルアプリで指定の場所をカレントディレクトリにしてシェルが開く




lsしてみると指定の場所なのがわかる
コンパイルとかインストールコマンドを使いたい時にGUIとシェルを
交互に使うようなユーザにはこの機能は便利だと思う



2016年7月4日














Previous Topへ Next





site statistics