web-dev-qa-db-ja.com

カスタムmimetypeにアイコンを割り当てます

次の内容のファイル〜/ .local/share/mime/packages/graphml + xml-mime.xmlを作成して、カスタムmimetype(text/graphml + xml)を作成しようとしました。

<?xml version="1.0" encoding="UTF-8"?>
 <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
   <mime-type type="text/x-graphml+xml">
   <comment>GraphML file</comment>
   <acronym>GraphML</acronym>
   <expanded-acronym>Graph Modelling Language</expanded-acronym>
   <sub-class-of type="text/xml"/>
   <glob pattern="*.graphml"/>
  </mime-type>
 </mime-info>

そして、適切なアイコンをインストールしました:

xdg-icon-resource-resourse install --context mimetype --novendor --size ${size} --mode user text-x-graphml+xml.png

次に、データベースを更新しました

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

しかし、my.graphmlファイルのアイコンはnautilusには表示されません(これはDebianの最小限のgnomeシステムです)。

〜/ .local/share/icon/hicolor/$ {size} x $ {size} /mimetype/text-x-graphml+xml.pngのアイコンは存在します。

gio info my.graphmlのコメント:

...
standard::icon: text-x-graphml+xml, text-x-generic, text-x-graphml+xml-symbolic, text-x-generic-symbolic
standard::content-type: text/x-graphml+xml
standard::fast-content-type: text/x-graphml+xml
...

それをダブルクリックすると、ファイルがyedで開かれます(必要に応じて、〜/ .local/share/applicationns/yed.desktopファイルを作成しました)

しかし、アイコンはありません! :-(

1
Ninguém

修正

代わりに、次のXMLファイルを使用してください。

<?xml version="1.0" encoding="UTF-8"?>
 <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
   <mime-type type="application/x-graphml+xml">
   <comment>GraphML file</comment>
   <acronym>GraphML</acronym>
   <expanded-acronym>Graph Modelling Language</expanded-acronym>
   <glob pattern="*.graphml"/>
   <icon name="x-graphml+xml"/>
  </mime-type>
 </mime-info>

xdg-icon-resourceをで実行していることを確認してください

--context mimetypes

ない

--context mimetype

そうしないと、間違ったフォルダに移動します。

たとえば、アイコンが48x48の場合、インストールコマンドは次のようになります。

xdg-mime install --mode user graphml+xml-mime.xml
xdg-icon-resource install --context mimetypes --size 48 text-x-graphml+xml.png x-graphml+xml
update-mime-database ~/.local/share/mime
update-icon-caches ~/.local/share/icons

説明を試みる

これは奇妙なものです。難しさは、mimetypeが

text/x-graphml+xml

の代わりに

application/x-graphml+xml

デフォルトでは、一般的なテキストアイコンになります。ただし、これはファイルマネージャとデスクトップに依存しているようです。

これはバグですか?あなたが決める!

0