From LongEnoughToForceAnElevatorIntoTheScrollbar... ''Well, I actually think RandyKramer is referring to the vertical scrollbar in the text input box of the edit page. And I'd say this reflects another bit of bad UI on the part of the browser developers. The scrollbar should never be present without both arrows and elevator; it doesn't make sense to have arrows with no elevator - especially since the arrows don't do anything until the text is long enough to scroll. -- TomStambaugh'' : Is the other option Squeak's magic scrollbar, which I frankly find deeply annoying, confusing and ugly? I mean, you can't just ''take'' 20 pixels of the width without screwing up the layout inside the control, unless you had previously "allocated" it. But then people would wonder why text was wrapping with a 20 pixel gutter on the right and not the left. I think ghosting the scrollbar is a decent solution, but maybe there is a better solution. : ''I don't know about Squeak's treatment of this. The approach that I assume is to flow the text into the control (without the 20 pixel scrollbar) until it needs to wrap past the bottom of the frame. If it does wrap, then reflow the text into a narrower frame but with the scrollbar. Ghosting the scrollbar is probably ok too, but then ghost the bars, the arrow, and the elevator. What I find distracting and wrong is to display an apparently live bar with apparently live arrows that do nothing, and then add the elevator when the text grows. -- TomStambaugh'' : Squeak floats the scrollbar just ''outside'' the window when necessary, and only when the mouse floats over the pane. Bizarre. Apparently you can change this, but the magic scrollbar is as described. : ''Bizarre by today's standards, yes. But also traditional and historical. Squeak's scrollbars, not surprisingly, are just like Smalltalk-80's scrollbars, which pre-dated all of the modern scrollbars. Commercial Smalltalks like VisualWorks allow you to change this and other look and feel items (didn't see a way to do it in Squeak right off). IMHO Smalltalk's scrollbars are easy to use and more powerful once you get used to them. For example you don't have to move your cursor up to an arrow button to scroll a line at a time. -- RandyStafford'' : ''OHHH! You mean the old ST-80 user interface. I didn't realize that THAT was what we meant by "magic scrollbar". Yes, it is bizarre by today's standards -- I get a sort of nostalgic fuzzy warm feeling when I see it in old reprints and such. I lived with that UI for SO long ... its like climbing into the back seat of a '63 Valiant. Yes, I agree with RandyStafford that the Smalltalk-80 user interface is, for me, superior in usability to the current WinXX approach. -- TomStambaugh'' In Squeak Morphic: left-click on the background (the World) and choose menu option "help..." and then "preferences...". You now get a window in which you can customize many things. To get non-disappearing scrollbars, change the option "inboardScrollbars" to "true". -- StephanHouben : I'd like to see your approach in action. I wonder if it would be confusing to have the text reflow as you are typing just as you type that one character that puts you over. It also would be difficult to do with browsers or composite widgets, as the whole window would have to reflow. Very confusing. I find dynamic positioning is clunky from a user's point of view. -- SunirShah : P.S. I'm not sure what you're seeing in the edit box. At least in MSIE4, the edit box scroll bar is ghosted until it is useful, as well as the browser window scrollbar. Actually, I believe this is the default behaviour of Windows if there is no range nor position for the scrollbar. Are you using Netscape? Well using Mozilla 1.1 on Mac OS X, the scrollbar appears/disappears completely when required. Yes this means the text gets reflowed when you type the last character on a 'page'. It doesn't seem weird to me. '''Concur.''' The behavior of having the scrollbar appear when needed and then the text getting reflowed to compensate for the smaller viewport is, at least to a "regular" Windoze user, quite the normal thing. This is because I have allocated just so much desktop space for a particular window and it is up to the window's management to utilize that space in displaying text. If the text can be displayed w/o a scrollbar, so be it. If a scrollbar is necessary then it comes out of that window's space and the text viewport gets smaller. Oh, well. : ''Actually, it is not, at least not on WindowsXp. The ScrollBar is always there, disabled when not needed, only to be enabled when needed. No reflowing is done at any time.'' Try it under Win 3.1, 95, 98, and 2K. I'm not sure about Millennium, but I'd be willing to bet it's the same. ---- This is kind of off topic, but also rather bizarre... So I'm hacking around in Python, and using IDLE for Windows to do so. (In case you're wondering, I'm writing a timers thread for Yaibot-now-Ennesbot.) At some point, I start getting exceptions I didn't expect, so I put in some print statements to see if I can get some more information. Now, instead of excepting, it hangs. Whoops. Reopen IDLE, try the same thing again, after putting in something that ought to fix it. This time, instead of excepting or hanging, the function runs cleanly every time. For about 20 iterations. It then hangs. Nothing has changed, either. Hmm. Reopen IDLE, run the code again. Same thing happens. It's about this time that I realize that there's about 24 lines of text available in the interactive window, and 3 of them are taken up by the startup text. Reopen IDLE one more time, make the interactive window bigger, run the code. IDLE hangs precisely when there's enough text to force an elevator into the scroll bar, or when there's already one there. Having determined that my function is working fine and that the IDE is actually to blame, I take out the print statements, commit the code, and download PythonWin. :) -- DanUznanski ---- We just got hit with some legacy functional code. It averages about 1500 lines per method, 28 methods per class, and conditonal/flow nesting is around 7 to 10. Forget about ScrollBarElevators if I were to print the code out, the pages would be long enough for a real elevator ... shaft. ---- CategoryDiscussion