~profzoom/wmaker/+git/wmaker-ppa:menu-fixes2

Last commit made on 2017-08-18
Get this branch:
git clone -b menu-fixes2 https://git.launchpad.net/~profzoom/wmaker/+git/wmaker-ppa

Branch merges

Branch information

Name:
menu-fixes2
Repository:
lp:~profzoom/wmaker/+git/wmaker-ppa

Recent commits

fc899c2... by Doug Torrance

menu: Add USER_*_DIR macros.

Inspired by the Debian patch 54_Debian_wmmacros.diff. These macros are
actually already references in appearance.menu and background.menu, but
only Debian installations have taken advantage of them.

We use the new @usergnusteppath@ macro for setstyle to reference the user
GNUstep path.

82e2873... by Doug Torrance

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.

e4f7e28... by Doug Torrance

util: Let setstyle figure out user GNUstep directory.

We frequently will use setstyle to set a style or theme located in the
user's GNUstep directory. However, this directory may be specificed by the
GNUSTEP_USER_ROOT environment variable, or this variable may not be defined
and the directory is the default ~/GNUstep.

Rather than determining which of these is the case, we allow the user to
include "@usergnusteppath@" in the path passed to setstyle as a placeholder
for this directory, and let setstyle fill it in using the WUtil function
wusergnusteppath().

For example,
    setstyle @wusergnusteppath@/Library/WindowMaker/Themes/foo.style

We specifically will use this feature so that themes, styles, etc., in the
user GNUstep directory are present in the Window Maker menu.

We also document this new feature in the setstyle manpage.

ead6673... by Doug Torrance

menu: Remove unused SETSTYLE macro.

3828ff7... by Doug Torrance

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.

d4d2f27... by Doug Torrance

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.

101ef6f... by Doug Torrance

menu: For consistency, use appearance.menu for English-language menus.

5a5595f... by Doug Torrance

menu: Add WPrefs to appearance.menu.

WPrefs appears under the 'Appearances' submenu of both menu and plmenu.

1a5abe9... by Doug Torrance

menu: Add Bluemarine to solid background color options.

This color was present in menu and plmenu, but not background.menu.

d364aff... by Doug Torrance

menu: Write data directory during build instead of with wmaker.inst.

Many of the menu files contain the macro #wmdatadir# as a placeholder for
the data directory containing Window Maker themes, styles, background
pixmaps, etc. This macro is replaced by the the actual path to the data
directory (by default /usr/local/share/WindowMaker) by the wmaker.inst
script, but only when copying WMRootMenu to the user's home directory.

Instead, we replace the macro during the build. This way, *every* menu
file has the correct path.

Note that several of the files in question were not previously generated
during build. These have been renamed with a .in extension.