icewm/icewm-susemenu.patch
Michal Hrusecky (old before rename to _miska_) a698d98920 Accepting request 224110 from home:scarabeus_iv
- update version to 1.3.8
- remove patches:icewm-gcc47.patch,icewm-x11.patch
- add two new patches:icewm-1.3.8-enable-guievents.patch,icewm-susemenu.patch
  for new fate #313170

OBS-URL: https://build.opensuse.org/request/show/224110
OBS-URL: https://build.opensuse.org/package/show/X11:windowmanagers/icewm?expand=0&rev=27
2014-02-27 14:47:29 +00:00

43 lines
1.5 KiB
Diff

diff --git a/src/wmprog.cc b/src/wmprog.cc
index 608608f..1d129a3 100644
--- a/src/wmprog.cc
+++ b/src/wmprog.cc
@@ -249,6 +249,14 @@ char *parseIncludeStatement(IApp *app, YSMListener *smActionListener, YActionLis
return p;
}
+void loadMenusProg(
+ IApp *app,
+ YSMListener *smActionListener,
+ YActionListener *wmActionListener,
+ const char *command,
+ char *const argv[],
+ ObjectContainer *container);
+
char *parseMenus(IApp *app, YSMListener *smActionListener, YActionListener *wmActionListener, char *data, ObjectContainer *container) {
char *p = data;
char word[32];
@@ -415,6 +423,22 @@ char *parseMenus(IApp *app, YSMListener *smActionListener, YActionListener *wmAc
delete[] name;
delete[] icons;
delete[] command;
+ } else if (!strcmp(word, "suseprog")) {
+ char *command;
+ YStringArray args;
+
+ p = getCommandArgs(p, &command, args);
+ if (p == 0) {
+ msg(_("Error at prog %s"), "susemenu"); return p;
+ }
+
+ MSG(("suseprog %s", command));
+
+ upath fullPath = findPath(getenv("PATH"), X_OK, command);
+ if (fullPath != null) {
+ loadMenusProg(app,smActionListener,wmActionListener,command,args.getCArray(),container);
+ }
+ delete[] command;
} else if (!strcmp(word, "menuprogreload")) {
char *name;