AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 783292
Accepted
jackL
jackL
Asked: 2016-06-06 15:31:18 +0800 CST2016-06-06 15:31:18 +0800 CST 2016-06-06 15:31:18 +0800 CST

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

  • 772

我说的是这样的事情:

  • %B
  • %f
  • %F
  • %d
  • %D
  • 等等

它们是什么意思以及它们是如何使用的?我正在寻找指向教程的链接,或者有人可以在此处为我发布综合列表。

目标是将上下文菜单添加到 Pcmanfm/Lubuntu(假设它是可能的)。如果不能使用 Pcmanfm,我会尝试使用另一个文件管理器。

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

谢谢。

context-menu
  • 1 1 个回答
  • 2326 Views

1 个回答

  • Voted
  1. Best Answer
    muru
    2016-06-06T17:08:46+08:002016-06-06T17:08:46+08:00

    这些字符串的最小列表在Desktop Entry 规范Exec的关键字部分中定义。未弃用的:

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

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

    已弃用的:

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

    Nautilus Actions扩展了这些以包含更多项目,我认为大多数文件管理器都遵循这一惯例。除了上面列出的那些,它还补充说:

    • %b (一)basename
    • %B 以空格分隔的基本名称列表
    • %c 所选项目的计数
    • %d (一)基目录
    • %D 每个选定项目的基本目录的空格分隔列表
    • %h (第一个)URI 的主机名
    • %m (第一个)选定项目的 mimetype
    • %M 所选项目的 mimetype 的空格分隔列表
    • %n (第一个)URI 的用户名
    • %o no-op 运算符,当指定为第一个参数时强制执行一种形式,否则忽略
    • %O no-op 运算符,当指定为第一个参数时强制执行一种形式,否则忽略
    • %p (第一个)URI 的端口号
    • %s (第一个)URI 的方案
    • %w (first) basename 不带扩展名
    • %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指定文件列表。

    • 15

相关问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve