% % Awing operations stager % < |Initial % % initial state is Awing not detected % "Initial" !AwMode "Detect" *= { % % the Awing form is already running % close % _Arching.Full { _Awing Win.Close 0 !Awing } if } { % % the Awing form is not running % } ifelse |Exists "Awing" *allseter exists _Arching.Full and % % stack: awing-run-exists % |Detect _Awing -1 eq _Awing zero or %%% "Awingun" log)( { % % Awing in startup or not started yet % *awnghwnd _Awing -1 eq { % % Awing starting up, only change if detected % dupnzis %%% "Awingstarted" log)( { % % Awing window detected, indicate it is formed % !Awing true !Awing.Formed } if } { % % Awing not in startup phase, set handle var % %%% "Awingalready" log)( !Awing true !Awing.Formed } ifelse % % closure processes for current Awing status % _Awing positive dup { % % Awing did start up % _AwMode "Initial" eq$ { % % Awing was in initial phase detection % "Follow" !AwMode } if } if } { % % Awing running % true } ifelse % % stack: Awing-detected % |Start "Detect" *= % % stack: Awing-detected % _Awing zero %%% "Awinger" log)( { % % no Awing yet, not in startup, start the Awing program % "Awing" *allseter *runsnorm -1 !Awing "Started" !AwMode } { % % Awing has now fully started % } ifelse % % stack: Awing-started % |Restore "Detect" *= dup { % % window detected, make sure restored % pop _Awing restoring } if % % stack: restored % |Monitor "Detect" *= { _AwMode %%% "mon " log)( < |Fon _Awing unrestored { "Follow" !AwMode } if |ToFon true *formshow "Fon" !AwMode |Foff _Awing unrestored not { "Follow" !AwMode } if |ToFoff false *formshow "Foff" !AwMode |Follow _Awing unrestored { "ToFoff" !AwMode } { "ToFon" !AwMode } ifelse |ToWith "Restore" *= { true *formshow "Normal" !AwMode } if |With _Awing unrestored { "ToWith" !AwMode } if |ToWithout _Awing unrestored { true *formshow "Normal" !AwMode } if |Without _Awing unrestored not %%% "without" log)( { "Minimize" *= "ToWithout" !AwMode } if |ToOnly _Awing unrestored not { false *formshow "Normal" !AwMode } if |Only _Awing unrestored { "ToOnly" !AwMode } if |Started "Follow" !AwMode > pop } if |OnTop "Detect" *= { % % window detected, make sure on top, show Awing topmost % %%% _Awing Win.ForceTop } if |NotTop "Detect" *= { % % window detected, make sure not on top % *awnghide } if |Minimize "Detect" *= { % % window minimize % _Awing Win.Min } if |Maximize "Detect" *= { % % window maximize % _Awing Win.Max } if |End _Awing Win.Close pop > pop