zmena velikosti kurzoru na konzole nefunguje v Suse 7.x

Petr Olivka petr.olivka na vsb.cz
Úterý Červen 18 08:42:42 CEST 2002


Dekuji za odpoved.

>    >    curs_set( 2 ); // large
>    >    getchar();
> 
> Ne - 2 znamená visible. Což se může lišit terminál od terminálu. Co ve

2 znamena "very visible", cili neco vice nez normal.

> 
> Funguje znamená opravdu velký kurzor? Potom je v těchto distribucích chyba
> buď v definici použitého terminálu nebo v ncurses.

Prosel jsem si podrobne zdrojove texty ncurses a kernelu a mam vypsane 
nastaveni sveho terminalu. Nemyslim si, ze by vsak melo jit o chybu 
(viz. zdrojak terminfo), naopak to vypada na nejakou divnou upravu v 
instalaci Suse.

Z nastaveni terminalu jsou zajimave asi jen 3 hodnoty:
civis=\E[?25l\E[?1c
cnorm=\E[?25h\E[?0c
cvvis=\E[?25h\E[?8c
Tyhle definice jsou i primo ve zdrojaku terminfo v distribuci ncurses 
5.0 i 5.2.

Ncurses pouziva pro nastaveni kurzoru {0,1,2} presne tyto hodnoty v 
uvedenem poradi.

V kernelu je podpora pro kurzor typu <0-6>, je to v console_struct.h. No 
a pokud je hodnota mimo tento rozsah, tak ve vgacon.c se nastavi kurzor 
velikosti aktualniho fontu. A to je presne to co potrebuji 
(resp.potrebujeme) - a to je to cislo "8" pro "very visible" cursor.

Takze nyni uz ze znalosti chovani kernelu a nasich pozadavku si s tim 
snadno poradim.


poli



Další informace o konferenci Linux