因为我知道一个简单的API调用处理在Windows中设置自定义文件夹图标,所以我寻找一种API方法来在Linux中设置自定义文件夹图标.
但在this thread年,我看到没有这样的方式.另外,我了解到每个桌面环境都有自己的方式来设置自定义文件夹图标.在那里清楚地描述了KDE的方式.
对于GNOME,我寻找类似的方式;但是从属性面板设置文件夹的图标时没有创建文件.我认为在用户家中或/等的某个地方应该有一个类似注册表的文件.
如果你痛苦我,我会很高兴的.
谢谢.
解决方法:
我终于想出了如何做到这一点!这是一个在标准Gnome环境中工作的Python脚本:
#!/usr/bin/env python
import sys
from gi.repository import Gio
if len(sys.argv) not in (2, 3):
print 'Usage: {} FOLDER [ICON]'.format(sys.argv[0])
print 'Leave out ICON to unset'
sys.exit(0)
folder = Gio.File.new_for_path(sys.argv[1])
icon_file = Gio.File.new_for_path(sys.argv[2]) if len(sys.argv) == 3 else None
# Get a file info object
info = folder.query_info('metadata::custom-icon', 0, None)
if icon_file is not None:
icon_uri = icon_file.get_uri()
info.set_attribute_string('metadata::custom-icon', icon_uri)
else:
# Change the attribute type to INVALID to unset it
info.set_attribute('metadata::custom-icon',
Gio.FileAttributeType.INVALID, '')
# Write the changes back to the file
folder.set_attributes_from_info(info, 0, None)
标签:linux,desktop,gnome 来源: https://codeday.me/bug/20190518/1129831.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。