I fired up a windowmaker session and saw that WPrefs is working fine for me on slackware64-current. Since that's not a helpful answer I did a little more digging into why it works.
In windowmaker where you would naturally use WPrefs, that WPrefs path is baked into the default root window menu. E.g:
Code:
$ grep -B3 -A1 WPrefs ~/GNUstep/Defaults/WMRootMenu
(
"Configure Window Maker",
EXEC,
"/usr/lib64/GNUstep/Applications/WPrefs.app/WPrefs"
),
That menu doesn't bother using Freedesktop's "desktop specification" and the respective '/usr/share/applications/WPrefs.desktop' file, which is why it works fine from windowmaker itself.
So I guess they are supplying that file to use in other desktop environments that are desktop spec compliant?
Based on that I tried running WPrefs from xfce4's Applications menu (its under "Settings"), and yes that comes up with an error "Failed to execute/find the file".
The WPrefs.desktop file:
Code:
[Desktop Entry]
Version=1.5
Type=Application
Name=WPrefs
Comment=Window Maker Preferences
TryExec=/usr/lib64/GNUstep/Applications/WPrefs.app/WPrefs
Exec=WPrefs
Icon=/usr/lib64/GNUstep/Applications/WPrefs.app/WPrefs.xpm
Categories=Settings;DesktopSettings;
Note: TryExec is not a fallback path. From the
freedesktop desktop spec:
Quote:
TryExec - Path to an executable file on disk used to determine if the program is actually installed. If the path is not an absolute path, the file is looked up in the $PATH environment variable. If the file is not present or if it is not executable, the entry may be ignored (not be used in menus, for example).
|
Its meant to be used with freedesktop's autostart specification to verify the executable listed under Exec= (at least thats the only other mention they have of its use,
see the autostart spec for reference).
With the Exec= line being a relative path, you'll have to add that to your user's PATH environment variable to use WPrefs in an environment other than windowmaker. E.g: Set something like the following in your ~/.bash_profile script:
Code:
export PATH=$PATH:/usr/lib64/GNUstep/Applications/WPrefs.app
Note that you will also have to have run windowmaker at least once to set up the ~/GNUstep directory, otherwise running WPrefs will also throw errors about non-existent config files. But then again, why are we adjusting windowmaker's settings from a different desktop environment?
So in the end this seems like a windowmaker/upstream problem to me, since they are shipping a broken WPrefs.desktop file.
The other option is to not include that file in the windowmaker package at all, since windowmaker doesn't use it. Removing it would remove it from the menus of xfce/kde/gnome and other desktop spec compliant environments, where people might click it and be greeted by that error.
HTH.