[Request] Implement method for getting window thumbnails
Submitted by Daniel Power
Assigned to Olivier Fourdan @olivier
Description
I would like to write an icon-only window list plugin for xfce4-panel, which includes window previews. Something similar to dockbarx, and this issue is also related to dockbarx as well as xfdashboard. As far as I can tell, there is no way to retrieve window previews from xfwm4.
The developer of dockbarx has stated that the reason window previews in dockbarx requires kwin or compiz is because he could not find a way to get window previews from xfwm4, and therefore could not add support for it. Additionally, the developer of xfdashboard had to use the workaround of using clutter to get window previews, but this has the drawback of being unable to generate previews for minimized windows.
https://mail.xfce.org/pipermail/xfce/2014-June/033550.html - Stephen Haller, developer of xfdashboard
Icon-only taskbars, as popularized by Windows 7, and now supported out of the box in KDE, and with the dash to dock theme in Gnome, are a very efficient and productive way of managing windows, and I would love to begin writing an xfce4-panel plugin as a hobby project between semesters, as it's both something I would like to use, and something I think the community would appreciate. But the lack of ability to get thumbnails from xfwm4 makes it difficult if not impossible to accomplish this in native xfce.
As a temporary solution, I've considered taking periodic snapshots of window thumbnails when they're not minimized, and simply showing the last retrieved thumbnail if the window is minimized. But any method I've tried to screenshotting a window does not capture any part of the window that is outside of view. So any window that is partially outside the monitor gets cut off. I notice that the alt-tab switcher has previews which do not get cut off when a window is outside of view. Would it be possible to include an API for grabbing this image data?
If there is a solution to this that I am aware of, any advice would be greatly appreciated. If a solution does not exist, this would be a highly appreciated feature for xfwm4.