tasklist: Auto-adjust icon size (v2)
This merge request is an updated version of !15 (merged) which was reverted due to flickering of tasklist icons.
Changes in respect to version 1 of this patch (that is: in respect to commit 9c9f09ce):
- Fix duplicate application of CSS opacity to the icon of a window group when all windows in the group are minimized (see !28 (comment 23054))
- Update tasklist icon size when panel is resized. The
XfcePanelPluginClassstruct doesn't have a separate
'icon_size_changed'method - a change in icon size is being signaled through the
'size_changed'method which is also invoked when the panel size changes.
- Add workarounds to ensure that the icon and the label are laid out properly if the icon has been resized
- Minor code cleanup: return G_SOURCE_REMOVE instead of FALSE
Tested in the following environments:
Auto-adjust icon sizes independent of whether showing labels.
Additional changes made by this patch:
- Removal of hard-coded constants when drawing the circled number of windows in a group
- Repaint group button icon when its size changes
- Tasklist's default button size is increased from 25 to 32 pixels in order to avoid icons being cropped at the bottom and at the top
- Fix a memory leak
Closes: #90 (closed)
Obsoletes: !28 (closed)
See also: #354