りんごが好きなのでぃす

噂話などには極力触れずにApple製品に関する情報を紹介してます、反リーク系の方々よろしくネ

OS X:「このアプリケーションで開く」の候補に起動ディスク外にあるアプリを載せない方法

f:id:kjx130:20151122170354j:plain

複数の起動ディスクが備わっている環境でコンテキストメニューの「このアプリケーションで開く」を選ぶと、他の起動ディスクに入っているアプリケーションも使えるアプリとしてリストアップされます。

ありがたく感じる人もいるかもしれませんが、もし私と同様にこれをありがた迷惑と感じている方いたら以下をお試しください。

キーワードはSpotlight

簡単に喩えると、まずはユーザが……

Q:このファイルを開けるアプリは何があるかな?

として「このアプリケーションで開く」を選び、これに対してOSが……

A:(disk Aの)aaa.app、bbb.app、(disk Bの)ccc.app があるよ

といった感じでコンテキストメニューのサブメニューに答えを返します。

で、この答えを返す際にOSが参照しているのがSpotlight機能によって内部に作成されているデータベース

逆に言うと、このデータベースに載っていないものはOSが示す答えには載らないということなので、つまりは「データベースに載らないようにしちゃえば良いじゃん!」ということになります。

というわけで、以下に検索対象から除外する方法とデータベースをリセットする方法を記しますが、ここから先は自己責任で行うという点をご了承ください。

Spotlightの設定で特定のフォルダを除外設定する

除外設定をするところはシステム環境設定のSpotlight項目内にあります。

f:id:kjx130:20151123105251j:plain

ここの[プライバシー]タブで表示されるのがいわゆる除外設定。

f:id:kjx130:20151123105459j:plain

このウインドウの左下にある[+]ボタンから除外対象を逐一追加していきます。

f:id:kjx130:20151123105634j:plain

これをクリックすると除外対象を選択するウインドウが現れるので、メインではない起動ディスクを選んで追加していく……というのが最も単純な方法。

ですが、個人的には冒頭で示したように他の起動ディスクにあるアプリケーションが表示されることだけが邪魔くさいだけだったので、下図のようにメイン以外の起動ディスクにあるアプリケーションフォルダを選びました。

f:id:kjx130:20151123110206j:plain

検索から除外されるのはあくまでもこの設定を行った起動環境に限られるものなので、それぞれの起動環境から同様の設定を行えば、どの起動ディスクから起動しても別の起動ディスクに入っているアプリケーションは候補に現れなくなります。

除外設定が済んだらデータベースを作り直す

リセットするのはLaunchServices.frameworkという普通ではお目にかかることのできないファイルの中身。

OSやTermialの知識がある方ならコマンド一発でリセット完了ですが、そういうことに自信がない方はOnyXなどのメインテナンスアプリの力を借りるといいでしょう。

www.titanium.free.fr

OnyX(OS X El Capitan専用)の場合は下図の項目を有効にして(赤枠以外の項目ですでにチェックが入っているものは外す)処理を実行させるだけ。

f:id:kjx130:20151123111342j:plain

Macの環境によって差はあると思いますがデータベースのリセット自体はものの数秒、その後自動的に発動するLaunchServicesデータベースの再作成に数分程度要すると思いますMacの性能によっては再作成されている間の動作が少々モッサリするかもしれません)

しばらく待って落ち着いてからの画面が冒頭でも示したこの画像。

f:id:kjx130:20151122170354j:plain

ちなみにリセットを行う前の画面が下の画像で、かなりゴチャゴチャしていたのがわかりますね (^_^;)

f:id:kjx130:20151123113000j:plain

(´-`).。oO(重複アプリがある場合はバージョンが併記されるという細やか心遣いがあったりする)