On domingo, 29 de dezembro de 2013 11:15:23, Jerome Leclanche wrote: > I remember TryExec now. TryExec partly fits one of my needs, although > there remains the issue of starting without args. > Starting without args is something a lot of xdg implementers do: > Menus, application runners, launchers... All of these assume that > %F/%f/%U/%u can safely be replaced by an empty string. We all know > this isn't always the case. Now, can "this isn't the case" be > considered an application bug? Let's put it this way: would you be > comfortable telling people "The entire way your application is run > (possibly even on all platforms you support) is broken because the xdg > spec wants it this way"?
Maybe we can fix this in another way, for most of the cases. Not all, though.
Suppose we have:
Exec=appname --file=%f
If this .desktop file is present in the menu, it will be launched by running on
the command-line:
appname --file=
Which may or may not do the right thing. The right thing might be to run
withou the --file= argument. We have three choices here:
1) declare that "text%f" should be removed if %f is also empty
=> drawback: in some cases, we may want to keep the text
=> question: do we even recognise the %f for expansion if it's not
surrounded by spaces?
2) extend the syntax, such as: %{f+--file=%f}, similar to a shell expansion
=> solves the drawback above but doesn't catch the corner case below
3) add a completely separate desktop keyword for running with no files, like we
have done for TryExec.
=> advantage: supports weird things like:
Exec=appname --open --file=%f
ExecNoArgs=appname --newproject
(although we could also "uglify" the syntax and do:
Exec=appname %{f+--open --file=}%{f---newproject})
Jerome, is the #3 case what you're aiming for? And do you have a concrete
example that requires it?
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
Software Architect - Intel Open Source Technology Center
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ xdg mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/xdg
