2002-07-30 15:10:26

by DervishD

[permalink] [raw]
Subject: Clearing the terminal portably

Hi all :))

I want to clear a terminal more or less 'portably' but without
using curses (that's forced). I must work at least for the TERM
'linux' and it would be great if it works on all linux platforms. The
portability is intended *only* within different linux archs, not
more.

I currently write 'ESC c' to the terminal and it works (it is the
reset code for a 'linux' TERM), but I wonder if there is a better way.

Thanks a lot :)
Ra?l


2002-07-30 15:36:08

by Richard B. Johnson

[permalink] [raw]
Subject: Re: Clearing the terminal portably

On Tue, 30 Jul 2002, DervishD wrote:

> Hi all :))
>
> I want to clear a terminal more or less 'portably' but without
> using curses (that's forced). I must work at least for the TERM
> 'linux' and it would be great if it works on all linux platforms. The
> portability is intended *only* within different linux archs, not
> more.
>
> I currently write 'ESC c' to the terminal and it works (it is the
> reset code for a 'linux' TERM), but I wonder if there is a better way.
>
> Thanks a lot :)
> Ra?l

This will work with most all terminals that claim 'ANSI-something' in
their specs.

static const char cler_scr[]="\033[H\033[J";
void cls()
{
(void)write(STDERR_FILENO, cler_scr, sizeof(cler_scr)-1);
}


Cheers,
Dick Johnson
Penguin : Linux version 2.4.18 on an i686 machine (797.90 BogoMips).
The US military has given us many words, FUBAR, SNAFU, now ENRON.
Yes, top management were graduates of West Point and Annapolis.

2002-07-30 16:01:34

by Alan

[permalink] [raw]
Subject: Re: Clearing the terminal portably

On Tue, 2002-07-30 at 16:21, DervishD wrote:
> Hi all :))
>
> I want to clear a terminal more or less 'portably' but without
> using curses (that's forced). I must work at least for the TERM
> 'linux' and it would be great if it works on all linux platforms. The
> portability is intended *only* within different linux archs, not
> more.
>
> I currently write 'ESC c' to the terminal and it works (it is the
> reset code for a 'linux' TERM), but I wonder if there is a better way.

Not really a kernel question. Take a look at tput terminfo ncurses
and/or slang