调用命令时“%U”是什么意思?


54

当编辑应用程序菜单,我看到一些应用程序的命令具有%Ugedit %Ugnome-mplayer %U,但别人不一样,例如gcalctool

我想知道什么%U时候调用命令,什么时候需要,什么时候不需要?谢谢!

这是我之前的问题所激发的,在这里回答了一个问题,但没有使它起作用。

Answers:


58

这是.desktop文件(在Desktop Entry Specification中定义)中的Exec键的参数,该参数描述应如何处理程序的参数(来自文件管理器/程序启动器,例如多个选定的文件):

%u 一个URL。本地文件可以作为文件URL或作为文件路径传递。

%U URL列表。每个URL作为单独的参数传递给可执行程序。本地文件可以作为文件URL或作为文件路径传递。

因此,例如,/usr/share/applications/gedit.desktop包含:

Exec = gedit%U

这意味着gedit的参数将被视为URL(或本地文件)列表。

有关可能参数的完整列表,请参见Exec键


2
谢谢!(1)您能举一些例子吗?(2)什么时候不指定?
蒂姆(Tim)

32
这些参数键存在的原因是让桌面管理器知道如果您同时打开多个所选对象或将一个或多个对象放到该对象上该怎么办。 %U意味着程序可以在一次调用中将所有这些函数都接受;%u意味着每个对象需要单独的调用;如果未指定它们,则程序将不知道如何处理掉在上面的东西。还有其他的按键,让桌面管理器来定制信息传递给程序,以及一组独立选择的%f%F,这意味着它需要一个/多个文件,但没有网址。
geekosaur 2011年

1
@ geekosaur:很棒的评论!
蒂姆(Tim)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.