I wrote a module to generate thumnailed icons. It has a number of advantages over the taviso’s original pipereads: It’s easier to use; it’s more efficient; it can do multiple sets of icons using different scales.
To use, its’s as easy as this:
[code]DestroyModuleConfig FvwmThumbnail: *
*FvwmThumbnail: Refresh 5
*FvwmThumbnail: Directory /home/nick/lab/fvwm_thumbs
*FvwmThumbnail: Class Pager, ScaleTo 27x27
*FvwmThumbnail: Class Pager, Command “WindowId %w WindowStyle EWMHMiniIconOverride, MiniIcon %i”
*FvwmThumbnail: Class Icons, Factor 0.2x0.2
*FvwmThumbnail: Class Icons, Command “WindowId %w WindowStyle IconOverride, Icon %i”
*FvwmThumbnail: Class BigPager, Factor 0.166666x0.166666
AddToFunc StartFunction + I Module FvwmThumbnail
[/code]
The Class keyword defines a scaling class. Each scaling class generates icons scaled as per Factor if given. If not, factors are generated to scale the desktop into the geometry supplied to ScaleTo. It’s also possible to supply your own custom scaling subrouting in perl - but that’s untested as yet.
Refresh defines the number of seconds between refreshes of the current window. The config above updates the current window thumbs every 5 seconds.
Command is a command string sent to FVWM when a thumbnail is generated. %w expanded into the window ID and %i into the full path of the icon file.
Here’s some nice big transparent icons generated using the above:
And a pager with miniicons likewise.
You can support more scaling classes than these. I defined a class to generate 1/6th scale thumbs for use in a Big Pager. BigPager uses miniicons for the windows. If we use command to set the miniicon we mess up the small pager.
Luckily FvwmThumbnail supports an Apply command via SendToModule. Add this to the BigPager invocation func:
+ I SendToModule FvwmThumbnail Apply BigPager WindowId %w WindowStyle EWMHMiniIconOverride, MiniIcon %i
And the BigPager icon class will be applied using the command given. % fields are expanded as above.
To use the module, stick it in your ModulePath and chmod +x. Feedback, especially bug reports, would be much appreciated. Thanks.
[edit] uploaded a pic and forgot to link to it. D’oh!
[color=red]Edited by theBlackDragon:
–> Moved from Complex functions
–> Fixed the link to the module (phpBB makes all links not starting with a protocol relative it seems…)[/color]