Huh, good find. I was about to type up an email about how the "Implements=" key that was added after that proposal is kind of useless in our case; as it says, "it is entirely up to the entity who defined a particular interface to define what it means to implement it." But then I realized that we can actually use it quite easily in addition to the proposed xdg-terminal-exec or xdg-intent-exec spec to avoid the need for duplicate desktop files for intent handlers.
It could work like this: 1. The X-ExecArg option (or X-ArgPrefix) in the proposed spec is moved from the "data" directories with desktop files to part of the .list "config" files; 2. the concept of "data" directories (the ones full of .desktop files) can be left out; 3. terminals and other applications that open intents are instructed to have certain values in the Implements key, for example "Implements=xdg-intent- terminal" or "Implements=xdg-intent-calculator"; 4. when we scan through the .list config files, instead of running the matching app in the data directories, we check that the matching .desktop file in the usual place (/usr/share/applications/ or ~/.local/share/applications or whatever) has the correct intent named in the Implements= key; 5. we just run that desktop file with the ArgPrefix specified in the .list. It's only a little cleaner, though. Thoughts?
_______________________________________________ xdg mailing list xdg@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/xdg