Package: wmaker Version: 0.95.8-3 automatically generated menus prevent some applications from running, e.g. libreoffice will not run complaining that file "%U does not exist" and others will open an empty file, e.g. %F.
Looking at the code the XDG menu parser does not strip "%X" arguments from Exec entries, I attached a sample patch as a workaround to this problem.
Index: wmaker-0.95.8/util/wmmenugen_parse_xdg.c =================================================================== --- wmaker-0.95.8.orig/util/wmmenugen_parse_xdg.c +++ wmaker-0.95.8/util/wmmenugen_parse_xdg.c @@ -297,7 +297,7 @@ static void getKey(char **target, const static void getStringValue(char **target, const char *line) { const char *p; - int kstart; + int kstart, kend; p = line; kstart = 0; @@ -311,7 +311,15 @@ static void getStringValue(char **target while (*(p + kstart) && isspace(*(p + kstart))) kstart++; - *target = wstrdup(p + kstart); + /* skip until first % */ + kend = kstart + 1; + while (*(p + kend) && *(p + kend) != '%') + kend++; + + /* strip heading white space if any */ + if(isspace(*(p + kend -1))) kend--; + + *target = wstrndup(p + kstart, kend - kstart); } /* get a localized string value from line. allocates target, which must be wfreed later.