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.
(Continue reading)

Michał Górny | 2 Feb 13:02
Picon
Favicon
Gravatar

Re: ncurses-online-redraw

On Thu, 2 Feb 2012 12:48:34 +0100
Wiesław Ochmiński <wiechu <at> wiechu.com> wrote:

> 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
> 
(Continue reading)

Re: ncurses-online-redraw

On Thu, Feb 02, 2012 at 01:02:31PM +0100, Michał Górny wrote:
> On Thu, 2 Feb 2012 12:48:34 +0100
> Wiesław Ochmiński <wiechu <at> wiechu.com> wrote:
> 
[...]
> > ncurses:display_mode = 1 (mode1) -- (jak to nazwać?)
> > 
[...]
> > 
> > ncurses:display_mode = 1 (mode2) -- (jak to nazwać?
> 
> Że się tak wyrażę niezrozumiale i skomplikowanie:
> 
> <stdin>:13:8: error: duplicate case value '1'
>                 case mode2:
>                      ^
> <stdin>:11:8: note: previous case defined here
>                 case mode1:
>                      ^
Mój algorytm: 1) napisz; 2) wyślij; 3) sprawdź;
okazał się zawodny.
Dzięki za zwrócenie uwagi.

Pozdrawiam,
    wiechu

Marcin Owsiany | 18 Feb 16:06
Picon
Favicon

Re: ncurses-online-redraw

On Thu, Feb 02, 2012 at 12:48:34PM +0100, Wiesław Ochmiński wrote:
> 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.

"display_mode" brzmi dość ogólnie i mało konkretnie. Proponowałbym
raczej coś w stylu "indent_lines" albo "display_indent", z wartościami
odpowiednio:

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

0 = multiple_timestamp

> 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
(Continue reading)


Gmane