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 15 62.50% Change default behavior to be last character always on screen 9 37.50% Total 24 votes 100%
 * You voted for this item.

 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
 Tim Wessman Senior Member Posts: 2,233 Joined: Dec 2013
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 the HP calculator group, the views and opinions I post here are my own.
01-19-2016, 08:05 PM
Post: #2
 Marcus von Cube Senior Member Posts: 760 Joined: Dec 2013
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
01-19-2016, 08:15 PM
Post: #3
 toml_12953 Senior Member Posts: 1,430 Joined: Dec 2013
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
...other than that, Mrs. Lincoln, what did you think of the play?
01-19-2016, 09:14 PM
Post: #4
 salvomic Senior Member Posts: 1,366 Joined: Jan 2015
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 12C 15C - DM42 WP34s :: Prime Soft. Lib
01-21-2016, 01:55 AM
Post: #5
 sbergman27 Junior Member Posts: 19 Joined: Jan 2016
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
 « Next Oldest | Next Newest »

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