- Rebase patches for version 2.9.7: * icewm-susemenu.patch * icewm-desktop-nodisplay.patch * icewm-preferences.patch - Update to 2.9.7: * Fix for saving keyboard layouts in --rewrite-preferences. * Faster and more reliable restart of icewmbg. * Add themable preference ColorKeyboardLayoutText. * Add KeySysKeyboardNext to switch to next keyboard layout. * Document alternative keypad handling in icewm-keys(1). * Handle right-to-left languages in icewm-menu-fdo. * Add -g,--generic option to icewm-menu-fdo for GenericName in menus. * Updated translations: Czech, Danish, Finnish, Turkish, German, French. - from version 2.9.6: * Lower a fullscreen window below the window which is to be activated. * Start a new fullscreen client in the fullscreen layer for issue #85. * Prioritize the thermal zones when showing CPU temperature. * Let CPU graphs share a single timer and adjust to changes to TaskBarCPUSamples. * Support workspace names "next" and "prev" in icesh for issue bbidulock/icewm#640. * Updated translations: Spanish, German, Italian, Chinese, Portuguese (Brazil). - from version 2.9.5: * Set the window type of desktop icons and of the dockapps container. * Make taskbar unhide more reliable. * Fix OSS / APM confusion in some translations. * Fix for taskbar on icewm restart when there is a fullscreen window. * Fix for TaskBarAutoHide and for focusing address bar. * Make TaskBarFullscreenAutoShow option more reliable. * Remove all of the inefficient management of the fullscreen layer. * Fixes to prevent a lockup where no keybinding works, when activating a do-not-focus output-only window OBS-URL: https://build.opensuse.org/request/show/978628 OBS-URL: https://build.opensuse.org/package/show/X11:windowmanagers/icewm?expand=0&rev=116
86 lines
2.8 KiB
Diff
86 lines
2.8 KiB
Diff
Index: icewm-2.9.7/lib/menu.in
|
|
===================================================================
|
|
--- icewm-2.9.7.orig/lib/menu.in
|
|
+++ icewm-2.9.7/lib/menu.in
|
|
@@ -11,5 +11,6 @@ prog Firefox mozilla firefox
|
|
prog Hexchat xchat hexchat
|
|
prog Gimp gimp gimp
|
|
includeprog icewm-menu-fdo --sep-before --no-sep-others
|
|
-menufile Programs folder programs
|
|
+#menufile Programs folder programs
|
|
menufile Tool_bar folder toolbar
|
|
+menuprog SUSE folder xdg_menu --format icewm
|
|
Index: icewm-2.9.7/src/wmmenu.cc
|
|
===================================================================
|
|
--- icewm-2.9.7.orig/src/wmmenu.cc
|
|
+++ icewm-2.9.7/src/wmmenu.cc
|
|
@@ -294,6 +294,46 @@ char* MenuLoader::parseMenuProg(char *p,
|
|
return p;
|
|
}
|
|
|
|
+char* MenuLoader::parseSuseProg(char *p, ObjectContainer *container)
|
|
+{
|
|
+ Argument name;
|
|
+
|
|
+ p = YConfig::getArgument(&name, p);
|
|
+ if (p == nullptr) return p;
|
|
+
|
|
+ Argument icons;
|
|
+
|
|
+ p = YConfig::getArgument(&icons, p);
|
|
+ if (p == nullptr) return p;
|
|
+
|
|
+ Argument command;
|
|
+ YStringArray args;
|
|
+
|
|
+ p = getCommandArgs(p, &command, args);
|
|
+ if (p == nullptr) {
|
|
+ msg(_("Error at menuprog '%s'"), name.cstr());
|
|
+ return p;
|
|
+ }
|
|
+
|
|
+ ref<YIcon> icon;
|
|
+#ifndef LITE
|
|
+ if (icons[0] != '-')
|
|
+ icon = YIcon::getIcon(icons);
|
|
+#endif
|
|
+ MSG(("suseprog %s %s", name.cstr(), command.cstr()));
|
|
+
|
|
+ csmart path(path_lookup(command.cstr()));
|
|
+ if (path) {
|
|
+ ObjectMenu *progmenu = new MenuProgMenu(
|
|
+ app, smActionListener, wmActionListener,
|
|
+ name.cstr(), command.cstr(), args);
|
|
+ if (progmenu)
|
|
+ container->addContainer(name.cstr(), icon, progmenu);
|
|
+ }
|
|
+
|
|
+ return p;
|
|
+}
|
|
+
|
|
char* MenuLoader::parseMenuProgReload(char *p, ObjectContainer *container)
|
|
{
|
|
Argument name;
|
|
@@ -395,6 +435,9 @@ char* MenuLoader::parseWord(char *word,
|
|
else if (!strcmp(word, "menuprogreload")) {
|
|
p = parseMenuProgReload(p, container);
|
|
}
|
|
+ else if (!strcmp(word, "suseprog")) {
|
|
+ p = parseSuseProg(p, container);
|
|
+ }
|
|
else if (!strcmp(word, "include")) {
|
|
p = parseIncludeStatement(p, container);
|
|
}
|
|
Index: icewm-2.9.7/src/wmprog.h
|
|
===================================================================
|
|
--- icewm-2.9.7.orig/src/wmprog.h
|
|
+++ icewm-2.9.7/src/wmprog.h
|
|
@@ -30,6 +30,7 @@ private:
|
|
char* parseAMenu(char *data, ObjectContainer *container);
|
|
char* parseMenuFile(char *data, ObjectContainer *container);
|
|
char* parseMenuProg(char *data, ObjectContainer *container);
|
|
+ char* parseSuseProg(char *p, ObjectContainer *container);
|
|
char* parseMenuProgReload(char *data, ObjectContainer *container);
|
|
char* parseKey(char *word, char *p);
|
|
char* parseProgram(char *word, char *p, ObjectContainer *container);
|