output area accessibility

Posted by Oriol on Mon 16 Nov 2009 11:29 AM — 3 posts, 15,779 views.

#0
Hello:
I was wondering, if we could make a script function to grab the whole output area buffer or something?
What I want to do is, like most mud clients for blind people, they have the output area in a sepparate edit field so you can navigate around it with the arrow keys, and when something new comes up, the position is not lost.
Maybe we could do something like that with a script function to grab the whole output area and put it in a window or something, or maybe MushClient could do that internally, make the output area accessible with a key or something similar.
Let me know what you people think nad if any of you would be using this because I know many would.
Australia Forum Administrator #1
There is already a plugin callback "OnPluginScreendraw" that receives all lines that are placed in the output buffer. This is normally used by screen reader plugins to just speak the lines, but it could also, or instead, put them into another edit field as you suggest. In the case of MUSHclient itself, it could be used to append to a notepad window, which is an edit control.

You can also use GetLineInfo to obtain at any time the contents of any line in the current output buffer, so you could combine this with the suggested keystrokes (implemented with an Accelerator function call) to read out any line you like.

Template:function=GetLineInfo
GetLineInfo

The documentation for the GetLineInfo script function is available online. It is also in the MUSHclient help file.



Template:function=Accelerator
Accelerator

The documentation for the Accelerator script function is available online. It is also in the MUSHclient help file.

#2
Ooh! I hadn't realized that OnPluginScreendraw could be used to put the lines into a notepad as well, doh!
The only problem I find with the notepad though is that when some new text arrives the cursor is moved to the end of the file, which is something we do not really want, but it can be dealt with.
Thanks I'm going to try using ScreenDraw right now, at least it should help a bit.