kstart5
has some rather interesting syntax for one of its parameters:
Usage: kstart5 [options]
Utility to launch applications with special window properties
such as iconified, maximised, a certain virtual desktop, a special decoration
and so on.
Options:
-h, --help Displays help on commandline options.
--help-all Displays help including Qt specific options.
-v, --version Displays version information.
--author Show author information.
--license Show licence information.
--desktopfile <file name> The base file name of the desktop entry for this
application.
--!+command Command to execute
--service <desktopfile> Alternative to <command>: desktop file path to
start. D-Bus service will be printed to stdout.
Deprecated: use --application
--application <desktopfile> Alternative to <command>: desktop file to start.
This caused me a lot of headscratching until somebody online suggested me to escape the !
with a \
, which finally made it work.
But why on Earth does it use this strange syntax specifically for that one parameter? Why not simply call it --command
? The other ones use sane syntax such as --service
or --application
, so why --!+command
?
To make it clear, you literally have to run it like: kstart5 --\!+command whatever
. Why not: kstart5 --command whatever
?