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.

Reply via email to