ncurses-online-redraw

Kłaniam!

Przerobiłem sposób wyświetlania w ncurses i zrobiłem to w osobnej gałęzi, bo
to kontrrewolucja, a nie drobne zmiany:
   - wywaliłem 'struct screen_line' i wszystko co z tym było związane
   - w związku z tym zawartość okien nie jest przeliczana na zapas, a tylko
     przy wyświetlaniu danego okna

Tak więc przy pokazaniu lub ukryciu okna kontaktów nie musimy przeliczać
10000 linii okna debug, do którego i tak nie zaglądaliśmy i nie mamy zamiaru
robić tego w przewidywalnej przyszłości.

Wprowadziłem też zmienną 'ncurses:display_mode', która odpowiada za styl
wyświetlania zawartości okien.

ncurses:display_mode = 0 (classic) -- wszystko tak jak dotychczas.

ncurses:display_mode = 1 (mode1) -- (jak to nazwać?)

12:43:50 Długie linie wyświetlane są w ten sposób, że w timestamp jest
wyświetlany tylko w pierwszej linii, a w kolejnych już nie. Wyjątek stanowią
linie, które mają 'prompt', jak ta następna.
12:45:20 ::: Długa linia z promptem też nie powtarza timestampu w kolejnych
         ::: wierszach, ale prompt jest wyrównany do tego z pierwszej linii

ncurses:display_mode = 1 (mode2) -- (jak to nazwać?

12:46:18 Przy takim ustawieniu timestamp jest również wyświetlany wyłącznie w
         pierwszej linii, ale linie są wyrównane. W tym przypadku nie ma
	 żadnego wyjątku dla linii z promptem.

Zapraszam do testów, najlepiej z ustawionym 
ncurses:backlog_scroll_half_page = 0 (off), bo przewijanie o pół strony, to
żadna sztuka. W wolnej chwili poprawię przewijanie stron, na których znajduje
się znacznik (/mark), bo to i dotychczas nie działało zbyt dobrze (eufemizm).

Po uzupełnieniu dokumentacji będę chciał to włączyć do master.

Proszę o opinie.

Pozdrawiam,
    wiechu


Gmane