默认文件夹中的徽章来自哪里?

默认文件夹中的徽章来自哪里?

在新的 Ubuntu 上,您通常有这些默认(空)文件夹:

  • 下载
  • 文件
  • 音乐
  • 视频
  • ...

全部带有特殊标志。

但是,这些徽章是从哪里来的?是什么告诉 Nautilus 显示这些徽章?现在 Nautilus 已经放弃了徽章支持,我无法通过 GUI 检查或更改这些徽章。只是好奇而已……

更新

正如我在 Uri 的回答中发表的评论:这里的每个人都是对的:在这种情况下,我把徽标与文件夹特定的图标混淆了。但是:让我重新表述我的问题:

例如,为什么 Nautilus 知道它必须为这些目录应用特殊图标?实际目录中是否有一些标志、GVFS 中的元数据字段,还是将其硬编码到 Nautilus 中?

(运行 Ubuntu 12.04.1)

答案1

那些不是徽章,在下图中您可以看到徽章位于项目的右下角(在本例中是符号链接/快捷方式)。

用户文件夹的图标通常略微代表了该文件夹的用途。这些文件夹是“特殊的”,与系统上的其他文件夹不同。在此示例中,文件夹是共享/公共文件夹,旁边是常规文件夹。

图标位于两个位置:

  1. ~/.图标
  2. /usr/share/图标

根据图标主题,它们将被放置在不同的类别中(大多数在/places)。

这将帮助你更好地理解它:

图像


例如,为什么 Nautilus 知道它必须为这些目录应用特殊图标?实际目录中是否有一些标志、GVFS 中的元数据字段,还是将其硬编码到 Nautilus 中?

这是由 freedesktop 组织制定的标准,称为xdg-用户目录

来自网站:

xdg-user-dirs 是一款帮助管理“知名”用户目录(如桌面文件夹和音乐文件夹)的工具。它还可以处理文件名的本地化(即翻译)。

其工作方式是 xdg-user-dirs-update 在登录阶段的早期运行。

该程序读取一个配置文件和一组默认目录。然后它在用户主目录中创建这些目录的本地化版本,并在 $(XDG_CONFIG_HOME)/user-dirs.dirs(XDG_CONFIG_HOME 默认为 ~/.config)中设置一个配置文件,应用程序可以读取该文件来找到这些目录。

您可以阅读更多关于XDG 基础目录规范 这里

答案2

图标由您使用的桌面主题决定 - 您可以在下方找到它们 /usr/share/icons/<ThemeName>/places

人性那将是/usr/share/icons/Humanity/places

答案3

至少在 13.04 中,它们是徽标,并且可以更改。更改图标会删除文件夹,而这对我来说不是想要的。

我只想对少数几个文件夹执行此操作,所以我觉得不需要 GUI 工具。此外,在 13.04 中,它们都不起作用(我知道您没有这个版本)。下面的方法可以。

gvfs-set-attribute -t stringv file_name metadata::emblems emblem_name default

您可以找到可能的简称和与之一起应用的图像/usr/share/icons/Humanity/emblems(如果您使用的是默认图标主题,否则请在自定义图标主题中查找。)

例如,我这样做了:

gvfs-set-attribute -t stringv ~/Sites metadata::emblems marketing art

答案4

您可以使用Emblemize脚本来编辑和检查徽章(适用于 11.10 和 12.04)

安装

sudo add-apt-repository ppa:dr3mro/nautilus-actions-extra
sudo apt-get update
sudo apt-get install nautilus-actions nautilus-actions-extra nautilus-gksu

重新启动 Nautilus...

nautilus -q

结果:

在此处输入图片描述

相关内容