Linux desktop fixes
Here's one last one for the next release. We inherited the Linux desktop files from classic Pd-l2ork. They're still the same, and they're broken for various reasons. This MR fixes all that.
My main gripe is that all the desktop files currently contain "sticky" options. I mean stuff like
-inchannels 2 -outchannels 2 -alsamidi -mididev 0which are in all the
Execlines. These are really bad UX-wise, because they override whatever is being configured on the Audio and MIDI tabs in the Preferences dialog. We should really get rid of those options in the desktop files we ship, so that users don't think that the preferences are broken. This is fixed in rev. c9fe57b3. For now, I'm leaving the
-rt -audiobuf 20options in there because enforcing these makes kind of sense to me, but we might consider removing those as well. Purr Data launches and runs just fine with the defaults, if you invoke it from the command line without any options, so there's no reason for any of these options to be in there.
The desktop files contain extra actions, also known as quicklists, which I find very useful. But they're still written in an ancient, Unity-specific syntax that's not supported by any modern DE. I updated these to use the corresponding freedesktop.org standard in rev. 38755196 and rev. fcb2ce23. This standard is implemented in most if not all freedesktop.org-compliant DEs these days. I actually tested this in GNOME, KDE and XFCE, and the reworked actions work fine in each of these. I also reworked the
Execlines to fix various issues I found in the actions, this is in rev. 9b6dac69, da000cb6, and ffb02ebb. While I was at it, I also added some commentary to the main desktop file and added a few more examples, so that users can figure out how they can do their own quicklists if they want; see rev. e10649e3.
I also fixed a few minor typos and editing blunders in rev. 0a668d7b.
Sorry, this MR isn't quite as tidy as I'd like it to be. :) That's because I found and fixed additional issues as I went along and tested what I already had. But I made an attempt to present the various changes in a logical order above, so that the meaning of the individual commits should hopefully be clear in their context.