Skip to content

tasklist: Auto-adjust icon size (v2)

Ghost User requested to merge (removed):icons into master

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 XfcePanelPluginClass struct 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:

  • FreeBSD
  • Gentoo
  • Xubuntu

Auto-adjust icon sizes independent of whether showing labels.

Before:

Screenshot_20201129_131548 Screenshot_20201205_234843

After:

Screenshot_20201129_201102 Screenshot_20201210_161035 Screenshot_20201210_163159

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 (closed)

Edited by Ghost User

Merge request reports