IceWM has a nice tool called icewm-menu-gnome2 that will parse KDE/Gnome/Freedesktop .desktop files and generate a valid IceWM menu based on them. To enable building it, IceWM must be compiled with --enable-menus-gnome2 and some gnome dev package(s) must be installed. I personally don't have these packages, I don't know exactly what are the needed packages, and thus I couldn't test building such tool.
This is really needed for easier configuration of menus in IceWM. I hope it is integrated into the package.
This probably should be assigned to Steve. :)
I was able to get icewm-menu-gnome2 working on an x86_64 system using x11-wm/icewm-1.2.35 and on an x86 system using x11-wm/icewm-1.2.32. I just inserted --enable-menus-gnome2 into the ebuild where myconf is set, re-manifested the ebuild, and re-emerged the package. I have a fair amount of gnome packages installed on both systems, but I'm not sure which might have been required for this feature. I was not successful in configuring with --enable-menus-gnome1. There was a requirement for 'gnome-config', with some error text indicating: "*** Install the GNOME�s development packages.". I realize --enable-menus-gnome1 is not the topic of this bug report, but I added this information to highlight that there seem to be different requirements for each feature.
Created attachment 164819 [details] IceWM 1.2.35 ebuild with gnome USE flag As I do not use use GNOME, I had to figure out the gnome-base/gnome-desktop dependency. I had to pull over 30 packages! Also, if you are mainly a KDE user like me and you try icewm-menu-gnome2 to generate a KDE-based menu, prepare to be disappointed. I might some day write an IceWM menu program with KDE menu structure in mind and without neither KDE nor GNOME dependencies. Freedesktop .desktop files are M$ Windows INI file clones encoded in UTF-8. Yesterday, I spotted SimpleIni, a maintained MIT-licensed C++ (same language as IceWM) library for parsing the files. Problem is my C++ is rusted and I never learned autotools.
From what I can tell from the IceWM documentation, icewm-menu-gnome1 appears to be legacy. icewm-menu-gnome2 is the useful application that compiles a menu from FreeDesktop .desktop files. As far as KDE goes, taking a look at /usr/share/icewm/menu, the line: menuprog KDE folder icewm-menu-gnome --list /usr/kde/3.5/share/applnk/ appears to want to generate a menu from KDE data, using a different binary again.
Created attachment 196185 [details, diff] icewm-1.2.37.ebuild.menus-gome2.patch This patch enables menus-gnome2 in the ebuild for icewm-1.2.37 (based on comment #4 above). But icewm does not compile because of the following errors: CXX gnome2.o gnome2.cc:25:19: error: gnome.h: No such file or directory CXX ycmdline.o gnome2.cc:27:40: error: libgnomevfs/gnome-vfs-init.h: No such file or directory HOSTCXX genpref.o gnome2.cc: In member function ‘void GnomeMenu::addEntry(const char*, const char*, int, bool)’: gnome2.cc:122: error: ‘gnome_pixmap_file’ was not declared in this scope gnome2.cc: In function ‘int main(int, char**)’: gnome2.cc:351: error: ‘gnome_vfs_init’ was not declared in this scope make[1]: *** [gnome2.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory `/tmp/portage/x11-wm/icewm-1.2.37/work/icewm-1.2.37/src' make: *** [base] Error 2 Any clues?
Why not try "MenuMaker"? Do 'mmaker -v -A icewm' and gives you a complete Gnome/KDE menu in IceWM...
Created attachment 210415 [details, diff] Patch allowing x11-wm/icewm to build against gnome 2.26 For the curious this is the patch allowing building with gnome support,
Anyway, added gnome USE flag in icewm-1.2.37 supporting icewm-menu-gnome2