Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD Beta Forum
shalimar
GURU


Joined: 04 Aug 2002
Posts: 4690
Location: Pensacola, FL, USA

PostPosted: Fri Sep 18, 2009 3:35 pm   

[3.10a] #YESNO
 
1. It seems that if a trigger calls #YESNO, the text that triggers it wont display until after you make a selection.

2. The yesno window seems to take full focus, not allowing you to enter other commands to the game (such as something to verify which answer you want to give).

3. There seems to be a painting error as well. If i have an AIM window open above my CMUD window, and the yesno fires, when i click on the scrollback buffer visable around the IM window. Once CMUD takes focus, i can still see part of the IM window. This doesn't happen if you directly click an answer button.

4. The yesno question window should be thrown up on top of everything, no? Even if CMUD is minimized? If not, that would be useful feature.
_________________
Discord: Shalimarwildcat
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Fri Sep 18, 2009 4:27 pm   
 
1. That is correct and is by design. While processing *any* trigger, the text that fires the trigger is not displayed until the trigger is finished processing. This is done to allow commands like #GAG to work without flickering the text that is being gagged. Since your #PROMPT command is interrupting the trigger processing and waiting for user input, the text from the trigger is not displayed yet.

2. That is correct and also by design. Most people want popup windows such as #YESNO, #PROMPT, etc to take the focus so that they can answer the popup question without taking their hands away from the keyboard. This is also just how Windows works with popup dialog windows. Any popup message in any application takes focus away from the application.

3. This is a Windows quirk that I have no control over. Since the popup window has the focus, Windows only sends the proper activation messages and paint messages to the application when you select the popup window. The text scrolling region in CMUD is optimized to not repaint itself needlessly to speed up the text scrolling. The tricks used for fast scrolling prevents CMUD from repainting the screen when you switch to CMUD by clicking on an area outside of the focused window. If you properly use Alt-Tab to switch to CMUD, then this should work fine. And as you said, it only happens when there is a popup window in CMUD and only when another application is using the "stay on top" feature in Windows (like AIM is doing), so it's a very minor inconvenience that you'll just need to live with.

4. No. This isn't how Windows works. The YesNo question is a popup window within the CMUD application. If CMUD is minimized, windows treats the application as "inactive" and will not activate the application just because of the popup. It would actually be very annoying for most users if every application that had a popup window caused the popup to display over the other applications that you are using. The only way to make the YesNo popup visible when CMUD is minimized would be to restore the CMUD application from it's minimized state. In any case, I have no intention into making CMUD a non-standard Windows application. CMUD is going to work just like any other Windows application, and minimized Windows applications never show their popup windows.
Reply with quote
shalimar
GURU


Joined: 04 Aug 2002
Posts: 4690
Location: Pensacola, FL, USA

PostPosted: Fri Sep 18, 2009 5:25 pm   
 
1. I would expect output changes (like #SUB, #PSUB, #GAG, etc) to be done seperate from prompting the user.
I dont see #YESNO as having the scope to see $localvars defined within the trigger, nor seeing %params to properly define its own $localvars to use a #SUB or #PSUB in the first place.
Why would anyone want to defer line processing to one of these prompting commands in the first place?

Given that it could be sometime before an answer is given, if ever... is it possible to specify a timeout for #PICK #PROMPT #YESNO, where if the answer is not recieved within a time limit a default answer is given?

2. It would be nice if i could manually put the focus back on CMUD (if only temporarily) to get the info needed to answer. Currently, the window won't give up focus without an answer.

Thanks for the quick reply.

[edit] Nevermind the #2, so long as #1 is preventing further screen output, there would be no way to validate anything anyway, outside the settings editor.
_________________
Discord: Shalimarwildcat
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD Beta Forum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net