上下文菜单操作或 .desktop 文件中的各种 %(百分比)参数是什么意思?

上下文菜单操作或 .desktop 文件中的各种 %(百分比)参数是什么意思?

我说的是这样的:

  • %B
  • %f
  • %F
  • %d
  • %D
  • ETC。

它们是什么意思,如何使用?我正在寻找教程链接,或者有人可以在这里为我发布一份完整的列表。

目标是为 Pcmanfm/Lubuntu 添加上下文菜单(假设可行)。如果 Pcmanfm 无法实现,我会尝试使用其他文件管理器。

我简单试用了 Thunar,它的操作工具上有一个参数列表,但列表并不完整,我不明白一些代码的用法(我确实读过教程)。这些信息假设你的知识水平比我高一点。(虽然我在 Windows 中大量使用上下文菜单,但我通常只使用一个%-type 参数——%s如果我没记错的话。)所以我正在寻找一个主列表和一个全面的教程,解释 Linux/Ubuntu 中参数的用法。

谢谢。

答案1

Exec这些字符串的最小列表在关键部分中定义桌面入口规范. 未弃用的:

  • %f 即使选择了多个文件,也只有一个文件名。如果应用程序无法处理多个文件参数,系统必须识别这一点,如果可以,则可能需要为每个选定文件创建并执行应用程序的多个副本。如果文件不在本地文件系统上(即在 HTTP 或 FTP 位置上),则文件将被复制到本地文件系统,并且 %f 将扩展为指向临时文件。用于不理解 URL 语法的程序。
  • %F 文件列表。用于可以同时打开多个本地文件的应用。每个文件都作为单独的参数传递给可执行程序。
  • %u 单个 URL。本地文件可以作为文件:URL 或文件路径传递。
  • %U URL 列表。每个 URL 都作为单独的参数传递给可执行程序。本地文件可以作为文件:URL 或文件路径传递。
  • %i 桌面条目的 Icon 键扩展为两个参数,第一个是 --icon,然后是 Icon 键的值。如果 Icon 键为空或缺失,则不应扩展为任何参数。
  • %c 应用程序的翻译名称,如桌面条目中相应的 Name 键所列。如果缺少 Name 键,则可能会使用不带扩展名的 .desktop 文件名。
  • %k 桌面文件的位置可以是 URI(例如从 vfolder 系统获取)或本地文件名,如果不知道位置则为空。

对于自定义操作来说,并非所有这些都有意义。LXDE Wiki 建议PCManFM 仅支持这些

已弃用的:

  • %d
  • %D
  • %n
  • %N
  • %v
  • %m

Nautilus 行动扩展了这些内容以包含更多项目,我认为大多数文件管理器都遵循这一惯例。除了上面列出的内容外,它还添加了:

  • %b (第一个)基本名称
  • %B 以空格分隔的基本名称列表
  • %c 选定项目的数量
  • %d (第一个)基本目录
  • %D 每个选定项目的基本目录的空格分隔列表
  • %h (第一个)URI 的主机名
  • %m (第一个)选定项目的 mimetype
  • %M 所选项目的 mimetype 的空格分隔列表
  • %n (第一个)URI 的用户名
  • %o 无操作运算符,当指定为第一个参数时强制执行某种形式,否则被忽略
  • %O 无操作运算符,当指定为第一个参数时强制执行某种形式,否则被忽略
  • %p (第一个)URI 的端口号
  • %s (第一个)URI 的方案
  • %w (第一个)基本名称,不带扩展名
  • %W 以空格分隔的基本名称列表(不带扩展名)
  • %x (第一)扩展
  • %X 以空格分隔的扩展列表
  • %% 人物

Thunar Actions 支持甚至更少- 它支持的操作在添加操作的对话框中列出:

  • %f 第一个选定文件的路径
  • %F 所有选定文件的路径
  • %d 包含 %f 所指文件的目录
  • %D 包含 %F 所引用文件的目录
  • %n 第一个选定的文件名,不带路径
  • %N 所有选定的文件名,不包含路径

Nautilus 和 Thunar 都使用了 Desktop Entry 规范已弃用的说明符。它们还对 使用了不同的含义%n

除了主列表之外,Dolphin 还支持以下选项:

  • %d所选文件的基本目录作为分隔的参数。行为与 %f 相同
  • %D所选文件的基本目录作为单个空格分隔的参数
  • %n选定文件的基本名称作为分隔参数。行为与 %f 相同
  • %N所选文件的基本名称作为单个空格分隔的参数
  • %m类似于 %f

如果使用了不支持的参数,Dolphin 会将其作为字符串发送(例如“%M”),并将所选文件的路径附加到其中,如 %f 所示。
如果未使用任何参数,Dolphin 仍会将所选文件的路径发送至其中,如 %f 所示。


总而言之,Desktop Entry Spec、Nautilus Actions 和 Thunar 之间的唯一共同点似乎是%f/ %F%f用于指定单个文件,并%F指定文件列表。

相关内容