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
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Sat Mar 15, 2008 4:05 am   

[2.20] Settings editor recentering
 
I have a long list of classes in my settings. I use the scroll-bar at times to look around in my settings. When an item is selected, the settings editor will attempt to center around it every couple of seconds. This makes it impossible to use the scroll bar to view another section. No sooner have you moved your view with the scroll bar then it resets the view it to where you last selected something.
Reply with quote
wrym
Magician


Joined: 06 Jul 2007
Posts: 349
Location: The big palace, My own lil world

PostPosted: Sat Mar 15, 2008 4:15 am   
 
I just check and am having the same problem, looks to be a random time period between 3 seconds and 20 seconds.
_________________
"To the engineer, all matter in the universe can be placed into one of two categories: (1) things that need to be fixed, and (2) things that will need to be fixed after you've had a few minutes to play with them" - Scott Adams, The Dilbert Principle
Reply with quote
Zugg
MASTER


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

PostPosted: Sat Mar 15, 2008 4:18 am   
 
Do you have a trigger or anything running in the background that is changing any settings? Does the same thing happen when you edit your settings "offline"?

If you can pin it down to which trigger is firing that is causing this to happen, post the script of the trigger so that I can try to reproduce it.
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Sat Mar 15, 2008 4:20 am   
 
I have a clock that is running in the background. It updates variables relating to the time. My guess would be that every time the time updates the settings editor re-centers around whatever is selected. My clock updates every 2.5 seconds so that explains why it was almost immediately apparent to me.
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Sat Mar 15, 2008 4:24 am   
 
The alarm AddTime fires every 2.5 seconds and works in the background. My guess is that if you had any old alarm modifying some variable at regular intervals, you'd be able to reproduce this.

Code:

Removed now irrelevant code


Last edited by ReedN on Tue Apr 01, 2008 3:01 pm; edited 1 time in total
Reply with quote
Zugg
MASTER


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

PostPosted: Sat Mar 15, 2008 4:31 am   
 
No, just creating an alarm that modifies a variable doesn't do it. I did this:
Code:
#ALARM *2 {#show fired;#ADD a 1}

which fires every 2 seconds and adds one to the @a variable. And while this was running I had the settings editor open and was scrolling through the tree and the tree never reset or scrolled by itself at any time.

So, it must be one of the other changes happening in your alarm. If you can pin down what part of your alarm is causing this to happen, that would be very helpful.
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Sat Mar 15, 2008 4:51 am   
 
I disabled my time update and it stopped recentering. I then created a similar alarm to your alarm and it started doing it again.

When I disable the time update it only occurs when I get a newline. Were you connected at the time? Getting a newline from the Mud seems to cause it to center as well.
Reply with quote
Zugg
MASTER


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

PostPosted: Sat Mar 15, 2008 5:06 am   
 
Yes, I was also connected. Do you have any other triggers that might be firing when you get a newline from the MUD?
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Sat Mar 15, 2008 5:33 am   
 
Yes, there's a prompt and that causes the Prompt event to fire which has all my main system code which executes off that. I can see that if you haven't seen it thus far it's probably something that'd take a me a while to dig through all my code to isolate.
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Sun Mar 16, 2008 7:54 am   
 
I created a new clean session and tried it and got the same centering results with the alarm updating the variable that you had tried without success. I had to include some disabled filler class in the package or there wouldn't be enough items to use the scroll bar.

I sent the package to support@zuggsoft.com for you to examine.
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Sun Mar 16, 2008 9:31 am   
 
Quick note: One other side effect of this is that I'm also unable to select a large group of items. I select them and when the 'recentering tick' hits it deselects everything except for one item. This effectively makes it difficult to do any group actions such as group delete/delete/etc.
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Sun Mar 16, 2008 10:59 am   
 
I think another effect of this is that when I drag triggers or other items around it can randomly cause me to jump to other sections of my settings once I've released the mouse button for the drag operation.

So I'll be dragging an item from here to there and all the sudden I'm looking at a totally different part of my settings from where the drag occurred. It doesn't happen every time, but quite frequently.
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Mon Mar 17, 2008 5:58 am   
 
I was working on the settings off-line and was considering the following facts:

- I experience it only on-line.
- You don't see it on-line
- We were running the same code, essentially and yet you didn't see it on-line. I even created a new session with this as the only thing enabled and I still see it.

The data suggests it might be a difference of where we were logged on. I was connected with Achaea and am using ATCP. Perhaps that may be the critical difference.

Edit:
- I typically don't see this off-line, like I stated above, but I was off-line and it started happening all the sudden when I first edited, then tried to select a multi-state trigger. I'd try to select several items including a multi-state trigger and it would cause the items to become unselected.
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Fri Mar 21, 2008 11:23 pm   
 
Were you able to reproduce this? I sent you a package with literally just one trigger enabled so you should be able to see the same symptoms.

Other factors might be:

Logged in to Achaea
Using ATCP with compression off
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Fri Mar 21, 2008 11:45 pm   
 
Deleted redundant information.
Reply with quote
Larkin
Wizard


Joined: 25 Mar 2003
Posts: 1113
Location: USA

PostPosted: Sat Mar 29, 2008 12:27 pm   
 
Still seeing this problem in 2.21. I select something in the treeview, and when I scroll up or down such that the selection is no longer visible, it auto-scrolls to make it visible when a trigger fires. Makes it rather challenging to edit settings while testing online.
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Sat Mar 29, 2008 1:20 pm   
 
Confirmed, still see it in the new version.
Reply with quote
Zugg
MASTER


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

PostPosted: Sat Mar 29, 2008 5:42 pm   
 
Someone is going to need to create a trigger and settings that I can use to test this online from a blank session. I am still not seeing the problem at all here, so I think it depends upon exactly what trigger is firing and exactly what it is doing. Until I can get a test script that does it reliably, there isn't much I can do.
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Sat Mar 29, 2008 11:19 pm   
 
Zugg, I sent you a blank package with this test in it for version 2.20. I know you were having an issue seeing this so I also suggested you use that sent package on an Iron Realms Mud.
Reply with quote
Zugg
MASTER


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

PostPosted: Mon Mar 31, 2008 4:57 pm   
 
Right, and I used that package and tested on Imperian and didn't get any problems here. That's why I think we need to start fresh with a new example that other people can also try to reproduce.
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Tue Apr 01, 2008 2:55 pm   Procedure to reproduce:
 
1) Open Cmud. Create a new session that has the address of Achaea (www.achaea.com).
2) Connect to Achaea with that blank session.
3) Copy the text of the code below.

Code:

  <class name="Test" id="2">
    <trigger type="Alarm" priority="30" id="3">
      <pattern>*1</pattern>
      <value>#add tester 1</value>
    </trigger>
    <var name="tester" id="4">59</var>
  </class>


4) Open the Settings Editor, right click the top level item and select paste to paste in the "Test" class. Test class consists of an alarm (*1) and a variable (@tester).
5) Verify copy and that the @tester variable is incrementing every 1 second.
6) Decrease the height of your settings editor window (quite a lot - it needs to be sliver thin since there's really only three items in your session) until you can select the alarm and use the scroll bar to scroll the selected alarm off the window. You can probably create some filler items to make this easier if you desire, but it shouldn't be necessary from my testing.
7) Once the alarm has been scrolled off the visible portion of the window it will snap back into view every 1 second matching the alarm firing.

Other observations: Interestingly this only happens when "Use Default" is deselected, as if using that option allowed it to skip the processing that caused the recentering. Also, assigning it the same value over and over again will not cause this to occur, I had to assign it a different value from what it was already.

Other Settings (Checked Options):
ANSI Color
VT102 emulation
MCP Emulation
Pueblo emulation
ATCP emulation
Emulate control codes
Telnet Options
MXP/HTML
MSP
NAWS
Use GA/EOR for prompt
Terminal Type: cmud
Reply with quote
Zugg
MASTER


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

PostPosted: Tue Apr 01, 2008 5:25 pm   
 
Yes! Finally! I was able to reproduce the problem with that procedure, thanks.

When "Use Default" is selected, CMUD is optimized to know that any changes to the variable do not need to be saved to disk (because the changes get overwritten by the default value). This is one of the ways you can speed up your scripts by preventing variables that change a lot from being saved. And CMUD is also optimized not to save any changes unless the variable's value actually changes.
Reply with quote
Zugg
MASTER


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

PostPosted: Tue Apr 01, 2008 8:00 pm   
 
You don't actually need to be connected to reproduce this using the above procedure. Seems to also do it in a blank session. I also found that if you turn off the View/Auto Update option, then it doesn't scroll the tree. Hopefully I'll be able to fix this now that I know the routine that is causing the problem. The Auto Update causes a background timer with a length of 500ms to be activated. This background timer processes any changes to the treeview. And one of the side effects of this seems to be the scrolling problem.

I've also noticed that if you hold down the CTRL key to select multiple items, the selection also gets lost when the tree is updated.

Edited: Fixed for 2.22
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Tue Apr 01, 2008 11:33 pm   
 
Wonderful, thanks!
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Sun Apr 06, 2008 7:27 am   
 
In 2.22 this is fixed in about 95-99% of the cases and is very usable now. I have seen it recenter when I was doing a large variety of activities in the mud with the settings editor open. I'll put some time into coming up with what is causing it later.
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