Gnome3

通用原始碼和其他文件的不同圖示

  • June 5, 2015

我正在嘗試為 gnome 製作一個 mimetype 圖示主題。我text-x-generic.svg為所有未主題的文件類型創建了。但我正在尋找的是非主題原始碼(例如,R、vala、awk 等)和普通文本文件的不同圖示。

這可能嗎?

注意我已經嘗試區分原始碼text-x-generic.svgtext-generic.svg純文字,但這不是 linux(gnome) 理解的。

回复 don_crissti 的評論說,我有ruby, 和的圖示js,但沒有Cand的圖示R。所以,file.c應該file.r顯示圖示的text-x-generic-unthemed-sourcecode圖示。並且應該顯示不同的圖示 ( file.dat) 。filename_without_extensions``text-generic-plaintext

文件方面,它們是不同的,因為

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

$ file dos.dat
dos.dat: ASCII text

所以,應該有辦法。

感謝@don_crissti 了解它的工作原理。我已經採取了另一種方法來部分解決問題。我為text-plain和放置了不同text-x-generic的圖示text-x-script。包含所有不帶副檔名的text-plain文件,例如 .dat、.txt 等;text-x-[generic,script]其他人和腳本的備份在哪裡。

我同意這是一個臨時解決方案,但它仍然解決了目前的問題。(最好的解決方案是為每個文件製作圖示/usr/share/mime/*

添加了一個螢幕截圖以顯示它的外觀text-x-[python,xml,scripts,generic,plain]

添加了截圖

使用的圖示gnome基於 mime 類型,因此您file.c不會被檢測為text-x-generic-unthemedtext-x-csrc因為您沒有關聯的圖示,它將回退到text-x-generic.

例如:用於的圖示.vala是:text-x-vala, text-x-generic但由於我的圖示集中沒有text-x-vala圖示,系統回退到text-x-generic

在此處輸入圖像描述

請參閱此處的文章,了解如何確定特定 mime 類型的關聯圖示。


為了使用不同的回退圖示(例如text-x-unthemed),必須自定義應該回退到此特定圖示的 mime 類型的定義,並將相關圖示 ( text-x-unthemed) 添加到下的圖示集mimetypes

  1. 添加圖示,然後更新圖示記憶體:
gtk-update-icon-cache /path/to/icon_theme_directory
  1. 為 mime 類型添加自定義定義,text-x-unthemed如果它們沒有相應的圖示,則應用作通用(備用)圖示。在例如下

創建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 類型添加到列表中(使用vala <mime-type>塊作為模板)。 3. 使用以下命令重建 mime 記憶體:

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

然後系統應該回退到文件text-x-unthemed圖示.vala

在此處輸入圖像描述

如果text-x-vala稍後添加專用圖示,系統將使用該圖示,例如:

在此處輸入圖像描述


每次添加/刪除圖示或 mime 類型定義時,不要忘記更新圖示和 mime 記憶體。

引用自:https://unix.stackexchange.com/questions/207513