I'm on F27 and I'm still not seeing a menu entry in either Whisper meno or standard applications menu, for the xfce4-settings-manager.
I noticed it was missing ages ago, but, now, I'm like. Come on. This has gone on long enough.
Sure, you have menu items for some of the other settings sub-components, I can see one for power manager, and others. But that is not good enough. People have multiple desktops installed. There are various settings apps scattered around the menus for KDE & other desktops. There are things that could be settings apps in the Settings menu, in the Administration menu, and in the System menu. They might be for KDE, gnome, xfce, or god knows what.
But you know what, when i go to the Settings menu, I can at least see a thing called "KDE System Settings", which would be a good place to start if i wanted to tweak some KDE settings. I can also see "Sawfish Config" and "Nvidia X Server Settings". Nice.
But there is no similar menu item for xfce4-settings-manager, which is insane.
As it is the *primary* settings tool for Xfce, which groups all the other sub-tools together, *****there should be a menu entry for xfce4-settings manager*****.
And it should be called something reasonable, like "Xfce Setting Manager". Not "Settings" or anything ambiguous. Call it "Xfce Settings Manager", because that is what it is. And put it in the Settings menu.
This item is there in most distributions by default and of course there is a desktop file for it (also included in the default menu provided by upstream Xfce). Its human-readable name is "Settings Manager" (in english at least).
* The desktop file: https://git.xfce.org/xfce/xfce4-settings/tree/xfce4-settings-manager/xfce-settings-manager.desktop.in
* The default menu file: https://git.xfce.org/xfce/garcon/tree/data/xfce/xfce-applications.menu
In Whiskermenu there is even a separate button for it, in addition to the entry in the menu list.
Please file a bug in the Fedora bugtracker, if anything it has to be a distribution problem.
Thanks for the info Simon.
I've investigated this a bit more now, and it looks like it's not necessarily fedora that is at fault here.
The problem, is that the desktop file for xfce-settings-manager specifies "OnlyShowIn=XFCE;", and I have export XDG_CURRENT_DESKTOP="kde:XFCE", and something is broken.
According to the specs here:
"By default, a desktop file should be shown, unless an OnlyShowIn key is present, in which case, the default is for the file not to be shown.
If $XDG_CURRENT_DESKTOP is set then it contains a colon-separated list of strings. In order, each string is considered. If a matching entry is found in OnlyShowIn then the desktop file is shown. If an entry is found in NotShowIn then the desktop file is not shown. If none of the strings match then the default action is taken (as above)."
If I change my XDG_CURRENT_DESKTOP to contain *just* XFCE, then xfce-settings-manager shows up in my xfce menus. But, something is not processing the colon-separated list like it should, when I have multiple values in there.
Looks like a bug in something -either in Xfce if it parses all these menus itself, or, in some freedesktop package, if xfce relies on code from freedesktop to display all these menus.
Oh thanks Simon, for the tip re the Settings Manager button in Whisker menu! That, at least is there, although it's very easy to overlook.
I still do not think it is good enough that the app. is called "Settings Manager" (when it does show up in the Menus. As mentioned earlier, people use a variety of desktops, and it doesn't help anyone when their settings apps, which are *particularly* important, are ambiguously named.
The name in the desktop file really *must* be renamed to something more unambiguous, like "Xfce Settings Manager". Then, it is clear what it is. "Settings Manager" could be settings for... anything.
Found similar complaint from Ubuntu peeps, dating back to early 2016:
Since being standardised XDG_CURRENT_DESKTOP supports specifying multiple Desktop Names seperated by a colon, however many of the patches in Ubuntu pre-date this change so don't correctly support the current format in some cases.
In this case it's most likely a problem in garcon, but I guess the use-case of having multiple DEs specified is just fairly rare.
Just out of curiousity, what's your reason for doing so?
Yeah, i understand it probably is pretty rare.
My reason for doing so is bloody KDE. I don't typically like to run KDE as a desktop, but, I do use a few kde apps, in particular konsole. And I've started looking at whether Dolphin has finally reached a usable stage. And when I start up those KDE apps under another desktop like Xfce, they have broken icons and all sorts of display horrors, unless XDG_CURRENT_DESKTOP contains KDE...
garcon_get_environment read the XDG_CURRENT_DESKTOP env variable, and is only call in garcon_menu_item_get_show_in_environment() / garcon_menu_item_only_show_in_environment()
However the "new" spec with multiple Desktop Names separated by a colon is not supported in theses functions.
I have a quick patch which seem to works, which check the full content of XDG_CURRENT_DESKTOP and iterate over the list.
Created attachment 8037
Support composite XDG_CURRENT_DESKTOP
The patch generally looks good, but in John's comment I see the colon ":" as delimiter instead of the semi-colon ";" - you use the latter in your code.
I'm not completely sure, but I think the colon is correct (you even mention that in your code comment ;))
Also - if I may be nitpicky - there are some minor issues with code formatting (spaces before opening brackets, spaces after commas etc) that would be nice if were corrected before this is pushed.
XDG_CURRENT_DESKTOP use colon separated list, and OnlyShowIn/NotShowIn use a semi-colon separated list…
So in our case, we need to check ":", not ";", you're correct. I'll revamp my patch with your remarks :)
Created attachment 8068
Support composite XDG_CURRENT_DESKTOP v2
Updated patch, with check for ":" separator in XDG_CURRENT_DESKTOP
Romain Bouvier referenced this bugreport in commit 2bee8d9bc3c0fe20937e01b85d332719c18c14d8
Support composite XDG_CURRENT_DESKTOP