On Fri, Jul 05, 2002 at 05:13:36PM +0300, Tom Alsberg wrote: > On Fri, Jul 05, 2002 at 03:13:22PM +0200, Dominik Vogt wrote: > > I can't remember exactly right now, but I think I posted a better > > solution when I added the Schedule command. It boils down to > > scheduling the raise lower commands instead of executing them > > directly. When a command is finally executed, it cleans up the > > schedule queue. This eliminates the race condition if done > > correctly. Perhaps someone else can come up with a link to my > > original post? > > I remember your last post then, and found it archived on the web at: > http://www.hpc.uh.edu/fvwm/archive/0204/msg00248.html > > At the end of that message, you noted that this race condition can be > avoided using the new Schedule and Deschedule commands. Since then I > have made various experiments and tried many possibilities with it > (Schedule and Deschedule), and today I tried some more... But nothing > seemed to work as I expect... Mostly it just got FVWM stuck (waiting > for a click, with a cross-hair pointer) whenever entering a window > which should be raised. > > You did not tell exactly how this can be solved with the Schedule and > Deschedule commands. I have been struggling with it and for some > reason just did not manage to get it right... Maybe I am missing > something obvious... Could you please provide some example, or more > detail on how exactly to do it? > > I am using FVWM (2.5.3) from CVS, latest as for yesterday (last > updated yesterday).
Here we go: -------------------------- snip ------------------------- SetEnv AUTO_HIDE_GROUP 101 SetEnv AUTO_HIDE_DELAY 0 DestroyFunc hide_window AddToFunc hide_window + I Lower $w + I State 8 off DestroyFunc hide_all AddToFunc hide_all + I All (state 8) hide_window DestroyFunc show_window AddToFunc show_window + I echo show $[AUTO_WINDOW_TO_RAISE] + I WindowId $[AUTO_WINDOW_TO_RAISE] State 8 off + I Next (State 8) echo hiding $w ... + I Next (State 8) hide_window + I WindowId $[AUTO_WINDOW_TO_RAISE] Raise + I WindowId $[AUTO_WINDOW_TO_RAISE] State 8 on + I Deschedule $[AUTO_HIDE_GROUP] DestroyFunc schedule_raise AddToFunc schedule_raise + I Deschedule $[AUTO_HIDE_GROUP] + I SetEnv AUTO_WINDOW_TO_RAISE $w + I Schedule $[AUTO_HIDE_DELAY] $[AUTO_HIDE_GROUP] show_window DestroyFunc autohide_window AddToFunc autohide_window + I Schedule $[AUTO_HIDE_DELAY] $[AUTO_HIDE_GROUP] hide_all + I PointerWindow (FvwmIconMan) schedule_raise + I PointerWindow (FvwmButtons) schedule_raise + I PointerWindow (xclock) schedule_raise + I PointerWindow (xexec) schedule_raise DestroyModuleConfig FvwmEvent-Auto: * *FvwmEvent-Auto: PassId *FvwmEvent-Auto: enter_window "autohide_window" *FvwmEvent-Auto: leave_window "autohide_window" AddToFunc StartFunction + I All State 8 off + I Module FvwmEvent FvwmEvent-Auto -------------------------- snip ------------------------- Bye Dominik ^_^ ^_^ -- Dominik Vogt, mail: [EMAIL PROTECTED], phone: 0721/91374-382 Schlund + Partner AG, Erbprinzenstr. 4-12, D-76133 Karlsruhe -- 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 PROTECTED] To report problems, send mail to [EMAIL PROTECTED]
