
                     Eksperymentalny Klient Gadu-Gadu

          (C) Copyright 2001-2002 Autorzy (pena lista poniej)

LICENCJA

    Program jest udostpniony na zasadach licencji GPL v2, ktrej tre
    zaczono w pliku src/COPYING. Bibliotek libgadu obsugujca
    warstw sieciow udostpniono na zasadach licencji LGPL v2.1,
    ktrej tre znajduje si w pliku lib/COPYING.
    
    Program i biblioteka zostay napisane na podstawie informacji
    uzyskanych przez badanie pakietw wysyanych midzy klientem
    a serwerem oraz od osb trzecich. Autorzy nie disasemblowali,
    ani nie dekompilowali oryginalnego klienta. Projekt powsta przy
    uyciu darmowych i wolnodostpnych narzdzi.

    Gadu-Gadu jest zastrzeonym znakiem towarowym sms-express sp. z o.o.

INSTALACJA

    Rozpakowa poleceniem ,,tar zxvf ekg-XXXXYYZZ.tar.gz'' (gdzie
    XXXXYYZZ to wersja snapshotu), wej do utworzonego katalogu.
    Jeli mamy uprawnienia administratora na danej maszynie, wywoujemy
    ,,./configure'', potem ,,make'' i z prawami roota ,,make install''.
    Jeli chcemy zainstalowa program w katalogu domowym, do polecenia
    configure dodajemy parametr ,,--prefix=$HOME/ekg''. Po zainstalowaniu
    w ten sposb, program gotowy do uruchomienia bdzie znajdowa si
    w katalogu ekg/bin w katalogu domowym.

    Proste? Proste. Po pierwszym uruchomieniu ekg powie, jak go
    skonfigurowa.

    Program domylnie korzysta z biblioteki readline, wic odpowiednie
    pakiety zawierajce j, oraz pliki nagwkowe, powinny by
    zainstalowane. readline zwykle polega te na innych bibliotekach do
    obsugi terminala, jak np. libtermcap czy ncurses. Jeli chcesz uy
    alternatywnego interfejsu opartego o ncurses, podobnego do klientw
    ircowych do polecenia configure dodaj ,,--enable-ui-ncurses''. Oczywicie
    niezbdny jest te zestaw narzdzi do kompilacji programw napisanych
    w jzyku C -- kompilator, preprocesor, linker, pliki nagwkowe,
    biblioteki systemowe itd. Jeli skrypt ./configure zgosi jakie
    bdy, skontaktuj si ze swoim administratorem.

    ekg powinien dziaa na wikszoci systemw un*xowych, jak Linux,
    *BSD, SunOS, IRIX itp. lecz czasami przy dodawaniu nowych funkcji
    nie sposb sprawdzi ich zachowania na wszystkich popularnych
    systemach. W takim wypadku przydatne s informacje o bdach z
    dokadnym wskazaniem systemu i architektury.

UYCIE

    Jest na tyle intuicyjne, e nie powinno sprawi problemw (wszyscy
    betatesterzy poradzili sobie bez jakiejkolwiek dokumentacji).
    Interfejs jest podobny do ircii. Dopenianie tabem jest dostpne w
    wikszoci komend. Komendy mona wywoywa skrtami, o ile s one
    jednoznaczne. Wysyanie wiadomoci komend ,,msg'', rozmowa komend
    ,,chat''. Informacje o ludziach ,,find <numer/nick>''. Szukanie t
    sam komend, ale z rnymi parametrami. ,,help'' Twoim przyjacielem.
    Jeli dana komenda ma rne opcje, pomaga ,,help <komenda>''. By
    wysa kilkulinijkow wiadomo w interfejsie readline, zamiast
    treci wpisz ,,\'' (backslash). Koczy si lini z sam kropk,
    anuluje Ctrl-D. W interfejscie ncurses uywa si Ctrl-Enter
    (szczegy poniej, w rodziale ,,KLAWIATURA'').

    Jeli dana komenda przyjmuje ,,--parametr'' mona uy rwnie
    skrtu ,,-p'', jeli nie powoduje to niejednoznacznoci. Uwaga!
    Brana pod uwag jest zwykle pierwsza litera, wic jeli wpiszesz
    ,,list --gone'', ekg potraktuje to jako ,,list --get''.

    Komendy mona wysya take przez potok. By go uaktywni, naley
    uruchomi ekg z parametrem ,,-c'' i ciek potoku. Ze wzgldu na
    specyfik potokw, wyniki polece wysyane bd na terminal na ktrym
    jest uruchomione ekg (tak jak normalnie). Pisa do potoku mona tak
    jak do normalnego pliku (choby zwykym echem).

    Jeli w linii polece shella podasz po nazwie programu i parametrach
    zaczynajcych si od mylnika co jeszcze, to zostanie to zinterpretowane
    jako komenda wsadowa. ekg wykona tylko t komend, i od razu wyjdzie.
    Jeli na serwerze GG czekaj na Ciebie jakie wiadomoci to serwer je
    przyle zaraz po poczeniu i w trybie wsadowym ekg wypisze je na
    terminal. Jeli wic zamierzasz przekierowa wyjcie do /dev/null i nie
    masz loga z wiadomoci to licz si z tym, e mog one zgin bezpowrotnie.

KLAWIATURA

    Jeli nie masz dowiadczenia w obsugiwaniu programw z emacsow
    filozofi obsugi klawiatury, oto lista obsugiwanych klawiszy:

	Up, Down		przegldanie historii polece
	Left, Right		poruszanie si po aktualnej linii
        Ctrl-A, Home		id pocztek linii
        Ctrl-D, Delete		usu znak pod kursorem, wyjd z query
        Ctrl-H, Backspace	usu znak przed kursorem
        Ctrl-I, Tab		dopenianie
        Ctrl-L			czyszczenie/odwieanie ekranu
        Ctrl-M, Enter		zatwierdzenie linii
        Ctrl-Q			odblokowanie terminala
        Ctrl-S			zablokowanie terminala
        Ctrl-U			usunicie aktualnej linii
        Ctrl-W			usunicie sowa przed kursorem
        Ctrl-Y			wklejenie ostatnio usunitego bloku
        Ctrl-Z			przeniesienie programu w to
	Alt-cyfra		przeczenie do podanego okna
	F1			pomoc
	F2			krtka lista dostpnych i zajtych
	F12			wczenie lub wyczenie trybu debugowania

    Lista ta obejmuje klawisze obsugiwane przed interfejs readline
    i ncurses, i nie zawiera kombinacji specyficznych dla tego pierwszego.
    
    Interfejs readline obsuguje rwnie inne kombinacje klawiszy. Dokadna
    lista znajduje si w stronie manuala ,,readline'' w rozdziale ,,DEFAULT
    KEY BINDINGS''.

    Interfejs ncurses obsuguje kilka dodatkowych kombinacji:

	Page Up, Page Down	przewijanie ekranu
        Alt-N			utwrz nowe okno
	Alt-K			zamknij aktualne okno
	Ctrl-Fn			przecza do podanego okna (konsola FreeBSD)
	Ctrl-Enter		przejcie do trybu wielolinijkowego

    Po wejciu do trybu wielolinijkowego poruszamy si za pomoc kursorw
    i zatwierdzamy ponownym wciniciem Ctrl-Enter. By anulowa wciskamy
    Esc i czemy chwil. Jeli kombinacja ta nie jest obsugiwana przez
    terminal, mona uywa Alt-Enter lub wcisn Esc i zaraz po nim Enter.

    Dodatkowo, okrelonym kombinacjom klawiszy mona przypisa rne
    komendy za pomoc polecenia ,,bind''.

GDZIE SZUKA POMOCY

    Dobra rada numer jeden: zanim zaczniesz narzeka, e czego nie ma,
    przeczytaj plik TODO.

    Dobra rada numer dwa: plik ULOTKA mwi, co znajduje si w ktrym pliku
    dokumentacji.

    Dobra rada numer trzy: zanim zaczniesz narzeka, e czego nie ma,
    poszukaj w pliku ChangeLog.

    Dobra rada numer cztery: jeli jeste nowym uytkownikiem, nie pytaj
    si, czy co da si zrobi, albo e przydaoby si. Program jest
    rozwijany od ponad roku, wielu ludzi korzysta z niego na co dzie,
    wic wikszo ,,bajerw'', o ktrych moesz pomyle, na pewno jest
    ju w programie. Przejrzyj list zmiennych, 

WYSYANIE SMSW

    ekg korzysta z zewntrznego programu do wysyania smsw. Nie ma
    najmniejszego sensu dublowania tej funkcji, skoro i tak wikszo
    ma ju zainstalowane odpowiednie skrypty/programy/cokolwiek.
    Wystarczy poda ciek do takiego programu w zmiennej
    ,,sms_send_app''. Powinien przyjmowa numer telefonu za pierwszy
    parametr i wiadomo za drugi. Ten ze strony http://ceti.pl/~miki/
    spenia podane wymagania.

ZNANE PROBLEMY

    Jeli nie moesz wpisywa polskich liter w interfejsie readline,
    dopisz do pliku /etc/inputrc lub ~/.inputrc nastpujce linie:

	set meta-flag on
	set convert-meta off
	set output-meta on

ROZPOZNAWANIE PCI

    Krtka wersja: Jeli ekg le rozpoznaje pe, wpisz imi do listy
    kontaktw. W wikszoci przypadkw pomoe. No tak, nie masz pojcia,
    jak to zrobi? ,,list pseudonim -f imi''. Pomogo? wietnie. Nie
    pomogo? Czytaj dalej.

    Duga wersja: Jedn z najbardziej kontrowersyjnych cech programu jest
    automatyczne rozpoznawanie pci na podstawie ostatniej litery imienia
    lub gdy jest ono nieznane, pseudonimu. Gdy ostatni liter jest ,,a'',
    ekg uznaje, e dana osoba jest kobiet. Na przykad, jeli Twj znajomy
    ma pseudonim ,,Kuba'', wpisz do listy kontaktw imi ,,Jakub''.
    Problemy mog wystpi z rzadko spotykanymi imionami typu Barnaba
    czy Mercedes. W takim wypadku naley do imienia dopisa (chociaby
    po ukoniku lub w nawiasie) liter ,,a'' dla kobiet lub inn ni
    ,,a'' dla mczyzn.

ZGASZANIE BDW

    Prosz, nie przysyajcie informacji, e mona by doda co, co jest
    ju wymienione w TODO. Nie przysyajcie informacji, e jest jaki
    bd, jeli poprawka jest wymieniona w TODO. Nie przysyajcie
    informacji o ostrzeeniach przy kompilacji -- dopiero jeli nie chce
    si w ogle skompilowa, dajcie zna. Zaznaczcie, co to za system,
    jaka dystrybucja, jaka wersja. Jeli bd jest powtarzalny i zwizany
    z sieci, prosibym o to, co wyrzuca ekg uruchomione z opcj ,,-d''.
    Jeli segfaultuje i zrzuca core, prosibym o podesanie tego, co
    pokae ,,gdb ekg core'' (gwnie chodzi o lini, w ktrej wystpi
    bd), a nastpnie ,,bt''. Informacj o bdzie prosz przesya
    na list ekg-users (szczegy niej), poniewa w ten sposb dostan
    j inni developerzy. Dziki temu jest szansa, e zostanie poprawione
    wczeniej.

RDA

    Snapshoty kodu s dostpne pod adresem http://dev.null.pl/ekg/.
    Jeli nie wystpi adne trzsienie ziemi, brak prdu ani barykady na
    drogach, powinny by robione co 24 godziny, wieczorem.

    Cz jest adnie udokumentowana, cz nie. Komentarze czasami s
    bardzo gupie, ale jeli si do trzeciej rano siedzi nad dziwnym
    segfaultem, ciko si pohamowa. Jeli napiszesz jakiegokolwiek
    klienta, frontend czy co takiego, bybym wdziczny za informacje
    o nim. Chtnie umieszcz odnoniki do innych tego typu projektw
    na stronie.

LISTA DYSKUSYJNA

    Istnieje lista dyskusyjna dla uytkownikw EKG o adresie 
    ekg-users@list.ziew.org. Aby si zapisa naley wej na 
    strone o adresie:
	    
	http://list.ziew.org/mailman/listinfo/ekg-users
	
    oraz postpowac wedug instrukcji tam zawartych.
    
AUTORZY

    Wymienieni ludzie mieli mniejszy lub wikszy wpyw na rozwj biblioteki
    i klienta. Niektrzy pisali kod, pomagali analizowa protok, testowali
    na rnych systemach, inni podsyali patche i bugreporty. Jeli kto
    zosta pominity, niech da zna. W kadym razie za to, jak wyglda ekg
    odpowiedzialni s (w porzdku alfabetycznym):

	Marek Antoniak <kfazi@kfazi.polnet.trzepak.pl>
	Wojciech Bojdo <wojboj@htcon.pl>
	Tomasz Chiliski <chilek@chilan.com>
	Marcin Chojnowski <martii@obgyn.edu.pl>
	Micha Dorociski <zwierzak@venus.ci.uw.edu.pl>
	Tomasz Dudzisz <eileen@ds1.agh.edu.pl>
	Piotr Figiel <feeg@psychodelic.org>
	Rafa Florek <raf@regionet.regionet.pl>
	Artur Gawryszczak <gawrysz@camk.edu.pl>
	Stanisaw Gurgacz <fig@pd21.tarnobrzeg.sdi.tpnet.pl>
	Darek Jackowski <ascent@home.pl>
	Dawid Jarosz <D.Jarosz@elka.pw.edu.pl>
	Tomasz Jarzynka <tomee@cpi.pl>
	Kuba Jermak <kooba@irc.pl>
	Jarosaw Kamper <jack@jack.eu.org>
	Asia Kaniewska <kj_asia@wp.pl>
	Wojtek Kaniewski <wojtekka@irc.pl>
	Maciej Korze <maciekk@linux.sky.pl>
	Pawe Kot <pkot@linuxnews.pl>
	Marek Kozina <klith@irc.pl>
	Adam Kruszewski <phantom@linux.bydg.org>
	Adam Ludwikowski <adam.ludwikowski@wp.pl>
	Jakub Martyski <jakub@ceto.pl>
	Pawe Maziarz <drg@go2.pl>
	Marcin Mikua <meecash@meecash.prv.pl>
	Arkadiusz Mikiewicz <misiek@pld.org.pl>
	Robert Osowiecki <magic.robson@rassun.art.pl>
	Adam Osuchowski <adwol@polsl.gliwice.pl>
	Maurycy Pawowski <maurycy@kocham.cie.gov.pl>
	Artur Pietruk <arturp@plukwa.net>
	Jacek Pospychaa <tri10o@bsod.org>
	Pawe Pruszkowski <arim@botrm.org>
	Jacek Rembisz <jr178783@zodiac.mimuw.edu.pl>
	Rafal Roszak <rmrmg@wp.pl>
	Krzysztof Skadzie <coxoc@coxoc.org>
	Rafa Skoczylas <nils@secprog.org>
	Walerian Sokoowski <ws171913@yahoo.com>
	Piotr Stolc <socrtp@sedez.iq.pl>
	Tomasz Torcz <zdzichu@irc.pl>
	Leszek Urbaski <tygrys@moo.pl>
	Robert J. Wony <speedy@ziew.org>
	Krzysztof Wjtowicz <misiolek@misiolki.prv.pl>
	Piotr Wysocki <wysek@tower.braxis.co.uk>
	 
$Id: README,v 1.6 2002/09/28 00:13:00 chilek Exp $
