On Sun, Aug 03, 2014 at 12:59:46PM +1200, Chris Bannister wrote: > On Sat, Aug 02, 2014 at 10:12:22AM +0100, Dominik Vogt wrote: > > On Fri, Aug 01, 2014 at 10:04:51PM +0200, Walter Alejandro Iglesias wrote: > > > On Fri, Aug 01, 2014 at 05:25:40PM +0100, Dominik Vogt wrote: > > > > And I also noticed that if I define a MiniIcon style for the > > > > window and run the scripts too, the mini icon is displayed on top > > > > of the real icon. I wonder if that's a bug or if it's a secret > > > > feature that I could not find in the documentation yet. > > > > > > The function I've posted? Well the aim is to get something similar to > > > what MacOSX does. > > > > Oh, that's something your function does. I didn't even read the > > image processing functions. :-) > > > > > Let me explain the whole history. I borrowed the > > > idea from here: > > > > > > http://zensites.net/fvwm/guide/advanced_functions.html > > > > > > And combined it with what I've read in the fvwm.org FAQ: > > > > > > http://www.fvwm.org/documentation/faq/#toc_7.18 > > > > > > Note that Thomas put two versions in the FAQ, the first using > > > DestrowWindowStyle and the second using SetEnv. > > > > Actually, it was me who put Q7.18 into the FAQ. I cannot remember > > who wrote these functions in the first place, though. ;-) > > > > > I got the thing working (the function I've pasted in my second message), > > > I simplified a bit the pipe commands (used just import) and instead of > > > icons like the guy of the first site did I used mini icons at the top of > > > the thumbnail. The result I got was: > > > > > > http://roquesor.com/Downloads/fvwm_desktop.png > > > > Nice. > > > > > The problem came because, time ago I'd borrowed from some place (I don't > > > remember from where) a ShowDesktop function, I modified it a bit too: > > > > > > DestroyFunc ShowDesktop > > > AddToFunc ShowDesktop > > > + I SendToModule FvwmAnimate pause > > > + I All (AcceptsFocus, CurrentPage, Iconic, State 1) RestoreDesktop > > > + I TestRc (Match) Break > > > + I All (AcceptsFocus, CurrentPage, !Iconic, !State 1) ThisWindow State 1 > > > True > > > + I All (AcceptsFocus, CurrentPage, !Iconic, State 1) Thumbnail > > > ^^^^^^^^^ > > > (replaced with > > > Iconify) > > > + I SendToModule FvwmAnimate play > > > > > > DestroyFunc RestoreDesktop > > > AddToFunc RestoreDesktop > > > + I SendToModule FvwmAnimate pause > > > + I All (AcceptsFocus, CurrentPage, Iconic, State 1, !Focused) Iconify > > > + I All (AcceptsFocus, CurrentPage, Iconic, State 1) Iconify > > > + I All (AcceptsFocus, CurrentPage, State 1) ThisWindow State 1 False > > > + I SendToModule FvwmAnimate play > > > > > > Thumbnail was too slow for this function, the idea is ShowDesktop to be > > > instantaneous. Hence I put here "Iconify". I forgot DeThumbnail > > > function :-), FvwmEvent reseted the icon each time the application was > > > de-iconified that's why the icon setted in styles worked just the first > > > time and the IconOverride was ignored. > > > > Oh, I see. MoveToDesk should work better and faster and not > > trigger any unwanted application behaviour on iconification: > > > > -- > > addtofunc showdesktop > > + i all (currentdesk, !iconic) movetodesk 42 > > > > addtofunc restoredesktop > > + i gotodesk 42 > > + i all (currentdesk) movetodesk -42 > > + i gotodesk -42 > > -- > > > > The restoration function is a bit complicated because at the > > moment you cannot say "all (desk 42) ..."; you can only check for > > the current desk. Note that sticky windows are not affected. If > > that is necessary, you would have to unstick them, store their > > "sticky" status in one of the windowstate flags and restore their > > stickyness in the restoredesktop function. I'm to lazy to do that > > now, but if you would like to see how to do that, just ask. > > Wow! Sorry, for butting in, but is there a link where all this is > explained for the layman? > > I've tried reading the man page - not easy! :( >
Being me a layman too I ignore how all this functionality was added to FVWM. I agree that to be really accessible it should go with a book analog to "The C Programming Language" by Dennis Ritchie :-). Start like me, cutting, pasting and using your intuition. -- Walter