File fix_wmgenmenu_paths.patch of Package WindowMaker

From 3981805ec78adf4479f0988cfc2174a02d58a738 Mon Sep 17 00:00:00 2001
From: "Carlos R. Mafra" <crmafra@gmail.com>
Date: Thu, 10 Apr 2014 19:34:48 +0100
Subject: [PATCH] wmgenmenu: Write paths according to options set at configure
 time

As reported by Shawn W Dunn, the configuration strings written by wmgenmenu
in $HOME/GNUstep/Defaults/WMRootMenu were not reflecting his installation
directories choices.

Fix this by writing strings composed with PKGDATADIR.

Signed-off-by: Carlos R. Mafra <crmafra@gmail.com>
---
diff -rupN WindowMaker-0.95.4.old/util/wmgenmenu.c WindowMaker-0.95.4/util/wmgenmenu.c
--- WindowMaker-0.95.4.old/util/wmgenmenu.c	2013-01-09 13:42:39.000000000 -0800
+++ WindowMaker-0.95.4/util/wmgenmenu.c	2014-04-10 13:02:00.693514632 -0700
@@ -35,6 +35,13 @@ int main(int argc, char *argv[])
 {
 	char *t;
 	int ch;
+	char *tmp, *theme_paths, *style_paths, *icon_paths, *bg_paths;
+
+	tmp = wstrconcat("-noext ", PKGDATADIR);
+	theme_paths = wstrconcat(tmp, "/Themes $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle");
+	style_paths = wstrconcat(tmp, "/Styles $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle");
+	icon_paths = wstrconcat(tmp, "/IconSets $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons");
+	bg_paths = wstrconcat(tmp, "/Backgrounds $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t");
 
 	struct option longopts[] = {
 		{ "version",		no_argument,	NULL,	'v' },
@@ -146,7 +153,7 @@ int main(int argc, char *argv[])
 	L2Menu = WMCreatePLArray(
 		WMCreatePLString(_("Themes")),
 		WMCreatePLString("OPEN_MENU"),
-		WMCreatePLString("-noext /usr/local/share/WindowMaker/Themes $HOME/GNUstep/Library/WindowMaker/Themes WITH setstyle"),
+		WMCreatePLString(theme_paths),
 		NULL
 	);
 	WMAddToPLArray(L1Menu, L2Menu);
@@ -155,7 +162,7 @@ int main(int argc, char *argv[])
 	L2Menu = WMCreatePLArray(
 		WMCreatePLString(_("Styles")),
 		WMCreatePLString("OPEN_MENU"),
-		WMCreatePLString("-noext /usr/local/share/WindowMaker/Styles $HOME/GNUstep/Library/WindowMaker/Styles WITH setstyle"),
+		WMCreatePLString(style_paths),
 		NULL
 	);
 	WMAddToPLArray(L1Menu, L2Menu);
@@ -164,7 +171,7 @@ int main(int argc, char *argv[])
 	L2Menu = WMCreatePLArray(
 		WMCreatePLString(_("Icon Sets")),
 		WMCreatePLString("OPEN_MENU"),
-		WMCreatePLString("-noext /usr/local/share/WindowMaker/IconSets $HOME/GNUstep/Library/WindowMaker/IconSets WITH seticons"),
+		WMCreatePLString(icon_paths),
 		NULL
 	);
 	WMAddToPLArray(L1Menu, L2Menu);
@@ -232,7 +239,7 @@ int main(int argc, char *argv[])
 	L3Menu = WMCreatePLArray(
 		WMCreatePLString(_("Images")),
 		WMCreatePLString("OPEN_MENU"),
-		WMCreatePLString("-noext $HOME/GNUstep/Library/WindowMaker/Backgrounds WITH wmsetbg -u -t"),
+		WMCreatePLString(bg_paths),
 		NULL
 	);
 	WMAddToPLArray(L2Menu, L3Menu);
@@ -321,7 +328,7 @@ int main(int argc, char *argv[])
 	L1Menu = WMCreatePLArray(
 		WMCreatePLString(_("Configure Window Maker")),
 		WMCreatePLString("EXEC"),
-		WMCreatePLString("WPrefs"),
+		WMCreatePLString("/usr/lib/GNUstep/Applications/WPrefs.app/WPrefs"),
 		NULL
 	);
 	WMAddToPLArray(RMenu, L1Menu);
openSUSE Build Service is sponsored by