On 03/22/2017 06:52 AM, Doug Torrance wrote:
On 03/22/2017 06:44 AM, BALATON Zoltan wrote:
On Wed, 22 Mar 2017, Doug Torrance wrote:
Some of the paths in IconPath and PixmapPath have been removed. In
particular, the various system pixmap paths (/usr/include/X11/pixmaps,
/usr/share/pixmaps, and /usr/local/share/pixmaps) have been removed in
favor of PIXMAPDIR, which is specified by the user at build. Also,
/usr/share/icons has been removed from IconPath. The root of this
directory will contain very few icons, as the icons themselves are
located
in subdirectories corresponding to XDG icon themes.
I don't think this is a good idea because then it's not possible to
specify icon paths at runtime. Compile time option is less flexible and
only allows to set one value so I think these options should be kept.
(Otherwise some users will see missing icons after upgrade as well.)
It's definitely possible to change the icon paths at runtime -- edit
IconPath in ~/GNUstep/Defaults/WindowMaker or use the Search Path
Configuration panel in WPrefs.
I suppose I also could have explained my reasoning a bit better.
In the old src/defaults.c, the non-Window Maker system pixmap paths are
indicated by the PIXMAPDIR macro only, and also /usr/include/X11/pixmaps
for IconPath. From the patch:
#define DEF_PIXMAP_PATHS \
- "(\"~/pixmaps\",\"~/GNUstep/Library/WindowMaker/Pixmaps\",\""PIXMAPDIR"\")"
#define DEF_ICON_PATHS \
-
"(\"~/pixmaps\",\"~/GNUstep/Library/Icons\",\"/usr/include/X11/pixmaps/\",\""PIXMAPDIR"\")"
In the old W/D/WindowMaker, there appear to be several guesses as to
what PIXMAPDIR might be, without actually using its value at all. From
the patch:
- IconPath = (
- "~/GNUstep/Library/Icons",
- "#pkgdatadir#/Icons",
- "#pkgdatadir#/Pixmaps",
- "/usr/include/X11/pixmaps",
- "~/GNUstep/Library/WindowMaker/Pixmaps",
- "~/GNUstep/Library/WindowMaker/CachedPixmaps",
- "/usr/share/icons",
- "/usr/local/share/pixmaps",
- "/usr/share/pixmaps"
- );
- PixmapPath = (
- "~/GNUstep/Library/WindowMaker/Pixmaps",
- "~/GNUstep/Library/WindowMaker/Backgrounds",
- "~/GNUstep/Library/WindowMaker/CachedPixmaps",
- "#pkgdatadir#/Pixmaps",
- "#pkgdatadir#/Backgrounds",
- "/usr/include/X11/pixmaps",
- "/usr/local/share/pixmaps",
- "/usr/share/pixmaps"
- );
So the user would have specified PIXMAPDIR at configure, this value gets
compiled in, but then the paths get overwritten when W/D/WindowMaker is
read and PIXMAPDIR is ignored.
Most users probably never noticed this, as the default is
${datadir}/pixmaps, which is likely /usr/share/pixmaps or
/usr/local/share/pixmaps, both of which were in W/D/WindowMaker.
As for /usr/include/X11/pixmaps, this seems to be a pretty archaic
location. In all of Debian, only one package still uses it (ctwm).
Doug
--
To unsubscribe, send mail to wmaker-dev-unsubscr...@lists.windowmaker.org.