icewm/icewm-susemenu.patch
İsmail Dönmez a0e922a5da Accepting request 857752 from home:glaubitz:branches:X11:windowmanagers
- Update to 2.0.0
  * Remove support for the old and obsolete _WIN_PROTOCOL properties.
  * Add support for the Imlib2 image rendering engine as an alternative
    for the gdk-pixbuf-xlib rendering engine. The Imlib2 image rendering
    engine is now the default, but this can be set at configure time.
  * Center the window list window if it got offscreen.
  * Fix horizontal scrolling in icehelp.
  * Use _NET_WM_STATE_HIDDEN instead of IconicState for minimize in icesh.
  * Icewm now supports ICCCM icon_pixmap and icon_window.
  * Don't unroll rolled up windows on left button press for issue #525.
  * Fix for drawing title pixmaps when they are gradients for issue #523.
  * Remove unwanted separator in taskbar for empty toolbar for issue #524.
    support BR_Portuguese language in 2 desktop files for issue #522.
  * Add support for WM_HINTS icon_window in MiniIcons.
  * Check if WM_HINTS update actually changes anything.
  * Don't attempt to draw Unicode in non-UTF-8 environment for issue #519
  * Icewm now supports the icon_pixmaps from WM_HINTS to correctly
    show the icon for NEdit, xmgrace, xv, timidity and fontforge.
  * Don't resize when trying to move when dragging at y=0 for issue #520.
  * Report errors if enabled packages are missing for issue #516.
  * Instead of render.h include Xrender.h for dependency checking for issue #516.
  * Fix the positioning of the window list title for non-standard SmallIconSize
    settings for issue #514.
- from version 1.9.2
  * Fix for correctly restoring xterm from fullscreen in issue #28.
  * Prevent inadvertent growing of windows in issue #512.
- from version 1.9.1
  * Fix for NEdit, which delays setting WM_NORMAL_HINTS, to fix issue #510.
  * Fix for changing layers when ABOVE or BELOW bit is set.
  * Use a minimum delay of 10 ms for auto taskbar delays for issue #508.

OBS-URL: https://build.opensuse.org/request/show/857752
OBS-URL: https://build.opensuse.org/package/show/X11:windowmanagers/icewm?expand=0&rev=111
2020-12-29 09:06:57 +00:00

83 lines
2.8 KiB
Diff

diff -Nru icewm-2.0.0.orig/lib/menu.in icewm-2.0.0/lib/menu.in
--- icewm-2.0.0.orig/lib/menu.in 2020-12-14 02:14:27.000000000 +0100
+++ icewm-2.0.0/lib/menu.in 2020-12-20 18:55:09.026453502 +0100
@@ -11,5 +11,6 @@
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
diff -Nru icewm-2.0.0.orig/src/wmmenu.cc icewm-2.0.0/src/wmmenu.cc
--- icewm-2.0.0.orig/src/wmmenu.cc 2020-12-14 02:14:27.000000000 +0100
+++ icewm-2.0.0/src/wmmenu.cc 2020-12-20 18:59:54.401885022 +0100
@@ -294,6 +294,46 @@
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 @@
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);
}
diff -Nru icewm-2.0.0.orig/src/wmprog.h icewm-2.0.0/src/wmprog.h
--- icewm-2.0.0.orig/src/wmprog.h 2020-12-14 02:14:27.000000000 +0100
+++ icewm-2.0.0/src/wmprog.h 2020-12-20 19:01:08.201727478 +0100
@@ -30,6 +30,7 @@
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);