[Home] [Downloads] [Search] [Help/forum]


Register forum user name Search FAQ

Gammon Forum

[Folder]  Entire forum
-> [Folder]  MUSHclient
. -> [Folder]  Bug reports
. . -> [Subject]  MUSHclient And Clear Screen

MUSHclient And Clear Screen

It is now over 60 days since the last post. This thread is closed.     [Refresh] Refresh page


Posted by Oz   (1 post)  [Biography] bio
Date Sat 02 Mar 2002 08:08 PM (UTC)
Message
I need some major help. :(
I'm not sure if this is a bug or whatnot, but I use
\033[2J in my code a lot... A whooooooooooooooole lot...
It makes everything look pretty and neat, as it clears the
screen... For some reason though (most of my players
including me use MUSHclient) it doesn't work on MUSHclient
... I really do wish this problem was fixed, as I really
like the client and woulden't want to switch to anything
just for that reason...

Thanks,
Oz
[Go to top] top

Posted by Nick Gammon   Australia  (22,975 posts)  [Biography] bio   Forum Administrator
Date Reply #1 on Sun 03 Mar 2002 07:02 AM (UTC)
Message
MUSHclient is not a "full-screen" client for various reasons.

For one thing, how would you represent a "clear screen" in the log file?

Basically it supports scrolling text, which is what most MUDs use.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by Nick Gammon   Australia  (22,975 posts)  [Biography] bio   Forum Administrator
Date Reply #2 on Sun 03 Mar 2002 07:06 AM (UTC)
Message
MUSHclient does not support "full screen" mode (or cursor addressing) for a number of reasons, that have been discussed at some length before.

The reasons are many, one being how would you support "clear screen" in a log file, if you were logging?

MUSHclient is a scrolling text client, which most people seem very happy with.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by Shadowfyr   USA  (1,786 posts)  [Biography] bio
Date Reply #3 on Sun 03 Mar 2002 08:46 PM (UTC)

Amended on Sun 03 Mar 2002 08:48 PM (UTC) by Shadowfyr

Message
Hmm. This is actually too bad, it means it won't support anis animation either. :p While I imagine most muds do not use such things the fact that it can't be logged correctly is irrelevant. Programs like Telemate and others from back in the BBS days handled this either by assuming you knew what you where doing or in some cases by including the ansi codes in the log file. They just didn't care if it used cler screen or not, the log simple ignored it. Not having this support in mushclient means that for some things it is not usuable and if anyone tracks down some older games on a BBS site like Tradewars 2002 that rely on cursor positioning, they will be in for a nasty surprise. And it is not like you can install an old copy of Telemate on the computer and suddenly expect it to use telnet protocals. ;)

My suggestion would be to simply ignore text positioning and clear screen in a log, like most BBS day clients did. Most of them also had scroll back too, but I think they handled that by using the state in which the screen was at the time that the user sent a command to store it (or maybe when 'on a prompt', since an animation sequence probably isn't going to provide one). This would admittedly be a complicated, but others have done it and the point is you are in competition with those others. It is not a good idea to shoot yourself in the foot by failing to provide something that they do. lol
[Go to top] top

Posted by Nick Gammon   Australia  (22,975 posts)  [Biography] bio   Forum Administrator
Date Reply #4 on Tue 05 Mar 2002 04:17 AM (UTC)
Message
Quote:

... it means it won't support anis animation either. :p
While I imagine most muds do not use such things ...


Correct. Most muds won't use it, and the time taken to implement it, and the resulting bugs, and fixing them, somehow do not seem worth it to me.

My time is better spent, at least initially, implementing things that lots of people want, such as MSP, or other things that are a natural offshoot of normal mud behaviour.

I am somewhat opposed to "program bloat" where programs grow larger and larger (take more memory, are more unreliable, have more bugs), to accomodate more and more features, the bulk of which many people don't use. I could name a popular operating system that springs to mind right now, when I think of that.

Similarly, another popular MUD client has a 4.95 Mb download for a recent version, compared to MUSHclient's most recent version which is 1.14 Mb.


- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by Shadowfyr   USA  (1,786 posts)  [Biography] bio
Date Reply #5 on Tue 05 Mar 2002 07:17 AM (UTC)
Message
Lol Very true. Though since Mushclient supports just about everything that one does (assuming it is the same one), except for the mapper, I have to wonder what is actually bloating it...

A lot of times it is a case of how they are implimented though. I mean the idea of mine you added to the list for spell icons is basically just an extension of triggers and timmers with a little graphics added. A lot of people wouldn't add the few lines of code that took advantage of existing features and would instead write code specific to the feature. This is I suspect the main source of such bloat. ;)

I do have to agree that it would be complicated to add cursor positioning though, since at the very least the client would have to be column and line aware, while right now I don't think it really pays attention to those things unless scrolling or setting the word wrap. It could require some major reworking. :p It is in some ways a bit sad though, since obviously some muds do use it and unlike ansi color they really don't let you turn it off (since in most implimementations it is part of the ansi color). Now if we could match on the ansi code used it might be possible to fake it by sending x number of lines of blank world.notes, but that won't even work. It's another of those catch-22 things. If mushclient passed any ']whatever' codes to output when they didn't match one it supports you could use a script, but then it wouldn't fit the specifications for ansi codes. Kind of like my stupid mxp eats my muds room titles problem. lol

Well maybe some time in the future. ;)
[Go to top] top

Posted by Vermithrax   USA  (11 posts)  [Biography] bio
Date Reply #6 on Thu 20 Jun 2002 06:34 AM (UTC)
Message
I dunno, I use the clear screen function a lot just as a player... Having the screen clear shouldn't be a big deal for you to implement, and just ignore it in the log file. :)
[Go to top] top

Posted by Nick Gammon   Australia  (22,975 posts)  [Biography] bio   Forum Administrator
Date Reply #7 on Mon 24 Jun 2002 05:27 AM (UTC)
Message
In version 3.23 onwards, a plugin can receive the incoming unprocessed text from the MUD, so you could conceivably write your own processing (eg. output 20 blank lines) when you receive a "clear screen" code. Personally I think it would be messy.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by Shadowfyr   USA  (1,786 posts)  [Biography] bio
Date Reply #8 on Mon 24 Jun 2002 10:35 PM (UTC)
Message
If you had it output x number of lines then definitely. I don't get why it can't be treated as a page break in the clients own window and ignored in the log (or even converted if/when possible to the equivalent page break). Compared to full text positioning this is a no brainer imho.
[Go to top] top

Posted by Magnum   Canada  (580 posts)  [Biography] bio
Date Reply #9 on Tue 25 Jun 2002 02:15 PM (UTC)
Message
Although one could script the output of enough blank lines to 'clear' the screen, it is not an elegant solution, because the next available line is still at the bottom of the output window.

The best workaround to use now might be something like this:

Sub OnClrScrnTag
  World.DeleteOutput
  World.WriteLog "[CLEARSCREEN]"
End Sub

The problem is, of course, you lose the ability to scroll back beyond the clearscreen, since all previous lines have been deleted from memory.

I admit, it would be nice if there was a "World.ClearScreen" function that basically does the same thing, but let's you scroll up. On the other hand, I'm with Nick on this one, and don't really care much about this issue.

(Clearscreen tags would be ignored when scrolling back).

Get my plugins here: http://www.magnumsworld.com/muds/

Constantly proving I don't know what I am doing...
Magnum.
[Go to top] top

Posted by Shadowfyr   USA  (1,786 posts)  [Biography] bio
Date Reply #10 on Tue 25 Jun 2002 06:01 PM (UTC)
Message
>I'm with Nick on this one, and don't really care much about this issue.

In a general sense I don't either, but then I also don't care if you can turn off auto-wrapping on our mud for room text (and in fact think it is potentially stupid to mess with someone elses formating that way), but there was at least one post suggesting such on one of the muds boards. As for ignoring it... Not sure what kind of output window you are using, or how customized, but I don't see why you can't make the scrollback behavior like that of some other programs and treat it as though a document. In such cases a clear screen acts as a page break and you view/scroll one page at a time, then when you hit the break, jump to the next page or simply ignore it in the buffer. While the later is not optimal, either option would allow it to work.

The only arguement I have heard so far as to why it doesn't do so is 'it wasn't designed to'. The problem with that is you lose a percentage of users and worse you prevent some possible innovations on the muds themselves by giving them two less than steller options: 1) A client that won't support some things or 2) Using a different one that lacks 90% of mushclients features. This is a very frustrating situation when you run into it. :p
[Go to top] top

Posted by Nick Gammon   Australia  (22,975 posts)  [Biography] bio   Forum Administrator
Date Reply #11 on Fri 28 Jun 2002 06:05 AM (UTC)
Message
This is only a visual thing, so you would have to be pretty picky to switch clients simply because the screen didn't clear for the small percentage of MUDs that sent "clear screen". I can understand people switching clients when something substantive isn't supported (eg. MSP, or inter-client chatting), but just for some blank bits of screen?

The problem is not just that "it wasn't designed to". That was for a pretty good reason.

For a start, when you start scrolling back (eg., with the scrollbar thumb) drawing the screen smoothly would be a nightmare. No longer could you just draw the previous line as it appeared. You would have to search backwards for a "screen clear" to see if a "page break" needed to appear.

Second, at present if you click with the mouse to select text, the calculation of which line you have clicked on is simple, like this:

pixel position / pixels per line = line

(eg. 8000 / 10 = line 800)

If the lines are non-contiguous (ie., there are blank bits which are "start of page" or "end of page") this whole calculation gets a whole lot harder.

All this would make it slower and potentially a lot more buggy.

No, this is a "feature by design" and it is going to stay that way.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by Shadowfyr   USA  (1,786 posts)  [Biography] bio
Date Reply #12 on Fri 28 Jun 2002 06:14 PM (UTC)
Message
>This is only a visual thing, so you would have to be pretty
>picky to switch clients simply because the screen didn't
>clear for the small percentage of MUDs that sent "clear
>screen". I can understand people switching clients when
>something substantive isn't supported (eg. MSP, or inter-
>client chatting), but just for some blank bits of screen?

Ok. I agree it is only a blank bit of screen. Personally I can see a few case when having it blank would be nice, even if not necessary. Also the arguement that is makes counting what line you are on complicated is somewhat questionable since there have been discussions of how to include what do qualify as significant features, like pictures or special fonts. These would mess up the line count, however.. A page break doesn't change the number of lines, it mearly alters behavior to a small degree. Specifically it resets the cursor to the upper left and shoves anything in the buffer off the screen, this doesn't change line count at all. The suggestion you made to 'feed x number of lines to make the screen look blank, is how DOS used to do it within the video buffer, but is not strictly speaking the 'correct' behaviour in terms of the way a program with a buffer does it. ;) I can't agree that it isn't something useful.

Also with regard to the idea that someone would abandon a client over it, I was reffering more to the full set of commands to reposition the cursor. It is visually a lot easier to show an animation than a series of pictures that appear one after another, especially if the result is a 50 frame animation or something. The fact that muds don't generally use such a thing is I believe a matter of two things A) lack of clients that allow it and B) the difficulty of creating one. But if one does use any such thing then it does become a 'major' feature. It is however reasonable to not impliment this in that, unlike the clear screen, it is probably easier to support animation using MXP and animated gifs (I assume they are allowed) than with ANSI graphics. It 'could' thus be a null issue.

In any case no point of arguing about it if your mind is set. I just feel that emphatically stating, 'it will never do it', is not always a good idea when designing software. Maybe, 'at such a time as I can figure out a good way and reason to do it', would be better. You may never think of one, but at least it would remain an option. ;)
[Go to top] top

Posted by Nick Gammon   Australia  (22,975 posts)  [Biography] bio   Forum Administrator
Date Reply #13 on Fri 28 Jun 2002 10:31 PM (UTC)
Message
I am not talking about it altering the line count, but making it hard to relate a pixel position (vertically) to a particular line.

As for full-screen addressing, basically this takes the MUD away from being a pure text-based thing to a different beast. Even if only one client supported it then it would be a client-specific MUD. I doubt if it would become that popular. What about Unix or Mac players, for instance?

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


25,474 views.

It is now over 60 days since the last post. This thread is closed.     [Refresh] Refresh page

Go to topic:           Search the forum


[Go to top] top

Quick links: MUSHclient. MUSHclient help. Forum shortcuts. Posting templates. Lua modules. Lua documentation.

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.

[Home]


Written by Nick Gammon - 5K   profile for Nick Gammon on Stack Exchange, a network of free, community-driven Q&A sites   Marriage equality

Comments to: Gammon Software support
[RH click to get RSS URL] Forum RSS feed ( https://gammon.com.au/rss/forum.xml )

[Best viewed with any browser - 2K]    [Hosted at HostDash]