I've written quite a few open source programs over the years, but not very recently, and I've never had this problem before. The menu items for my new project simply refuse to show up in menus on either gnome or kde.
I originally just installed the .desktop files to /usr/share/applications but later modified it to use desktop-file-utils - all to no avail. I've add update-desktop-database to my postinst script... nothing
I've validated the entries, and in the file manager they are correct, I've tried giving them execute permissions... I can't find anything wrong but they just won't show up. Is there something new one has to do to get your app's menu items to show these days ?
The .desktop files are:
silentcoder@ravenriley ~/SOURCE/ezdm $ cat ezdm.desktop
[Desktop Entry]
Type=Application
Name=EZDM
GenericName=Easy Dungeon Master
Comment=A tookit for AD&D Dungeon Master
TryExec=/usr/games/ezdm
Exec=/usr/games/ezdm
Categories=Game;RolePlaying;
Icon=/usr/share/icons/hicolor/128x128/ezdm.png
Terminal=false
cat ezdmconsole.desktop
[Desktop Entry]
Type=Application
Name=EZDM-Console
GenericName=Easy Dungeon Master (Console version)
Comment=A tookit for AD&D Dungeon Master
TryExec=/usr/games/ezdm --console
Exec=/usr/games/ezdm --console
Categories=Game;RolePlaying;
Icon=/usr/share/icons/hicolor/128x128/ezdm-console.png
Terminal=1
X-Desktop-File-Install-Version=0.20
And if any of the other code might be useful, it's all browseable on github: https://github.com/ajventer/ezdm
UPDATE: The mystery deepens, if I copy the files to /usr/share/applications/kde4 (which I obviously don't want to do in my package - after all, it should work in gnome too) then suddenly ezdm.desktop does show up in the menu, but ezdm-console.desktop still refuses to.
UPDATE: since it may be relevant: From Makefile:
install:
$(PYTHON) setup.py install --prefix=/${PREFIX} --root $(DESTDIR) --install-scripts=/${PREFIX}/games/ --no-compile --force --record .install.record --install-layout=deb
mkdir -p ${DESTDIR}/${PREFIX}/share/applications
mkdir -p ${DESTDIR}/${PREFIX}/share/icons/hicolor/128x128/
desktop-file-install --dir=${DESTDIR}/${PREFIX}/share/applications/ ezdm.desktop
desktop-file-install --dir=${DESTDIR}/${PREFIX}/share/applications/ ezdm-console.desktop
install -g root -o root -m 0666 ezdm.png ${DESTDIR}/${PREFIX}/share/icons/hicolor/128x128/ezdm.png
install -g root -o root -m 0666 ezdm-console.png ${DESTDIR}/${PREFIX}/share/icons/hicolor/128x128/ezdm-console.png
update-desktop-database ${DESTDIR}/${PREFIX}/share/applications
And debian/postinst:
cat debian/postinst
#!/bin/bash -x
ln -sf /usr/games/ezdm* /usr/bin
for I in /usr/lib/python2.7/dist-packages/ezdm_libs/*.py; do
python -m compileall $I
done
update-desktop-database
#DEBHELPER#