You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Running a command in a terminal from another app is a common usecase. Almost all terminals provide such a command execution interface (-e, -x, -- or such). Clients of the desktop entry spec can guess, but they cant know for sure since terminals break their CLI (no offense, I'd be happy if you all break it to go to --).
There is a freedesktop spec proposal that tries to standardize the way we configure a default terminal for command execution. It implicitly solves the above problem by requiring the dektop entry to provide this info.
To support it (X-)ExecArg has to be added to the desktop file (like this, the reference implementation respects both) and, as the proposal specifies currently, make sure there is TerminalEmulator in Categories. It has not yet been approved, therefore the X-.
The draft states that the default should be -e (because xterm once did). But I think we should not have a default at all because we have to support terminals not having such an interface and even if we do (which will break a lot of configs) we should use -- (terminal authors should as well), because it is not a usual argument but instead changes the way the remainder of the command line is to be interpreted. So please be explicit.
As the author of a launcher I'd be even happy with the implicit changes to the lacking (we have the Terminal key, do we?) desktop entry spec. There is also a related intentapp draft and a terminal intent. I dont have a favorite, but a pragmatic opinion. This will help making Linux a better user experience and a less annoying developer experience.
ManuelSchneid3r
changed the title
State of xdg-terminal-exec support
State of a default command execution interface support on xdg platforms
Aug 21, 2024
Running a command in a terminal from another app is a common usecase. Almost all terminals provide such a command execution interface (
-e
,-x
,--
or such). Clients of the desktop entry spec can guess, but they cant know for sure since terminals break their CLI (no offense, I'd be happy if you all break it to go to--
).There is a freedesktop spec proposal that tries to standardize the way we configure a default terminal for command execution. It implicitly solves the above problem by requiring the dektop entry to provide this info.
To support it (X-)ExecArg has to be added to the desktop file (like this, the reference implementation respects both) and, as the proposal specifies currently, make sure there is TerminalEmulator in Categories. It has not yet been approved, therefore the
X-
.The draft states that the default should be
-e
(because xterm once did). But I think we should not have a default at all because we have to support terminals not having such an interface and even if we do (which will break a lot of configs) we should use--
(terminal authors should as well), because it is not a usual argument but instead changes the way the remainder of the command line is to be interpreted. So please be explicit.As the author of a launcher I'd be even happy with the implicit changes to the lacking (we have the
Terminal
key, do we?) desktop entry spec. There is also a related intentapp draft and a terminal intent. I dont have a favorite, but a pragmatic opinion. This will help making Linux a better user experience and a less annoying developer experience.Thank you
The text was updated successfully, but these errors were encountered: