Re: [ekg-users] EKG i window resize
No wyglada, ze problem rozwiazali po stronie OpenBSD, wiec wszystko powinno dzialac prawidlowo w ekg bez modifikacji. http://marc.info/?l=openbsd-cvs&m=130359657509976&w=2 Dzieki Adam, za zainteresowanie i pomoc. -- best regards q#
Re: [ekg-users] EKG i window resize
On Sat, 23 Apr 2011, Mikolaj Kucharski wrote: > Nie, to nie pomaga, poniewaz problem jest wewnatarz ncrurses. Za to > ponizszy kod dziala prawidlowo. No tak, LINES to tylko zmienna (myślałem że jakaś makrodefinicja, wołająca właśnie ioctla - nie wiem skąd mi się to wzięło). > Jednak poczekam na deweloperow OpenBSD co oni zaproponuja. Jak nic nie zaproponują to daj znać, dodam tego ioctla do ekg. > Moze zajze do mutt'a i irssi jak tam rozwiazany jest resize okna. W irssi w src/fe-text/term.c jest term_get_size() które woła ioctla jeżeli w sygnale WINCH zostanie ustawiona flaga. > + if (ioctl(STDOUT_FILENO, TIOCGWINSZ, &w) != -1) Zmieniłbym na: if (ioctl(STDOUT_FILENO, TIOCGWINSZ, &w) != -1 && w.ws_row != 0 && w.ws_col != 0) irssi sprawdza ten warunek inaczej (dowolna musi być niezerowa, a nie obie), ale nie wyobrażam sobie prawidłowego działania jeżeli którakolwiek z tych wartości byłaby zerowa... -- gof
Re: [ekg-users] EKG i window resize
On Sat, Apr 23, 2011 at 12:20:54AM +0200, Adam Wysocki wrote: > Spróbuj w ui-ncurses.c w ui_ncurses_loop w miejscu: > > if (ui_need_refresh) { > ui_need_refresh = 0; > endwin(); > refresh(); > keypad(input, TRUE); > /* wywoła wszystko, co potrzebne */ > header_statusbar_resize(NULL); > changed_backlog_size("backlog_size"); > > goto redraw_prompt; > } > > Po endwin a przed refresh dodać: > > resizeterm(LINES, COLS); > > Nie wiem czy pomoże, ale warto spróbować. Nie, to nie pomaga, poniewaz problem jest wewnatarz ncrurses. Za to ponizszy kod dziala prawidlowo. Jednak poczekam na deweloperow OpenBSD co oni zaproponuja. Moze zajze do mutt'a i irssi jak tam rozwiazany jest resize okna. --- src/ui-ncurses.c.orig Mon Apr 18 21:00:09 2011 +++ src/ui-ncurses.cSat Apr 23 00:51:33 2011 @@ -58,6 +58,7 @@ #ifndef HAVE_SCANDIR # include "../compat/scandir.h" #endif +#include #include #include #include @@ -4734,6 +4738,8 @@ static void spellcheck(const char *line, char *checked */ static void ui_ncurses_loop() { + struct winsize w; + line = xmalloc(LINE_MAXLEN); #ifdef WITH_ASPELL aspell_line = xmalloc(LINE_MAXLEN); @@ -4750,6 +4756,8 @@ static void ui_ncurses_loop() if (ui_need_refresh) { ui_need_refresh = 0; endwin(); + if (ioctl(STDOUT_FILENO, TIOCGWINSZ, &w) != -1) + resizeterm(w.ws_row, w.ws_col); refresh(); keypad(input, TRUE); /* wywoła wszystko, co potrzebne */ -- best regards q#
Re: [ekg-users] EKG i window resize
On Fri, 22 Apr 2011, Mikolaj Kucharski wrote: > > Irssi, mutt (with-curses, without-slang) nie ma tego problemu jak ekg. > > Spoko, bede kombinowal. Dzieki za pomoc. > > Problem z ncurses pod OpenBSD. Na chwile obecna brak rozwiazania. Jak > ktos ciekaw. Spróbuj w ui-ncurses.c w ui_ncurses_loop w miejscu: if (ui_need_refresh) { ui_need_refresh = 0; endwin(); refresh(); keypad(input, TRUE); /* wywoła wszystko, co potrzebne */ header_statusbar_resize(NULL); changed_backlog_size("backlog_size"); goto redraw_prompt; } Po endwin a przed refresh dodać: resizeterm(LINES, COLS); Nie wiem czy pomoże, ale warto spróbować. -- gof
Re: [ekg-users] EKG i window resize
On Tue, Apr 19, 2011 at 09:07:01PM +0100, Mikolaj Kucharski wrote: > On Tue, Apr 19, 2011 at 07:45:12PM +0200, Adam Wysocki wrote: > > On Tue, 19 Apr 2011, Mikolaj Kucharski wrote: > > > > > Nic sie nie dzieje, ekg nie zmienia rozmaru okna (ekg-20110418). > > > > Prawdę mówiąc skończyły mi się pomysły. Czy irssi lub inne programy oparte > > na ncurses zachowują się tak samo? > > Irssi, mutt (with-curses, without-slang) nie ma tego problemu jak ekg. > Spoko, bede kombinowal. Dzieki za pomoc. Problem z ncurses pod OpenBSD. Na chwile obecna brak rozwiazania. Jak ktos ciekaw. http://marc.info/?t=13035003512&r=1&w=2 Pozdr. -- best regards q#
Re: [ekg-users] EKG i window resize
On Tue, Apr 19, 2011 at 07:45:12PM +0200, Adam Wysocki wrote: > On Tue, 19 Apr 2011, Mikolaj Kucharski wrote: > > > Nic sie nie dzieje, ekg nie zmienia rozmaru okna (ekg-20110418). > > Prawdę mówiąc skończyły mi się pomysły. Czy irssi lub inne programy oparte > na ncurses zachowują się tak samo? Irssi, mutt (with-curses, without-slang) nie ma tego problemu jak ekg. Spoko, bede kombinowal. Dzieki za pomoc. -- best regards q#
Re: [ekg-users] EKG i window resize
Ja tylko dodam, iż na menadżerze okien "awesome" + gauke (drop-down terminal) mam podobnie. Czasami jak "pokaze" sobie terminal, to mam jakieś bugi podobne do tych ze screenshotów pokazanych wcześniej. Problem polega na tym, iż Awesome za każdym razem robi zmianę wielkości okna. Do tego czasami na chama okno rozmowy przesuwa na samą górę (przez co zamiast widzieć wiadomość najnowszą, widzę najstarsze). Pewnie ta informacja nic nie pomoże, ale skoro kończą się pomysły, to może i ta informacja pomoże. Acz, to może być zupełnie inny problem. Dodatkowe info: u mnie irssi się tak nie psuje. -- Pozdrawiam Dominik "Socek" Długajczyk
Re: [ekg-users] EKG i window resize
On Tue, 19 Apr 2011, Mikolaj Kucharski wrote: > Nic sie nie dzieje, ekg nie zmienia rozmaru okna (ekg-20110418). Prawdę mówiąc skończyły mi się pomysły. Czy irssi lub inne programy oparte na ncurses zachowują się tak samo? -- gof
Re: [ekg-users] EKG i window resize
On Tue, Apr 19, 2011 at 07:13:03PM +0200, Adam Wysocki wrote: > On Tue, 19 Apr 2011, Mikolaj Kucharski wrote: > > > 19:02 ::: EKG - Eksperymentalny Klient Gadu-Gadu (20110418) > > 19:02 ::: libgadu-20110418 (protokol 0x2e, klient 10.1.0.11070) > > 19:02 ::: skompilowano: Apr 19 2011 18:00:17 > > > > E-e, to samo, problem nadal wystepuje podczas zmiany rozmiaru okna. > > Czy polecenie /_resize powoduje wtedy zmianę rozmiaru okna? Nie. Nic sie nie dzieje. > W ui_ncurses.c w funkcji ui_ncurses_loop jest taki if: > > if (ui_need_refresh) { > ui_need_refresh = 0; > endwin(); > refresh(); > keypad(input, TRUE); > /* wywoła wszystko, co potrzebne */ > header_statusbar_resize(NULL); > changed_backlog_size("backlog_size"); > > goto redraw_prompt; > } > > Dodaj przed goto: > > gg_debug(GG_DEBUG_MISC, "// refresh\n"); Najpierw zmienilem rozmiar okna 4 razy. Nastepnie wykonalem pare razy samo /_resize z wiersza polecen: 19:33 // SIGWINCH 19:33 // refresh 19:33 // SIGWINCH 19:33 // refresh 19:33 // SIGWINCH 19:33 // refresh 19:33 // SIGWINCH 19:33 // refresh 19:33 // refresh 19:33 // refresh 19:33 // refresh Nic sie nie dzieje, ekg nie zmienia rozmaru okna (ekg-20110418). --- src/ui-ncurses.c.orig Mon Apr 18 21:00:09 2011 +++ src/ui-ncurses.cTue Apr 19 18:31:31 2011 @@ -2408,8 +2408,11 @@ static void update_statusbar(int commit) #ifdef SIGWINCH static void sigwinch_handler(int sig) { + gg_debug(GG_DEBUG_MISC, "// SIGWINCH\n"); ui_need_refresh = 1; } +#else +#error Brak SIGWINCH #endif void save_windows() @@ -4756,6 +4759,7 @@ static void ui_ncurses_loop() header_statusbar_resize(NULL); changed_backlog_size("backlog_size"); + gg_debug(GG_DEBUG_MISC, "// refresh\n"); goto redraw_prompt; } -- best regards q#
Re: [ekg-users] EKG i window resize
On Tue, 19 Apr 2011, Mikolaj Kucharski wrote: > 19:02 ::: EKG - Eksperymentalny Klient Gadu-Gadu (20110418) > 19:02 ::: libgadu-20110418 (protokol 0x2e, klient 10.1.0.11070) > 19:02 ::: skompilowano: Apr 19 2011 18:00:17 > > E-e, to samo, problem nadal wystepuje podczas zmiany rozmiaru okna. Czy polecenie /_resize powoduje wtedy zmianę rozmiaru okna? W ui_ncurses.c w funkcji ui_ncurses_loop jest taki if: if (ui_need_refresh) { ui_need_refresh = 0; endwin(); refresh(); keypad(input, TRUE); /* wywoła wszystko, co potrzebne */ header_statusbar_resize(NULL); changed_backlog_size("backlog_size"); goto redraw_prompt; } Dodaj przed goto: gg_debug(GG_DEBUG_MISC, "// refresh\n"); -- gof
Re: [ekg-users] EKG i window resize
On Tue, Apr 19, 2011 at 05:48:02PM +0200, Adam Wysocki wrote: > On Tue, 19 Apr 2011, Mikolaj Kucharski wrote: > > > > > http://www1.kucharski.name/pub/ekg/ekg-1.7p0.log > > > > > > 1.7... a w wersji z svn też problem występuje? > > > > Czy stad moge sprobowac? > > > > http://ekg.chmurka.net/ekg-20110418.tar.gz > > Tak 19:02 ::: EKG - Eksperymentalny Klient Gadu-Gadu (20110418) 19:02 ::: libgadu-20110418 (protokol 0x2e, klient 10.1.0.11070) 19:02 ::: skompilowano: Apr 19 2011 18:00:17 E-e, to samo, problem nadal wystepuje podczas zmiany rozmiaru okna. -- best regards q#
Re: [ekg-users] EKG i window resize
On Tue, 19 Apr 2011, Mikolaj Kucharski wrote: > > > http://www1.kucharski.name/pub/ekg/ekg-1.7p0.log > > > > 1.7... a w wersji z svn też problem występuje? > > Czy stad moge sprobowac? > > http://ekg.chmurka.net/ekg-20110418.tar.gz Tak -- gof
Re: [ekg-users] EKG i window resize
On Tue, Apr 19, 2011 at 05:22:55PM +0200, Adam Wysocki wrote: > On Tue, 19 Apr 2011, Mikolaj Kucharski wrote: > > > http://www1.kucharski.name/pub/ekg/ekg-1.7p0.log > > 1.7... a w wersji z svn też problem występuje? Czy stad moge sprobowac? http://ekg.chmurka.net/ekg-20110418.tar.gz -- best regards q#
Re: [ekg-users] EKG i window resize
On Tue, 19 Apr 2011, Mikolaj Kucharski wrote: > http://www1.kucharski.name/pub/ekg/ekg-1.7p0.log 1.7... a w wersji z svn też problem występuje? -- gof
Re: [ekg-users] EKG i window resize
On Tue, Apr 19, 2011 at 02:57:18PM +0100, Mikolaj Kucharski wrote: > On Tue, Apr 19, 2011 at 03:14:34PM +0200, Adam Wysocki wrote: > > To pomoże się zorientować czy SIGWINCH w ogóle jest zdefiniowany > > i czy handler jest wołany (powinno być w debugu - F12 w ekg). > > $ pkill -WINCH ekg; echo $? > 0 > > w ekg widac: > > 15:51 // SIGWINCH > Oczywiscie jak zmieniam rozmiar okna to SIGWINCH tez sie loguje na debugowej konsoli w ekg. A tutaj patch, zeby bylo jasne co zrobilem: @@ -2097,8 +2097,11 @@ static void update_statusbar(int commit) #ifdef SIGWINCH static void sigwinch_handler(int sig) { + gg_debug(GG_DEBUG_MISC, "// SIGWINCH\n"); ui_need_refresh = 1; } +#else +#error Brak SIGWINCH #endif void save_windows() -- best regards q#
Re: [ekg-users] EKG i window resize
On Tue, Apr 19, 2011 at 03:14:34PM +0200, Adam Wysocki wrote: > To pomoże się zorientować czy SIGWINCH w ogóle jest zdefiniowany > i czy handler jest wołany (powinno być w debugu - F12 w ekg). $ pkill -WINCH ekg; echo $? 0 w ekg widac: 15:51 // SIGWINCH Build log: http://www1.kucharski.name/pub/ekg/ekg-1.7p0.log -- best regards q#
Re: [ekg-users] EKG i window resize
On Tue, 19 Apr 2011, Mikolaj Kucharski wrote: > Nie pomaga. Nic sie nie dzieje z ekg po otrzymaniu sygnalu. > > $ pkill -WINCH ekg; echo $? > 0 Znajdź w ui-ncurses.c miejsce: #ifdef SIGWINCH static void sigwinch_handler(int sig) { ui_need_refresh = 1; } #endif i zmień na: #ifdef SIGWINCH static void sigwinch_handler(int sig) { gg_debug(GG_DEBUG_MISC, "// SIGWINCH\n"); ui_need_refresh = 1; } #else #error Brak SIGWINCH #endif To pomoże się zorientować czy SIGWINCH w ogóle jest zdefiniowany i czy handler jest wołany (powinno być w debugu - F12 w ekg). -- gof
Re: [ekg-users] EKG i window resize
On Tue, Apr 19, 2011 at 02:46:15PM +0200, kfahoo wrote: > > W dniu 19 kwietnia 2011 14:41 użytkownik Adam Wysocki <[1]go...@supermedia.pl> > napisał: > > On Tue, 19 Apr 2011, Mikolaj Kucharski wrote: > > CTRL + L to repaint screena, a w tym nie problem. PuTTY odpalony jest w > > rozmarze 80x24 (pierwszy screenshot). Przy kazdej zmianie okna wszystko > > sie wyswietla bez 'krzakow', lecz ekg nie aktualizuje zmiany okna. > > Jezeli zmienie rozmiar okna przy odpalonym ekg, nastapnie wyjde z ekg i > > uruchomie je na nowo, nowy rozmiar jest zinterpretowany poprawnie. Poki > > nie zmienie rozmiaru okna ponownie... > A wysłanie sygnału SIGWINCH do ekg pomaga? Nie pomaga. Nic sie nie dzieje z ekg po otrzymaniu sygnalu. $ pkill -WINCH ekg; echo $? 0 > Czy bez odpalonego screena problem też występuje? Tak jak napisalem w moim pierwszym majlu, problem wystepuje w (golym) puttym, w screenie i w tmuxie. > a czy przypadkiem nie odpalasz screen -x? Nie. -- best regards q#
Re: [ekg-users] EKG i window resize
W dniu 19 kwietnia 2011 14:41 użytkownik Adam Wysocki napisał: > On Tue, 19 Apr 2011, Mikolaj Kucharski wrote: > > > CTRL + L to repaint screena, a w tym nie problem. PuTTY odpalony jest w > > rozmarze 80x24 (pierwszy screenshot). Przy kazdej zmianie okna wszystko > > sie wyswietla bez 'krzakow', lecz ekg nie aktualizuje zmiany okna. > > Jezeli zmienie rozmiar okna przy odpalonym ekg, nastapnie wyjde z ekg i > > uruchomie je na nowo, nowy rozmiar jest zinterpretowany poprawnie. Poki > > nie zmienie rozmiaru okna ponownie... > > A wysłanie sygnału SIGWINCH do ekg pomaga? > > Czy bez odpalonego screena problem też występuje? > > -- > gof > a czy przypadkiem nie odpalasz screen -x?
Re: [ekg-users] EKG i window resize
On Tue, 19 Apr 2011, Mikolaj Kucharski wrote: > CTRL + L to repaint screena, a w tym nie problem. PuTTY odpalony jest w > rozmarze 80x24 (pierwszy screenshot). Przy kazdej zmianie okna wszystko > sie wyswietla bez 'krzakow', lecz ekg nie aktualizuje zmiany okna. > Jezeli zmienie rozmiar okna przy odpalonym ekg, nastapnie wyjde z ekg i > uruchomie je na nowo, nowy rozmiar jest zinterpretowany poprawnie. Poki > nie zmienie rozmiaru okna ponownie... A wysłanie sygnału SIGWINCH do ekg pomaga? Czy bez odpalonego screena problem też występuje? -- gof
Re: [ekg-users] EKG i window resize
On Tue, Apr 19, 2011 at 01:04:36PM +0200, Łukasz Gandecki wrote: > W dniu 19 kwietnia 2011 12:18 użytkownik Adam Wysocki > napisał: > > On Tue, 19 Apr 2011, Mikolaj Kucharski wrote: > > > >> Cisza.. nikt nigdy nie spotkal sie z tym problemem? Czy powinienem udac > >> sie na ekg-devel? > > > > Wyślij screenshoty, bo "program nie radzi sobie ze zmianą rozmiaru okna" > > to pojęcie ogólne :) Najlepiej nie na listę, tylko linki do nich. > > screenshoty to jedna sprawa. I oczywiście linki. :) > Próbowałeś ctrl + l w sytuacji jak się coś "krzaczyło"? Powinno > odświeżyć ncurses. CTRL + L to repaint screena, a w tym nie problem. PuTTY odpalony jest w rozmarze 80x24 (pierwszy screenshot). Przy kazdej zmianie okna wszystko sie wyswietla bez 'krzakow', lecz ekg nie aktualizuje zmiany okna. Jezeli zmienie rozmiar okna przy odpalonym ekg, nastapnie wyjde z ekg i uruchomie je na nowo, nowy rozmiar jest zinterpretowany poprawnie. Poki nie zmienie rozmiaru okna ponownie... http://www1.kucharski.name/pub/ekg/ -- best regards q#
Re: [ekg-users] EKG i window resize
W dniu 19 kwietnia 2011 12:18 użytkownik Adam Wysocki napisał: > On Tue, 19 Apr 2011, Mikolaj Kucharski wrote: > >> Cisza.. nikt nigdy nie spotkal sie z tym problemem? Czy powinienem udac >> sie na ekg-devel? > > Wyślij screenshoty, bo "program nie radzi sobie ze zmianą rozmiaru okna" > to pojęcie ogólne :) Najlepiej nie na listę, tylko linki do nich. screenshoty to jedna sprawa. I oczywiście linki. :) Próbowałeś ctrl + l w sytuacji jak się coś "krzaczyło"? Powinno odświeżyć ncurses. -- Pozdrawiam, Łukasz Gandecki 'gozda'
Re: [ekg-users] EKG i window resize
On Tue, 19 Apr 2011, Mikolaj Kucharski wrote: > Cisza.. nikt nigdy nie spotkal sie z tym problemem? Czy powinienem udac > sie na ekg-devel? Wyślij screenshoty, bo "program nie radzi sobie ze zmianą rozmiaru okna" to pojęcie ogólne :) Najlepiej nie na listę, tylko linki do nich. -- gof
Re: [ekg-users] EKG i window resize
Cisza.. nikt nigdy nie spotkal sie z tym problemem? Czy powinienem udac sie na ekg-devel? On Wed, Apr 06, 2011 at 01:01:47AM +0100, Mikolaj Kucharski wrote: > Witam, > > Nie jestem pewien, czy nie powinienem pisac na devel. Uzywam ekg pod > OpenBSD i program nie radzi sobie prawidlowo z zmiana rozmaru okna. > Nie wiem jak to wytlumaczyc, moge wyslac screenshoty, jak ktos chcialby > zerknac. > > - Czy spotkal sie ktos kiedys z tym problemem? > > - Czy wie ktos moze jak podejsc do tematu, zeby tem problem rozwiazac? > > > Problem wystepuje w PuTTY-m, tmux-e i screen-e. > > > EKG - Eksperymentalny Klient Gadu-Gadu (1.7) > libgadu-1.7 (protokol 0x24, klient 6, 1, 0, 158) > skompilowano: Mar 26 2011 19:19:11 > > # ponizsze ustawienie nie wplywa na problem > display_pl_chars = 0 (off) > > # putty > $ echo $TERM > xterm > > # tmux > $ echo $TERM > screen > > # screen > $ echo $TERM > screen > > > $ sysctl -n kern.version > OpenBSD 4.9 (GENERIC.MP) #785: Fri Feb 18 14:16:01 MST 2011 > t...@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC.MP -- best regards q#
[ekg-users] EKG i window resize
Witam, Nie jestem pewien, czy nie powinienem pisac na devel. Uzywam ekg pod OpenBSD i program nie radzi sobie prawidlowo z zmiana rozmaru okna. Nie wiem jak to wytlumaczyc, moge wyslac screenshoty, jak ktos chcialby zerknac. - Czy spotkal sie ktos kiedys z tym problemem? - Czy wie ktos moze jak podejsc do tematu, zeby tem problem rozwiazac? Problem wystepuje w PuTTY-m, tmux-e i screen-e. EKG - Eksperymentalny Klient Gadu-Gadu (1.7) libgadu-1.7 (protokol 0x24, klient 6, 1, 0, 158) skompilowano: Mar 26 2011 19:19:11 # ponizsze ustawienie nie wplywa na problem display_pl_chars = 0 (off) # putty $ echo $TERM xterm # tmux $ echo $TERM screen # screen $ echo $TERM screen $ sysctl -n kern.version OpenBSD 4.9 (GENERIC.MP) #785: Fri Feb 18 14:16:01 MST 2011 t...@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC.MP -- best regards q#