This is an automated email generated because a ref change occurred in the
git repository for project wmaker-crm.git.

The branch, next has been updated
       via  b68a1994c22651858e69f63a35e046cbf93f1eb5 (commit)
       via  fe459fbab36278b49364cf4da4fddc4d5fe64e99 (commit)
       via  5f2dac318cdafc10b5696f069951b9119314523f (commit)
       via  bfda22ef1a3451a9d5f2523a10d26997783de7d7 (commit)
       via  46daa76f77ae02c47bf54e214f4f1ed2b9582d12 (commit)
       via  02cc702029ef40135846d2af55f6e71e4aba077a (commit)
       via  6f195b18fc03ae35198100871403908fbe4fb20f (commit)
      from  101ef6f28eb751550bff89ab4b2dc72dde4153cc (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit b68a1994c22651858e69f63a35e046cbf93f1eb5
Author: Doug Torrance <dtorra...@piedmont.edu>
Date:   Fri, 18 Aug 2017 20:37:51 -0400
URL:    <http://repo.or.cz/wmaker-crm.git/b68a1994c2265185>

    debian: Remove patch 54_Debian_wmmacros.diff.
    
    This patch is now unnecessary, as we have removed the SETSTYLE and
    LOCAL_*_DIR macros and have added the USER_*_DIR upstream.
---
 debian/patches/54_Debian_wmmacros.diff | 31 --------------------------
 debian/patches/series                  |  1 -
 2 files changed, 32 deletions(-)
 delete mode 100644 debian/patches/54_Debian_wmmacros.diff

diff --git a/debian/patches/54_Debian_wmmacros.diff 
b/debian/patches/54_Debian_wmmacros.diff
deleted file mode 100644
index 6d03765d2e3d..000000000000
--- a/debian/patches/54_Debian_wmmacros.diff
+++ /dev/null
@@ -1,31 +0,0 @@
-Description: Macros for user paths. Based on Marcelo E. Magallon 
<mmaga...@debian.org> diff patch.
-Author: Rodolfo García Peñas (kix) <k...@kix.es>
-Last-Update: 2012-01-09
-Index: wmaker-crm/WindowMaker/wmmacros
-===================================================================
---- wmaker-crm.orig/WindowMaker/wmmacros
-+++ wmaker-crm/WindowMaker/wmmacros
-@@ -22,7 +22,7 @@
- /*
-  * SETSTYLE FILE - loads a style file 
-  */
--#define SETSTYLE EXEC cd $HOME/GNUstep/Library/WindowMaker/Styles; setstyle 
-+#define SETSTYLE EXEC cd $GNUSTEP_USER_ROOT/Library/WindowMaker/Styles; 
setstyle
- 
- 
- /*
-@@ -60,6 +60,14 @@
- #define STYLES_DIR            #wmdatadir#/Styles
- #define ICON_SETS_DIR         #wmdatadir#/IconSets
- #define BACKGROUNDS_DIR               #wmdatadir#/Backgrounds
-+#define LOCAL_THEMES_DIR      /usr/local/share/WindowMaker/Themes
-+#define LOCAL_STYLES_DIR      /usr/local/share/WindowMaker/Styles
-+#define LOCAL_ICON_SETS_DIR   /usr/local/share/WindowMaker/IconSets
-+#define LOCAL_BACKGROUNDS_DIR /usr/local/share/WindowMaker/Backgrounds
-+#define USER_THEMES_DIR       $GNUSTEP_USER_ROOT/Library/WindowMaker/Themes
-+#define USER_STYLES_DIR       $GNUSTEP_USER_ROOT/Library/WindowMaker/Styles
-+#define USER_ICON_SETS_DIR    $GNUSTEP_USER_ROOT/Library/WindowMaker/IconSets
-+#define USER_BACKGROUNDS_DIR  
$GNUSTEP_USER_ROOT/Library/WindowMaker/Backgrounds
- 
- 
- #define StaticGray            0
diff --git a/debian/patches/series b/debian/patches/series
index 1dd2421087e9..451a939df3df 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1 @@
 53_Debian_WMState.diff
-54_Debian_wmmacros.diff

commit fe459fbab36278b49364cf4da4fddc4d5fe64e99
Author: Doug Torrance <dtorra...@piedmont.edu>
Date:   Fri, 18 Aug 2017 20:37:50 -0400
URL:    <http://repo.or.cz/wmaker-crm.git/fe459fbab36278b4>

    menu: Add USER_*_DIR macros.
    
    Inspired by the Debian patch 54_Debian_wmmacros.diff.  These macros are
    actually already referenced in appearance.menu and background.menu, but
    only Debian installations have taken advantage of them.
    
    We use the new #usergnusteppath# macro to reference the user GNUstep path.
---
 WindowMaker/wmmacros.in | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/WindowMaker/wmmacros.in b/WindowMaker/wmmacros.in
index 8504def3ac72..112422b9fa38 100644
--- a/WindowMaker/wmmacros.in
+++ b/WindowMaker/wmmacros.in
@@ -55,6 +55,10 @@
 #define ICON_SETS_DIR          #wmdatadir#/IconSets
 #define BACKGROUNDS_DIR                #wmdatadir#/Backgrounds
 
+#define USER_THEMES_DIR         #usergnusteppath#/Library/WindowMaker/Themes
+#define USER_STYLES_DIR         #usergnusteppath#/Library/WindowMaker/Styles
+#define USER_ICON_SETS_DIR      #usergnusteppath#/Library/WindowMaker/IconSets
+#define USER_BACKGROUNDS_DIR    
#usergnusteppath#/Library/WindowMaker/Backgrounds
 
 #define StaticGray             0
 #define GrayScale              1

commit 5f2dac318cdafc10b5696f069951b9119314523f
Author: Doug Torrance <dtorra...@piedmont.edu>
Date:   Fri, 18 Aug 2017 20:37:49 -0400
URL:    <http://repo.or.cz/wmaker-crm.git/5f2dac318cdafc10>

    menu: New macro #usergnusteppath# for user GNUstep directory
    
    This macro is used when handling directories with OPEN_MENU, e.g., to list
    available image files for setting the workspace background.
    
    When parsing a menu file, we replace any instances of #usergnusteppath#
    with either GNUSTEP_USER_ROOT or ~/GNUstep if the former is not set.  In
    this way, authors of menu files do not have to worry about whether users
    will have this variable set or not.
    
    We also document this feature in WindowMaker/menu.in, which generates the
    default English language old-style menu and currently contains the existing
    documentation for the Window Maker menu system.
---
 WindowMaker/menu.in | 5 +++++
 src/rootmenu.c      | 5 +++++
 2 files changed, 10 insertions(+)

diff --git a/WindowMaker/menu.in b/WindowMaker/menu.in
index 429f8bec2a26..f8a209c86fc9 100644
--- a/WindowMaker/menu.in
+++ b/WindowMaker/menu.in
@@ -74,6 +74,11 @@
  *                     -noext  strip whatever is after the last dot in the
  *                             file name
  *
+ *      // Use #usergnusteppath# as a placeholder for the path to the user
+ *      // GNUstep directory.  Window Maker will replace this with the value
+ *      // of GNUSTEP_USER_ROOT, if this environment variable is set, or
+ *      // "~/GNUstep" otherwise
+ *
  * <Parameters> is the program to execute.
  *
  * ** Options for command line in EXEC:
diff --git a/src/rootmenu.c b/src/rootmenu.c
index 77b05a2ab752..fc8774e0e6e6 100644
--- a/src/rootmenu.c
+++ b/src/rootmenu.c
@@ -673,6 +673,11 @@ static void constructMenu(WMenu * menu, WMenuEntry * entry)
                                }
 
                                tmp = wexpandpath(path[i]);
+
+                               if (strstr(tmp, "#usergnusteppath#") == tmp)
+                                       tmp = wstrconcat(wusergnusteppath(),
+                                                         tmp + 17);
+
                                wfree(path[i]);
                                lpath = getLocalizedMenuFile(tmp);
                                if (lpath) {

commit bfda22ef1a3451a9d5f2523a10d26997783de7d7
Author: Doug Torrance <dtorra...@piedmont.edu>
Date:   Fri, 18 Aug 2017 20:37:48 -0400
URL:    <http://repo.or.cz/wmaker-crm.git/bfda22ef1a3451a9>

    menu: Remove unused LOCAL_*_DIR macros.
    
    We remove the macros LOCAL_THEMES_DIR, LOCAL_STYLES_DIR,
    LOCAL_ICON_SETS_DIR, and LOCAL_BACKGROUNDS_DIR.
    
    They were only referenced in the Debian patch 54_Debian_wmmacros.diff, which
    set them to /usr/local/share/WindowMaker/{Themes,Styles,etc.}.
    
    In a default installation, THEMES_DIR, STYLES_DIR, etc. coincide exactly
    with these paths.  In a Debian installation (which defaults to /usr/share
    instead of /usr/local/share), it seems unlikely that a user would have these
    files in both locations.
---
 WindowMaker/appearance.menu.in |  6 +++---
 WindowMaker/background.menu    | 10 +++++-----
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/WindowMaker/appearance.menu.in b/WindowMaker/appearance.menu.in
index 4e2598342661..99759b158bb2 100644
--- a/WindowMaker/appearance.menu.in
+++ b/WindowMaker/appearance.menu.in
@@ -2,9 +2,9 @@
 
 Appearance MENU 
   "Background" OPEN_MENU background.menu
-  "Styles" OPEN_MENU -noext LOCAL_STYLES_DIR STYLES_DIR USER_STYLES_DIR WITH 
setstyle
-  "Themes" OPEN_MENU -noext LOCAL_THEMES_DIR THEMES_DIR USER_THEMES_DIR WITH 
setstyle
-  "Icon Sets" OPEN_MENU -noext LOCAL_ICON_SETS_DIR ICON_SETS_DIR 
USER_ICON_SETS_DIR WITH seticons
+  "Styles" OPEN_MENU -noext  STYLES_DIR USER_STYLES_DIR WITH setstyle
+  "Themes" OPEN_MENU -noext  THEMES_DIR USER_THEMES_DIR WITH setstyle
+  "Icon Sets" OPEN_MENU -noext  ICON_SETS_DIR USER_ICON_SETS_DIR WITH seticons
   "Save IconSet" EXEC geticonset USER_ICON_SETS_DIR/"%a(IconSet name)"
   "Save Theme" EXEC getstyle -t USER_THEMES_DIR/"%a(Theme name)"
   "Preferences Utility" EXEC #wprefs#
diff --git a/WindowMaker/background.menu b/WindowMaker/background.menu
index c34961765c7a..fa3bef7382e9 100644
--- a/WindowMaker/background.menu
+++ b/WindowMaker/background.menu
@@ -23,10 +23,10 @@
                "Wine Shades" WS_BACK '(vgradient, "#600040", "#180010")'
         "Gradient" END
         "Images" MENU
-            "Tiled" OPEN_MENU LOCAL_BACKGROUNDS_DIR BACKGROUNDS_DIR 
USER_BACKGROUNDS_DIR WITH wmsetbg -u -t
-            "Scaled" OPEN_MENU LOCAL_BACKGROUNDS_DIR BACKGROUNDS_DIR 
USER_BACKGROUNDS_DIR WITH wmsetbg -u -s
-            "Centered" OPEN_MENU LOCAL_BACKGROUNDS_DIR BACKGROUNDS_DIR 
USER_BACKGROUNDS_DIR WITH wmsetbg -u -e
-            "Maximized" OPEN_MENU LOCAL_BACKGROUNDS_DIR BACKGROUNDS_DIR 
USER_BACKGROUNDS_DIR WITH wmsetbg -u -a
-            "Filled" OPEN_MENU LOCAL_BACKGROUNDS_DIR BACKGROUNDS_DIR 
USER_BACKGROUNDS_DIR WITH wmsetbg -u -f
+            "Tiled" OPEN_MENU  BACKGROUNDS_DIR USER_BACKGROUNDS_DIR WITH 
wmsetbg -u -t
+            "Scaled" OPEN_MENU  BACKGROUNDS_DIR USER_BACKGROUNDS_DIR WITH 
wmsetbg -u -s
+            "Centered" OPEN_MENU  BACKGROUNDS_DIR USER_BACKGROUNDS_DIR WITH 
wmsetbg -u -e
+            "Maximized" OPEN_MENU  BACKGROUNDS_DIR USER_BACKGROUNDS_DIR WITH 
wmsetbg -u -a
+            "Filled" OPEN_MENU  BACKGROUNDS_DIR USER_BACKGROUNDS_DIR WITH 
wmsetbg -u -f
         "Image" END
 "Background" END

commit 46daa76f77ae02c47bf54e214f4f1ed2b9582d12
Author: Doug Torrance <dtorra...@piedmont.edu>
Date:   Fri, 18 Aug 2017 20:37:47 -0400
URL:    <http://repo.or.cz/wmaker-crm.git/46daa76f77ae02c4>

    menu: Remove unused SETSTYLE macro.
    
---
 WindowMaker/wmmacros.in | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/WindowMaker/wmmacros.in b/WindowMaker/wmmacros.in
index 9261690e82ed..8504def3ac72 100644
--- a/WindowMaker/wmmacros.in
+++ b/WindowMaker/wmmacros.in
@@ -20,12 +20,6 @@
 
 
 /*
- * SETSTYLE FILE - loads a style file 
- */
-#define SETSTYLE EXEC cd $HOME/GNUstep/Library/WindowMaker/Styles; setstyle 
-
-
-/*
  * 
  * MANUAL_SEARCH(ITEM) - search manual page for ITEM
  * 

commit 02cc702029ef40135846d2af55f6e71e4aba077a
Author: Doug Torrance <dtorra...@piedmont.edu>
Date:   Fri, 18 Aug 2017 20:37:46 -0400
URL:    <http://repo.or.cz/wmaker-crm.git/02cc702029ef4013>

    WPrefs: Edit proplist menus referenced by WMRootMenu.
    
    Previously, WPrefs could only be used to edit the menu specified in
    WMRootMenu.
    
    In a recent commit, the ability to specify a menu in proplist format defined
    in another file which is referenced by WMRootMenu was added.  However, if a
    user attempted to edit such a menu in WPrefs, an error dialog appeared.
    
    We add the ability for WPrefs to read such a menu.  After the user makes any
    changes, the result is stored in WMRootMenu, and *not* the original file.
---
 WPrefs.app/Menu.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/WPrefs.app/Menu.c b/WPrefs.app/Menu.c
index feadd5fb44de..a18e495e637c 100644
--- a/WPrefs.app/Menu.c
+++ b/WPrefs.app/Menu.c
@@ -22,6 +22,7 @@
 #include "WPrefs.h"
 #include <assert.h>
 #include <ctype.h>
+#include <unistd.h>
 
 #include <X11/keysym.h>
 #include <X11/cursorfont.h>
@@ -1493,6 +1494,26 @@ static void showData(_Panel * panel)
 
        pmenu = WMReadPropListFromFile(menuPath);
 
+       /* check if WMRootMenu references another file, and if so,
+          if that file is in proplist format */
+       while (WMIsPLString(pmenu)) {
+               char *path = NULL;
+
+               path = wexpandpath(WMGetFromPLString(pmenu));
+
+               if (access(path, F_OK) < 0)
+                       path = wfindfile(DEF_CONFIG_PATHS, path);
+
+               /* TODO: if needed, concatenate locale suffix to path.
+                  See getLocalizedMenuFile() in src/rootmenu.c. */
+
+               if (!path)
+                       break;
+
+               pmenu = WMReadPropListFromFile(path);
+               wfree(path);
+       }
+
        if (!pmenu || !WMIsPLArray(pmenu)) {
                int res;
 

commit 6f195b18fc03ae35198100871403908fbe4fb20f
Author: Doug Torrance <dtorra...@piedmont.edu>
Date:   Fri, 18 Aug 2017 20:37:45 -0400
URL:    <http://repo.or.cz/wmaker-crm.git/6f195b18fc03ae35>

    WINGs: WMIsPL* functions return False if proplist is null.
    
    Previously, calls to WMIsPLString, WMIsPLData, WMIsPLArray, and
    WMIsPLDictionary would result in a segfault if the argument was null.
    This could happen, e.g., if we are checking which type of proplist
    was just parsed from a file, but the parsing failed.
    
    These functions now return False in this case.
---
 WINGs/proplist.c | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/WINGs/proplist.c b/WINGs/proplist.c
index 5f68eace87b8..551889642bb9 100644
--- a/WINGs/proplist.c
+++ b/WINGs/proplist.c
@@ -1253,22 +1253,34 @@ int WMGetPropListItemCount(WMPropList * plist)
 
 Bool WMIsPLString(WMPropList * plist)
 {
-       return (plist->type == WPLString);
+       if (plist)
+               return (plist->type == WPLString);
+       else
+               return False;
 }
 
 Bool WMIsPLData(WMPropList * plist)
 {
-       return (plist->type == WPLData);
+       if (plist)
+               return (plist->type == WPLData);
+       else
+               return False;
 }
 
 Bool WMIsPLArray(WMPropList * plist)
 {
-       return (plist->type == WPLArray);
+       if (plist)
+               return (plist->type == WPLArray);
+       else
+               return False;
 }
 
 Bool WMIsPLDictionary(WMPropList * plist)
 {
-       return (plist->type == WPLDictionary);
+       if (plist)
+               return (plist->type == WPLDictionary);
+       else
+               return False;
 }
 
 Bool WMIsPropListEqualTo(WMPropList * plist, WMPropList * other)

-----------------------------------------------------------------------

Summary of changes:
 WINGs/proplist.c                       | 20 +++++++++++++----
 WPrefs.app/Menu.c                      | 21 +++++++++++++++++
 WindowMaker/appearance.menu.in         |  6 ++---
 WindowMaker/background.menu            | 10 ++++-----
 WindowMaker/menu.in                    |  5 +++++
 WindowMaker/wmmacros.in                | 10 ++++-----
 debian/patches/54_Debian_wmmacros.diff | 31 --------------------------
 debian/patches/series                  |  1 -
 src/rootmenu.c                         |  5 +++++
 9 files changed, 59 insertions(+), 50 deletions(-)
 delete mode 100644 debian/patches/54_Debian_wmmacros.diff


repo.or.cz automatic notification. Contact project admin crma...@gmail.com
if you want to unsubscribe, or site admin ad...@repo.or.cz if you receive
no reply.
-- 
wmaker-crm.git ("The Window Maker window manager")


-- 
To unsubscribe, send mail to wmaker-dev-unsubscr...@lists.windowmaker.org.

Reply via email to