加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何在GNOME中以编程方式设置自定义文件夹图标?

发布时间:2020-12-14 01:02:57 所属栏目:Linux 来源:网络整理
导读:因为我知道一个简单的API调用处理在 Windows中设置自定义文件夹图标,所以我寻找一种API方法来在 Linux中设置自定义文件夹图标. 但在this thread年,我看到没有这样的方式.另外,我了解到每个桌面环境都有自己的方式来设置自定义文件夹图标.在那里清楚地描述了K
因为我知道一个简单的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',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,None)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读