通用原始碼和其他文件的不同圖示
我正在嘗試為 gnome 製作一個 mimetype 圖示主題。我
text-x-generic.svg
為所有未主題的文件類型創建了。但我正在尋找的是非主題原始碼(例如,R、vala、awk 等)和普通文本文件的不同圖示。這可能嗎?
注意我已經嘗試區分原始碼
text-x-generic.svg
和text-generic.svg
純文字,但這不是 linux(gnome) 理解的。回复 don_crissti 的評論說,我有
ruby
, 和的圖示js
,但沒有C
and的圖示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-unthemed
但text-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
。
- 添加圖示,然後更新圖示記憶體:
gtk-update-icon-cache /path/to/icon_theme_directory
- 為 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 記憶體。