Subject: FVWM: Correction from previous code.

From: Rusty Phillips <[email-masked]>
Date: Thu, 01 Jul 2004 08:58:33 -0500

I don't want to give out bad code.  It seems that FvwmPerl does not
check to make sure that the command it sent finished before perl moves
on to other things (shouldn't that be mentioned on the man page?).  That
can end up screwing up the last batch of code I sent you.  This new set
is thread-safe.

DestroyFunc SavePos
AddToFunc SavePos
+ I All (!Iconic, !Sticky) eval push @a, { id => $[w.id], x=> $[w.x],
y=>$[w.y], \
         width=>$[w.width], height=>$[w.height] }
+ I $*

DestroyFunc RestorePos
AddToFunc RestorePos
+ I eval foreach (@a) { cmd("WindowId $_->{id} Iconify false");  \
cmd("WindowId $_->{id} ResizeMove frame $_->{width}p $_->{height}p
$_->{x}p $_->{y}p"); }; \
print STDERR scalar(@a) . "\n"; \
@a=();

DestroyFunc SaveorRestore
AddToFunc SaveorRestore
+ I eval if(!($b eq qq{$*})) { $b=qq{$*}; @a=(); }; \
         if(scalar @a) { cmd("RestorePos");} \
         else { cmd("SavePos $*"); };

--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].