wholeシステムと思われる一部のファイルタイプのアイコンを設定する方法
たとえば、拡張子が.scalaのテキストファイルがあり、システム全体でそのファイルのアイコンと、この拡張子で新しく作成されたファイルのアイコンを関連付けたいと考えています。
ありがとう。
ファイルタイプのアイコンは、Launch Services(とりわけ、ファイルタイプを処理するアプリケーションを決定するサービス)によって処理されます。ファイルアイコンは、デフォルトでファイルを開く処理を行うアプリケーションによって常に提供されます。このように、例えばプレビューではPDFアイコンがデフォルトで、PNGアイコンが提供されますが、Pixelmatorを使用してすべてのPNGファイルを開くように変更すると、これらのファイルは後でPixelmatorスタイルのアイコンになります。
あなたがする必要があるのはデフォルトでそれを開くアプリケーションにファイルタイプ定義を追加するか、ファイルタイプ用の独自の「ダミー」アプリケーションを作成するです。
例として、私のシステムは_.scala
_をまだ認識していないため、TextMate
で処理したいと考えています。
まず、私はパッケージの内容を表示 of _TextMate.app
_に移動し、_Contents/
_に移動して_Info.plist
_をテキストエディタまたは_Property List Editor
_の一部で開きますAppleの開発者ツール。
TextMateは、_Info.plist
_(通常はバイナリまたはXMLです)に通常とは異なる形式を使用します。抜粋は次のようになります。
_CFBundleDocumentTypes = (
{ CFBundleTypeName = "ADA source";
CFBundleTypeExtensions = (adb, ads);
CFBundleTypeIconFile = ADA;
},
_
親キーCFBundleDocumentTypes
が必要です。中括弧で囲まれた最初の子要素には、ファイルタイプの定義が含まれ、名前(Finderのファイルタイプ列の場合)、ファイル拡張子、およびアイコンファイルの名前(ADA
for _TextMate.app/Contents/Resources/ADA.icns
_)。
_.scala
_をサポートするには、同じ親要素CFBundleDocumentTypes
の下に、上記と同様の兄弟要素を追加する必要があります。
_CFBundleDocumentTypes = (
{ CFBundleTypeName = "ADA source";
CFBundleTypeExtensions = (adb, ads);
CFBundleTypeIconFile = ADA;
},
{ CFBundleTypeName = "Scala source";
CFBundleTypeExtensions = (scala);
CFBundleTypeIconFile = ADA;
},
_
簡単にするために、同じアイコンファイルを使用していますが、自分で作成し、それを_TextMate.app/Contents/Resources/SCALA.icns
_にコピーして、_Info.plist
_でSCALA
として参照できます。
次に、TextMateが実行中の場合は閉じ、アプリケーション_TextMate.app
_を別のフォルダーに移動して、もう一度開きます。閉じてから戻し、もう一度開きます。これは、Launch Servicesが実行した_Info.plist
_への変更を取得するために行われます。
結果は次のようになります(_.scala
_のTextMate Adaアイコンを再利用したことを思い出してください)。
_.scala
_ファイルを開くためにアプリケーションを関連付けたくない場合(理由は想像できませんが、これを行う方法があります):ファイルへの追加を次のように変更します。
_ { CFBundleTypeName = "Scala source";
CFBundleTypeExtensions = (scala);
CFBundleTypeIconFile = ADA;
CFBundleTypeRole = "None";
},
_
これで、アプリケーションはファイルタイプを宣言しますが、その処理方法がわからないことをシステムに通知します(Appleは、フォントタイプを宣言するFinderの例を示していますが、フォントタイプ自体を開くことはできません)。
*ファイルタイプへの永続的なアプリケーションの割り当ては、おそらく「不明なドキュメント」の種類へのアイコンを上書きすることに注意してください。
_.scala
_に関連付けられたアプリケーションがすでにあり、関連付けられたアプリケーションを変更せずにファイルアイコンを変更したい場合:
アプリケーションの_Info.plist
_を開き、CFBundleDocumentTypes
でファイルタイプエントリを探し、CFBundleTypeIconFile
を取得します。このファイルを_.../Contents/Resources/
_で変更すると、すぐにFinderに反映されます。
ボーナス情報:
単一のドキュメントまたはフォルダのアイコンを画像ファイルに変更する方法
アイコンを使用したい画像_~/Desktop/test.png
_があるとします(これは、_.scala
_/TextMate/Adaアイコンの変更を説明するために使用した上記のスクリーンショットです)。
_/Applications/Utilities/Terminal.app
_を開き、次のように入力します。
_sips -i ~/Desktop/test.png
_
これにより、_test.png
_ファイルのアイコンが画像に変わります。私は再帰を楽しんでいるので、これを試してみましょう:
以前は、プレーンなプレビューpng
アイコン(画像のプレビューは無効になっています):
その後、画像ファイル自体がプレビューになります。
ファイルのGet Infoダイアログを開き、左上にある希望の将来のドキュメントアイコンをクリックし、_Cmd-C
_をコピーしてドキュメントファイルを開きますGet Info =ダイアログで、左上にある不要な現在のドキュメントアイコンをクリックし、_Cmd-V
_で目的のアイコンを貼り付けます。
または、プレビューでアイコンとして使用する画像ファイルを開き、_Cmd-A
_ですべてを選択するか、_Cmd-C
_で画像をクリップボードにコピーします。次に、対象のドキュメントの情報を見るダイアログを開き、左上で変更するアイコンを選択し、その上に画像を貼り付けるには_Cmd-V
_を選択します。
特定のファイルタイプのデフォルトプログラムとして割り当てられているプログラム内のICNSファイルを置き換える必要があります。
1-目的のアイコンの画像を作成し、pngファイルタイプとして保存します(pngは透明度をサポートしています)。
2-pngファイルをicnsファイルタイプに変換します(FastIcnsは非常に優れており、無料です)。
3-特定のファイルタイプのデフォルトアプリとして設定されているアプリケーションをCMDクリックまたは右クリックし、[パッケージの内容を表示]を選択します。
4-アプリケーションが特定のファイルタイプのアイコンとして指定しているicnsファイルを探します。これは、おそらくリソースと呼ばれるフォルダーにあります。
5-作成したicnsファイルに、置き換えるファイルとまったく同じファイル名を付けます。
6-作成した新しいicnsファイルをコピーして貼り付けるか、置き換えるファイルが置かれているフォルダーにドラッグアンドドロップし、オプションが表示されたら置換を選択します。
7-完了しました!そのファイルタイプのすべてのアイコンが、新しい希望のアイコンに置き換えられました。
私がいつもこれに取り組む方法は、その拡張子を持つファイルを見つけ、右クリック"[情報を見る]、またはCommand-iを実行することです。これにより、情報パネルが表示されます。上部には、現在画像に使用されているアイコンが表示されます。画像ファイルをドラッグして変更したり、画像をコピーした場合は変更したい画像をクリックして貼り付けたりして変更することができます。