- Fixed wrong display of images with alpha in StaticGray and GrayScale visuals
- Hermes lib is used now only to convert if the visual is TrueColor and no
dithering is necesarry. This is because currently hermeslib doesn't
support to convert to an indexed destination image (so it can't convert to
PseudoColor, StaticGray and GreyScale visuals). It can convert to
StaticColor since this visual uses masks as the TrueColor visual, but
without dithering. Also hermeslib only supports dithering for just 2
combinations of source/destination bits/masks, none of which are useful
for wrlib, so no conversion that needs dithering is currently done
through hermeslib.
The fix still doesn't look right (hermes seems to do weird things internally,
and there is no documentation for it)
People with big endian machines please test if it works for you
(install hermes lib first).
Then try to start wmaker in different screen depths (15, 16, 24, 32)
and check if there are depths that do not work (either crash, or
display other colors than you expect).
Little endian machines seem ok.
PowerPC architecture, because on LinuxPPC char is unsigned by default, not
signed like on the other platforms).
Bug fixed by Philip Derrin <philipd@student.unsw.edu.au>
- miscelaneous bug fixes
We would like people with cvs access experimenting the white 'speckles' on
images to test if they still have the problem.
~/GNUstep/.AppInfo/WindowMaker/ will be recreated if missing when the
application starts.
- fixed a small memleak when the client supplied icon was extracted and saved.
Check NEWS on how to fix your old broken XPM's saved to
~/GNUstep/.AppInfo/WindowMaker
WindowListMouseButton and ApplicationMenuMouseButton.
- Added 4 options to the configuration file for binding workspace actions to
mouse buttons: MouseLeftButtonAction, MouseMiddleButtonAction,
MouseRightButtonAction and MouseWheelAction. They replace the above 3
removed options, but use a different semantic.
- mouse wheel action is runtime configurable now.
Read details about this in NEWS.
WMCreateApplicationIconBlendedPixmap() to avoid confusion.
This is because this function does generate a new WMPixmap from the
available icon image by combining it with the specified color and you
need to call WMReleasePixmap() on the generated pixmap after you're
done with it.
This is unlike the case of WMGetApplicationIconPixmap() where it just
returns a pointer to the existing application icon pixmap that was set
before and where you don't need to release it after you're done working
with it.
To avoid this confusion about when you need to release and when not,
one is using Get (get existing, no release needed), while the other is
now using Create (generate a new pixmap, release required) in their
name.
Since this change was made to a function that was just added to the API
in the previous commit, no modification is needed to the existing
applications that use WINGs.
---------------
- Added retain/release mechanism to RImage by adding RRetainImage() and
RReleaseImage(). RDestroyImage() is an alias to RReleaseImage() now, but
will be removed in a future release because it no longer fits with the
semantics. Will be kept for a while to allow a smoother transition.
More about in wrlib/NEWS
For WINGs:
----------
- Small API change:
1. Renamed WMSetApplicationIconImage(), WMGetApplicationIconImage() and
WMSetWindowMiniwindowImage() to respectively WMSetApplicationIconPixmap(),
WMGetApplicationIconPixmap() and WMSetWindowMiniwindowPixmap()
They operate on a WMPixmap which is practically an X Pixmap with no alpha
channel information and the new name is more suggestive and also leaves
room for the new functions added for operating on images with alpha info.
2. Added WMSetApplicationIconImage() and WMGetApplicationIconImage() which
operate on an RImage and store alpha information too.
3. Added WMGetApplicationIconBlendedPixmap() which will take the image with
alpha set by WMSetApplicationIconImage() and will blend it with a color.
If color is NULL it will blend using the default panel color (#aeaaae)
All these changes will allow WINGs to handle images with alpha blending
correctly in panels and wherever else needed. More about in WINGs/NEWS.
- updated panels to use the newly available RImages if present and fallback
to old WMPixmaps if not, to properly show alpha blended images.
- replaced some still left malloc's with wmalloc's.
For Window Maker:
-----------------
- Fixed wrong mapping position of the "Docked Applications Panel" for some
icons.
- Smoother animation for the smiley =)
- Made images with alpha blending be shown correctly in the panels and the
icon chooser.
- The icon image set to be shown in panels ("Logo.WMPanel") will be
automatically updated if its entry in WMWindowAttributes changes (without
a need to restart as until now).
*** Note!!! ***
If you are developing applications with one of libwraster or libWINGs
then you should look to wrlib/NEWS and WINGs/NEWS to see what changed
and how should you update your code.
and sends only one email message per cvs log message.
The email address where to send notification is no longer set in this
file (.cvsnotify), but this file can still be used to set extra email
addresses (one per line) where email should be also sent on cvs commit.
- Removed MIN() and MAX() macros and replaced them with WMIN() and WMAX() from
WINGs.
- Added a hint that Window Maker crashed, to allow windows to be placed
in their correct previous positions after a crash situation and also to
preserve their state before the crash (minimized, shaded, hidden, ...)