The WIcon variable force_paint can be removed, because now is possible
update the icon directly in the function wAppIconPaint.
Now wAppIconPaint creates the RImage file if needed, and then paint it.
The new function update_icon_pixmap() updates the pixmap for a icon task.
Now, wIconCreate() creates the image and sets the icon->file and
icon->file_image variables and update_icon_pixmap() updates the icon->pixmap.
This is interesting because we can update the pixmaps without creating the
image again.
The contents for searching the icon in wAppIconCreateForDock()
are moved to icon_create_for_dock().
Now wAppIconCreateForDock() and wAppIconCreate() do the same work and
icon_create_for_dock() and icon_create_for_wwindow() do the same work too.
The procedure to create the icon is similar in both functions.
Now wAppIconCreateForDock, needs more arguments (command, instance and class).
These functiosn were renamed:
wIconCreateCore to icon_create_core
wIconCreateWithIconFile to icon_create_for_dock
wIconCreate to icon_create_for_wwindow
The function get_name_for_icon is renamed to get_name_for_wwin.
The previous contents of get_name_for_icon are now at the new
function get_name_for_instance_class.
Icons in the switchpanel are constrained to the value of the IconSize
preference but the grid in which they are arranged is fixed at 64 pixels.
If IconSize is less than 64x64 the panel will show smaller icons with a
wide spacing, which looks pretty stupid.
Fix it by forcing the switchpanel to attempt to load images at the size
it's going to use. The icon it actually gets may of course still be
smaller.
This patch changes the logic for choosing the icon, and gets rid of
wIconChangeImage in favor of wIconChangeImageFile.
Old logic:
* On create, load either NET_WM_ICON or the file from disk.
* On update, choose (in order):
1. WM_HINTS icon_window
2. WM_HINTS icon_pixmap
3. Whatever was loaded on creation, unless wIconChangeImage or
wIconChangeImageFile was called.
4. Default icon.
New logic:
* On update, choose (in order):
1. WM_HINTS icon_window
2. NET_WM_ICON
3. WM_HINTS icon_pixmap
4. Icon file from disk.
5. Default icon.
Signed-off-by: Brad Jorsch <anomie@users.sourceforge.net>
The expansion of the macro wApplication{Dea,A}ctivate triggers an
implicit declaration warning for wIconSetHighlited. Add function
declararion to fix this.
- Separated the font caches for normal fonts and fontsets in WINGs (they can
have the same names and collide in the cache giving unwanted results)
- Updated the years in the copyright notices