Poll: Should the terminal from the PRINT command behavior remain the same, or change to 1 screen before the last printed character?
This poll is closed.
Leave as is until terminal enhancements later 62.50% 15 62.50%
Change default behavior to be last character always on screen 37.50% 9 37.50%
Total 24 votes 100%
* You voted for this item. [Show Results]

Post Reply 
Vote: Terminal Behavior
01-19-2016, 04:29 PM (This post was last modified: 01-19-2016 04:35 PM by Tim Wessman.)
Post: #1
Vote: Terminal Behavior
Quick poll:

Since it appears there are many people trying to use the terminal to display large amounts of data and text in programs, I would like some input on the default output terminal behavior.

We originally planned that it would NOT scroll to the end by default to ensure the user would see the information in order without having to manually run up to the top of the screen. This felt like it would be the correct behavior since unlike a traditional terminal, this is on a very small screen. Putting pages of information up onto it would be a "bad thing" and if you are doing that... chances are there is a better way to do what you are trying to do.

However, as stated, may people seem to be dumping large amounts of text onto the screen and wanting to go back and look at it later.

You can currently do this:
print("...");
wait();
print(); //clear previous text
print("...");
wait();

..and your most recent text should always be at the top (provided it fits on a single page of printing).

The question is thus: "Should the output terminal default be to always show the last character that was printed?"

The downside I see is that you *STILL* will have the problem of not being able to interact with the output terminal during a program run, so unless your output fits on a single screen anyway, you will be cutting off some data regardless.

I cannot give any information regarding time until potential terminal enhancements are done giving more complete control, but a quick change to default position after a print happens could most likely be done much quicker.

TW

Although I work for HP, the views and opinions I post here are my own.
Find all posts by this user
Quote this message in a reply
01-19-2016, 08:05 PM
Post: #2
RE: Vote: Terminal Behavior
You might consider creating an "OPEN TERMINAL" command with parameters such as buffer size, scroll behavior and the like. If used, the terminal behaves as instructed by the command, otherwise the present behavior is used.

Marcus von Cube
Wehrheim, Germany
http://www.mvcsys.de
http://wp34s.sf.net
http://mvcsys.de/doc/basic-compare.html
Find all posts by this user
Quote this message in a reply
01-19-2016, 08:15 PM
Post: #3
RE: Vote: Terminal Behavior
(01-19-2016 04:29 PM)Tim Wessman Wrote:  Quick poll:

Since it appears there are many people trying to use the terminal to display large amounts of data and text in programs, I would like some input on the default output terminal behavior.

If we're allowed to blue-sky, I'd like a real terminal with ANSI commands for color, location, reverse video, underlining, font, etc. I'd also like a TAB command to be able to print columns of data without resorting to tricks.
JM2C.

Tom L

Tom L
Cui bono?
Find all posts by this user
Quote this message in a reply
01-19-2016, 09:14 PM
Post: #4
RE: Vote: Terminal Behavior
In some programs of mine I used intensely the Terminal, and a big problem was to wait Terminal and start another page...
In the astronomic program I used this trick: to define a function like this:
Code:

waittap()
BEGIN
 LOCAL a,b,c,d;
 a:=1;
 b:={};
 c:={};
 d:={1};
 WHILE a>0 DO
  a:=WAIT(−1);
  IF TYPE(a)==6 THEN
   b:=wait(-1);
   c:=wait(-1);
   if b(1)==2 then
   else
    while d(1)==1 do
     d:=wait(-1);
    end;
   end;
   break;
  end;
  a:=-a;
 END;
 return concat({a*1},{b*1},{c*1},{d*1});
END;

then use this waitapp() function so:
Code:

 PRINT;
  PRINT("Date " + m + " " + D + " " + Y);
  temp:= dayOfYear(lista);
  PRINT("Day " +temp+ " of the year "+Y);
  PRINT("Julian Day " + JD);
  PRINT("Julian Day Effemerides " + JDE);
  PRINT("N (from 1901-jan-01) " + N);
  PRINT("T (from JD) " + TSid(5));
  PRINT(" ");
  PRINT("Θ0 Sidereal Time 0h " + →HMS(TSid(1)));
  PRINT("Local Sideral Time " + →HMS(TSid(2)));
  PRINT("GAST TS apparente " + →HMS(TSid(3)));
  PRINT("θ0 Mean ST GMT " + →HMS(TSid(4)));
  PRINT("Θ0 Sidereal Time 0h (DEG) " + trunc_angle(TSid(1)*15));
  PRINT("θ0 Mean ST GMT (DEG) " + trunc_angle(TSid(4)*15));
waittap();
PRINT();
  PRINT("Δψ Nutazione (longit.) "+ deltapsi);
  PRINT("Δε Nutazione (obl.) "+ deltaepsilon);
// ...

waittap();
PRINT();
doesn't exit, cancel all, reuse the Terminal...

Maybe a function like this could be added by default to the Terminal behavior...

My two cents.

Salvo

∫aL√0mic (IT9CLU) :: HP Prime 50g 41CX 71b 42s 39s 35s 12C 15C - DM42, DM41X - WP34s Prime Soft. Lib
Visit this user's website Find all posts by this user
Quote this message in a reply
01-21-2016, 01:55 AM
Post: #5
RE: Vote: Terminal Behavior
Now that I understand more about how the terminal works, I've voted "Leave as is, for now". Oh, I'd really like to be able to:

$ program > file.out 2>&1 &
$ less file.out
$ less file.out
$ less file.out

... but that's a bit much to ask for. lol

-Steve
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)