diff --git a/desktop-entry/desktop-entry-spec.xml b/desktop-entry/desktop-entry-spec.xml index c555d7281ba3cbafb07ff89436fa035c97b3840a..5d214b7a2ca7c74f88659e8fb857fb28d10ed696 100644 --- a/desktop-entry/desktop-entry-spec.xml +++ b/desktop-entry/desktop-entry-spec.xml @@ -71,6 +71,15 @@ + + Zander + Brown + +
+ zbrown@gnome.org +
+
+
@@ -643,6 +652,8 @@ Terminal Whether the program runs in a terminal window. + See Terminal key + for information about how this is handled boolean NO @@ -948,6 +959,114 @@ %U field codes may only be used as an argument on their own. + + The <varname>Terminal</varname> key + + The Terminal key (when true) + indicates that Exec should be run by a terminal + emulator rather than the desktop environment + + + Entries of + Type=Application + can declare themselves as "terminal handlers" which the desktop environment + may use to handle "terminal apps", this is done though special MIME Types + allowing the user to select a default handler through the provisions of the + + MIME Applications Associations Specification + + + All handlers MUST implement x-terminal-handler/standard + but may choose to support x-terminal-handler/enhanced, + desktop environments should only consider + x-terminal-handler/standard when selecting a handler + + + It is RECOMMENDED that desktop environments include fallback mechanism to + use when no handlers are available + + + Standard handlers (<constant>x-terminal-handler/standard</constant>) + + Terminal handlers MUST provide this interface + + + + + -e <command> <flags*> flag + + + -e should consume all further arguments + and pass them to the command being run, for example + terminal -a demo -e ls -la would start + a terminal for ls -la + + + Implementations MUST ensure -e is the + final flag provided to the handler + + + + + Emulates a DEC VT100 terminal (or compatible) + + + + + Note that + + Debian's x-terminal-emulator is + a valid x-terminal-handler/standard + implementation + + + + Enhanced handlers (<constant>x-terminal-handler/enhanced</constant>) + + Terminal handlers MAY provide this interface + + + + + --desktop-id=<desktop-id> flag + + + This flag tells the handler that is being run to handle + <desktop-id>, this allows the handler to + provide various integrations + + + Possible integrations include: + + + + Setting window title according to the Name + key + + + + + Setting window icon according to the Icon + key + + + + + Register a <desktop-id> specific + instance with the session manager + + + + + + --desktop-id should be passed before + -e, for example + my-terminal --desktop-id=htop.desktop -e htop + + + + + D-Bus Activation @@ -1273,6 +1392,19 @@ Exec=fooview --create-new Name=Create a new Foo! Icon=fooview-new + + Example terminal hander + +[Desktop Entry] +Version=1.0 +Type=Application +Name=My Terminal +Comment=An awesome enhanced terminal emulator +Exec=my-terminal +Icon=my-terminal +MimeType=x-terminal-handler/standard;x-terminal-handler/enhanced; + + Currently reserved for use within KDE @@ -1627,6 +1759,13 @@ Icon=fooview-new Changes to this Specification +
+ Changes from version 1.2 to 1.3 + + Formalise handling of entries with + Terminal=True + +
Changes from version 1.1 to 1.2