共通ソースコードやその他のファイル用のさまざまなアイコン

共通ソースコードやその他のファイル用のさまざまなアイコン

私はgnomeのmimetypeアイコンテーマを作成しようとしています。text-x-generic.svgテーマのないすべてのファイル形式を作成しました。しかし、私が探しているのは、テーマのないソースコード(R、vala、awkなど)とプレーンテキストファイルの別のアイコンです。

可能ですか?

気づく私はソースコードとプレーンテキストtext-x-generic.svgを区別しようとしましたが、text-generic.svglinux(gnome)が理解しているわけではありません。

don_crisstiでコメントに返信するrubyたとえば、およびのアイコンはありますが、およびのアイコンjsはありません。したがって、アイコンのアイコンを表示する必要があります。と とは別のアイコン()を表示する必要があります。CRfile.cfile.rtext-x-generic-unthemed-sourcecodefile.datfilename_without_extensionstext-generic-plaintext

ファイルの観点からは異なるので

$ file i.c
i.c: C source, ASCII text

$ file dos.dat
dos.dat: ASCII text

したがって、いくつかの方法が必要です。

答え1

使用されるアイコンはgnomeMIMEタイプに基づいているため、あなたのアイコンは検出さfile.cれませんが、関連するアイコンがないため、そのアイコンに置き換えられます。例:使用されるアイコンは次のとおりです。ただし、アイコンセットにアイコンがないため、システムは次のように置き換えられます。text-x-generic-unthemedtext-x-csrctext-x-generic
.valatext-x-vala, text-x-generictext-x-valatext-x-generic

ここに画像の説明を入力してください。

投稿を読むここ特定のMIMEタイプに関連するアイコンを確認する方法。


他の代替アイコン(たとえば)を使用するには、text-x-unthemed特定のアイコンで置き換える必要があるMIMEタイプ定義をカスタマイズし、そのtext-x-unthemedアイコン()を以下の設定アイコンに追加する必要がありますmimetypes

  1. アイコンを追加し、アイコンキャッシュを更新します。

    gtk-update-icon-cache /path/to/icon_theme_directory
    
  2. text-x-unthemedそのアイコンがない場合は、一般(代替)アイコンとして使用する必要があるMIMEタイプのカスタム定義を追加します。次のようにファイルを
    作成します。unthemed.xml~/.local/share/mime/packages

    <?xml version="1.0"?>
     <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
      <mime-type type="text/x-vala">
        <comment>Vala source code</comment>
        <glob pattern="*.vala" case-sensitive="true"/>
        <generic-icon name="text-x-unthemed"/>
      </mime-type>
     </mime-info>
    

    必要に応じて、リストに別のMIMEタイプを追加します(次を使用)。 <mime-type>テンプレートでブロック)。

  3. MIME キャッシュを再構築するには、次のコマンドを使用します。

    update-mime-database ~/.local/share/mime
    

これにより、システムは次のファイルアイコンtext-x-unthemedに置き換えられます.vala

ここに画像の説明を入力してください。

後で専用のアイコンを追加すると、text-x-valaシステムはそのアイコンを使用します。例:

ここに画像の説明を入力してください。


アイコンまたはMIMEタイプ定義を追加/削除するたびに、アイコンとMIMEキャッシュを更新することを忘れないでください。

答え2

これがどのように機能するかを詳しく教えてくれた@don_crisstiに感謝します。私は問題を部分的に解決するために別のアプローチをとりました。text-plainとに異なるアイコンを配置しましたtext-x-generic。 .dat、.txtなどの拡張子を持たないすべてのファイルをtext-x-script含みます。ここでは、他の人とスクリプトの代替場所です。text-plaintext-x-[generic,script]

私はこれが一時的な解決策であることに同意しますが、まだ現在の問題を解決します。 (最も良い解決策は、各ファイルのアイコンを作成することです/usr/share/mime/*

どのように見えるかを示すためにスクリーンショットを追加しました。text-x-[python,xml,scripts,generic,plain]

スクリーンショットが追加されました。

関連情報