web-dev-qa-db-ja.com

Macでファイルタイプのアイコンを設定する方法

wholeシステムと思われる一部のファイルタイプのアイコンを設定する方法

たとえば、拡張子が.scalaのテキストファイルがあり、システム全体でそのファイルのアイコンと、この拡張子で新しく作成されたファイルのアイコンを関連付けたいと考えています。

ありがとう。

43
Chiron

ファイルタイプのアイコンは、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アイコンを再利用したことを思い出してください)。

alt text

_.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アイコン(画像のプレビューは無効になっています):

alt text

その後、画像ファイル自体がプレビューになります。

alt text

ファイルのGet Infoダイアログを開き、左上にある希望の将来のドキュメントアイコンをクリックし、_Cmd-C_をコピーしてドキュメントファイルを開きますGet Info =ダイアログで、左上にある不要な現在のドキュメントアイコンをクリックし、_Cmd-V_で目的のアイコンを貼り付けます。


または、プレビューでアイコンとして使用する画像ファイルを開き、_Cmd-A_ですべてを選択するか、_Cmd-C_で画像をクリップボードにコピーします。次に、対象のドキュメントの情報を見るダイアログを開き、左上で変更するアイコンを選択し、その上に画像を貼り付けるには_Cmd-V_を選択します。

41
Daniel Beck

特定のファイルタイプのデフォルトプログラムとして割り当てられているプログラム内のICNSファイルを置き換える必要があります。

1-目的のアイコンの画像を作成し、pngファイルタイプとして保存します(pngは透明度をサポートしています)。

2-pngファイルをicnsファイルタイプに変換します(FastIcnsは非常に優れており、無料です)。

3-特定のファイルタイプのデフォルトアプリとして設定されているアプリケーションをCMDクリックまたは右クリックし、[パッケージの内容を表示]を選択します。

4-アプリケーションが特定のファイルタイプのアイコンとして指定しているicnsファイルを探します。これは、おそらくリソースと呼ばれるフォルダーにあります。

5-作成したicnsファイルに、置き換えるファイルとまったく同じファイル名を付けます。

6-作成した新しいicnsファイルをコピーして貼り付けるか、置き換えるファイルが置かれているフォルダーにドラッグアンドドロップし、オプションが表示されたら置換を選択します。

7-完了しました!そのファイルタイプのすべてのアイコンが、新しい希望のアイコンに置き換えられました。

1
daporterfizzle

私がいつもこれに取り組む方法は、その拡張子を持つファイルを見つけ、右クリック"[情報を見る]、またはCommand-iを実行することです。これにより、情報パネルが表示されます。上部には、現在画像に使用されているアイコンが表示されます。画像ファイルをドラッグして変更したり、画像をコピーした場合は変更したい画像をクリックして貼り付けたりして変更することができます。

0
jakehschwartz