I'm setting up a Debian system, with LXDE as the Desktop Environment (really, I'm just remastering a Raspberry Pi OS image).
I have an application that ships with a .desktop file.
Cool!
Unfortunately that MyApplication.desktop file contains the following line that prevents the icon from being shown in the menu:
NoDisplay=true
Now, I would like to find a generic way to override just this single field in the MyApplication.desktop file for the entire system, without touching any other fields - think of it as an overlay.
Especially, I try to avoid a solution like this...
sed -e 's/^NoDisplay=true/NoDisplay=false/' /usr/share/applications/MyApplication.desktop \
> /usr/local/share/applications/MyApplication.desktop
... as this would lose any changes of the MyApplication.desktop introduced by newer upstream versions of that file (and presumable leave the menu-entry intact, even if after I've uninstalled MyApplication from the system)
Obviously, the standard does not allow only partial .desktop files, e.g. this would not work:
$ cat /usr/share/applications/MyApplication.desktop
[Desktop Entry]
Name=My Cool Application
GenericName=My Application
Exec=myapp %f
Icon=myapp
Type=Application
Terminal=false
Categories=Application
NoDisplay=true
$ cat /usr/local/share/applications/MyApplication.desktop
[Desktop Entry]
NoDisplay=false
Similarily, there's no include mechanism:
$ cat /usr/local/share/applications/MyApplication.desktop
include=/usr/share/applications/MyApplication.desktop
[Desktop Entry]
NoDisplay=false
what are my options to achieve that?