I've been using XFCE for about a week now; I finally gave up on KDE on my desktop because of too many problems with the set-up there (switching between multiple users with multiple X servers running different WM/DE combinations, three monitors and two videocards; it is this last part which seems to have hamstrung KDE when switching users/X instances).
Anyway, XFCE has proven to be very stable in that context, and has gotten me into using XDG files for panel menus, which seem to be very straightforward; I have a menu file that looks like this:
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
<Menu>
<Name>GoldilocksDE</Name>
<AppDir>/home/goldilocks/xdg/applications</AppDir>
<Include>
<Category>Goldilocks-favourites</Category>
</Include>
</Menu>
Then everytime I want to add an app to that list, I just stick its desktop file in /home/goldilocks/xdg/applications
and it is added to the menu without having to reload, restart, or do anything further. Very nice.
For the most part, I've just been copying these in from /usr/share/applications
, and adding Goldilocks-favourites
to Categories
.
There's still the default panel menu with a bunch of submenus that contains everything and I'm not bothering with editing that or using xdg-desktop-menu
; the customized menu above is just for the half dozen or so things I use most often. I'm using a custom path instead of ~/.local/share/applications
since the system/installers/the package manager uses that. I've copied entries out of there too.
But now I am confused. I tried to copy in an entry for okular
; there's two on the system I could find, one left behind in /usr/share/appplications/kde4
(actually there's a bunch of okularApplication_foo.desktop
ones in there that seem to be about different mime types), and one in ~/.local/share/applications
. Neither of them work when copied into the custom /home/goldilocks/xdg/applications
. I also took one for an application which does work and just replaced a few values appropriately.
[Desktop Entry]
Version=1.0
Name=Okular
Comment=Document viewer
Exec=okular
Icon=okular
Type=Application
Terminal=false
Categories=Goldilocks-favourites
X-Desktop-File-Install-Version=0.22
No dice. It is just not in the menu. XFCE does not seem to log errors or anything anywhere AFAICT (there's nothing in /var/log/syslog
, and I get a copy of anything using syslog dumped there; journald runs mostly castrated and never shows anything additional to that).
So I've been looking at the man pages found with apropos xdg
, there's not much there, and this freedesktop page makes the format sound as simple and open as I think it is, with the exception of "the 'reverse DNS' convention e.g. org.example.FooViewer.desktop" which none of the desktop files on the system have followed anyway. I also can't seem to find the Okular.desktop file that the big default menu (/etc/xdg/menus/xfce-applications.menu
) uses despite having read this and noted the contents of env | grep XDG
. It doesn't seem to be one of the the files mentioned above, since if I tweak them (e.g., change the icon) it doesn't affect the menu.
Does anyone understand what the issue is here?
<AppDir>
.locate .desktop | xargs grep -i okular
, just in case ?/usr/share/kde4
(which must have been left over from purging it via the package manager), but I doubt those are in play -- digging around in this stuff I think KDE uses some of its own extensions to XDG, and that what that's about. Anyway, I tried moving the whole directory, and same situation (no okular in my menu but it is still there in the main xfce one).