Skip to content

Implement feature request #742 - stretched theme pixmap support

Rory Fewell requested to merge rozniak/xfwm4:feat-742 into master


This MR is for implementing the feature requested in issue #742 : stretched theme pixmaps.

Currently the pixmaps used by the window decorations are tiled, the limitation here is that you therefore cannot create a theme with a gradient in the same direction as tiling (eg. it's impossible to create a horizontal gradient in the title bar).

My implementation here does the following:

  • additional '-stretch' variants of each theme part are loaded (for instance title-active-stretch)
  • mypixmap.c is updated to use cairo in xfwmPixmapFillRectangle to make it easier to implement stretching (and tiling)
  • if a -stretch variant of a side or corner exists, it will be preferred over the tiled version
  • client.c contains some changes so that the menu button background can be updated during redraw when using a stretched title pixmap

I hope this all makes sense, along with the code, I have tried to keep it tidy with these commits. Any feedback is welcome, I am quite keen on this feature myself of course so I'm happy with any suggests or code standards necessary to get the job done. 😁

Merge request reports