0

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?

  • Could it be that there's another desktop file for Okular that gets picked by Xfce, masking the one you expect? – user86969 May 1 '16 at 21:03
  • @Nasha Well it obviously picks up one from somewhere because it's in the main menu hierarchy, although as mentioned I don't think it's either of the versions I could find. However, almost everything in "my menu" is duplicated in the main one, and that's not an issue for that stuff. Also, the only place it should look for the stuff in my menu, if I understand things correctly, is what's specified in <AppDir>. – goldilocks May 1 '16 at 21:14
  • That said the desktop file might be not named "Okular.desktop" at all. Have you tried locate .desktop | xargs grep -i okular, just in case ? – user86969 May 1 '16 at 21:21
  • As it turns out there's dozens of .desktop entries for okular in /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). – goldilocks May 1 '16 at 21:30
0

This isn't much of an answer as it does not include an explanation of why this should be the case for some desktop files but not others, but after a reboot this morning the okular entry was there.

The system had been up for more than a week, probably preceding my switch from KDE to XFCE. However, I noticed the same problem immediately when adding an entry for sylpheed, and since nothing else was going on at that point,1 logged in and out of XFCE and presto, there was sylpheed.

Note that I have minified the entries -- the okular one above doesn't include mime types, etc. -- and they are all very similar in most respects, so I don't see a cause there.


1. I don't use session management with anything since I've never found a restoration system that didn't include some kind of screw-up. Meaning logging in and out can be a PITA for me.

  • Bit of a note about okular in particular although it really doesn't involve the question: Turns out without some KDE component installed and running it isn't stable, and this is by design :( Shame, nicest PDF viewer I've ever used. – goldilocks May 7 '16 at 14:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.