joe i slang .. pozytywy
Marcin 'Qrczak' Kowalczyk
qrczak w knm.org.pl
Pon, 5 Paź 1998, 19:43:19 CEST
On Mon, 5 Oct 1998, Tomasz Kłoczko wrote:
> Przypuszczam, że ficzer siedzi gdzieś w ninicjacji/deinicjacji samego
> slanga i raczej od tego miejsca zaczynałbym poszukiwania.
slang nie ma skąd wziąć ekstra możliwości... przecież daje tylko
interfejs.
> Nie wiem czy pracuje to ma nonsoli linuxowej ale na pewno działa to na
> *xtermach.
Na xtermach (przynajmniej rxvt) to ja umiem: wysłanie '\33[?47h' czyści
ekran zapamiętując go, a '\33[?47h' odtwarza. Nie wiem, co powinno to
robić w założeniu (terminfo opisuje sekwencje, które na terminalu xterm
zawierają powyższe, jakoś inaczej), i na konsoli oczywiście to nie działa
ani nie ma odpowiednika (przynajmniej w 2.0.35).
> Jeżli by dizałało także na konsoli to może możnaby się pozbyć consaver-a
> (który ma suid-a) z mc i zrobić to inaczej.
Ostatnio (2.0.35?) nie wiedzieć czemu /dev/vcs* mają dobrego, dynamicznie
zmienianego właścicielam i zaczął mi działać cons.saver bez tego suida,
bez żadnych dodatkowych poprawek... On na "nowych" jądrach (>= 1.1.92)
czyta i pisze właśnie /dev/vcsa*, na [1.1.67, 1.1.92) używał jakiegoś
ioctl(console_fd, TIOCLINUX, buffer), ustawiając buffer[0] na 0 przy
odczycie, a na 9 i jeszcze buffer[1] na (binarny) numer konsoli przy
zapisie. Nie sprawdzałem, czy teraz to jeszcze działa; w `man ioctl_list'
(dotyczącej jądra 1.3.27 - czy nie przydałoby się uaktualnienie?) tego nie
ma opisanego. No ale jeśli /dev/vcsa* już dobrze działa, to na konsoli
wystarczy używać tego (w xtermie oczywiście nie działa). cons.saver na
jądrach < 1.1.67 robił trzecią metodą, nie uwzględniającą kolorów
ani rozszerzonych znaków (odczyt tym samym ioctlem, a zapis... normalnie
wyrzucając znaki na stdout).
A właśnie - jeśli '\33[?47h' i '\33[?47h' w rxvt jest jakieś bardziej
oficjalne, to można by dodać to do cons.savera mc. Tyle tylko, że nie wiem
jak sprawdzać, czy to działa; ostatecznie warunkiem może być $TERM==xterm.
W ogólnym przypadku się nie da. Każdy terminal może działać według
własnych zasad i nie implementować niczego podobnego do odtwarzania
całej zawartości ekranu.
--
__("< Marcin Kowalczyk * qrczak w knm.org.pl http://qrczak.home.ml.org/
\__/ GCS/M d- s+:-- a21 C+++>+++$ UL++>++++$ P+++ L++>++++$ E->++
^^ W++ N+++ o? K? w(---) O? M- V? PS-- PE++ Y? PGP->+ t
QRCZAK 5? X- R tv-- b+>++ DI D- G+ e>++++ h! r--%>++ y-
Więcej informacji o liście dyskusyjnej pld-devel-pl