root/trunk/libgadu/README

Revision 592, 17.3 kB (checked in by jajcus, 4 years ago)

- now libgadu is included in the jggtrans source tree, so we don't depend on strange and not-working-well-with-jggtrans libgadu builds in distributions.

Line 
1 This directory contains the libgadu library, part of the EKG GG client (http://dev.null.pl/ekg/)
2 The code was modified for building with jggtrans and with optimal compilation
3 options for use with jggtrans.
4
5 Below is the content of the original README from the EKG code.
6
7 ----------------------------------------------------------------
8
9
10                      Eksperymentalny Klient Gadu-Gadu
11
12           (C) Copyright 2001-2004 Autorzy (pe�na lista poni�ej)
13
14 LICENCJA
15
16     Program jest udost�iony na zasadach licencji GPL v2, kt� tre��   za��czono w pliku src/COPYING. Niekt�pliki mog� by�bj� inn�
17     licencj� zgodn� z GPL v2. Fakt ten jest odnotowany na pocz�tku pliku.
18
19     Wyj�tkiem od licencji GPL v2 jest mo�liwo��ompilacji, konsolidacji
20     i u�ywania programu z bibliotek� OpenSSL autorstwa Projektu OpenSSL
21     (The OpenSSL Project) dost�� pod adresem http://www.openssl.org/
22
23     Bibliotek�ibgadu obs�uguj�ca warstw�ieciow� udost�iono na
24     zasadach licencji LGPL v2.1, kt� tre��najduje si� pliku
25     lib/COPYING.
26
27     Program i biblioteka zosta�y napisane na podstawie informacji
28     uzyskanych przez badanie pakiet�ysy�anych mi�y klientem
29     a serwerem oraz od os�rzecich. Autorzy nie disasemblowali
30     ani nie dekompilowali oryginalnego klienta. Projekt powsta� przy
31     u�yciu darmowych i wolnodost�ych narz�i.
32
33     Gadu-Gadu jest zastrze�onym znakiem towarowym sms-express Sp. z o.o.
34
35 INSTALACJA
36
37     Rozpakowa�oleceniem ,,tar zxvf ekg-XXX.tar.gz'' (gdzie XXX to wersja
38     programu lub data wykonania snapshotu), wej��o utworzonego katalogu.
39     Je�li mamy uprawnienia administratora na danej maszynie, wywo�ujemy
40     ,,./configure'', potem ,,make'' i z prawami roota ,,make install''.
41     Je�li chcemy zainstalowa�rogram w katalogu domowym, do polecenia
42     configure dodajemy parametry ,,--prefix=$HOME/ekg
43     --mandir=$HOME/ekg/share/man''. Po zainstalowaniu w ten spos�    program gotowy do uruchomienia b�ie znajdowa� si� katalogu
44     ekg/bin w katalogu domowym. Je�li chcemy mie�o�liwo���ywania
45     polece�beeps_spk'' i ,,blink_leds'', s�u��cych m.in do
46     manipulowania diodami LED na klawiaturze, nale�y przy uruchomieniu
47     u�y�arametru ,,--enable-ioctld''.
48
49     Proste? Proste. Po pierwszym uruchomieniu ekg powie, jak go
50     skonfigurowa�
51     Program domy�lnie korzysta z biblioteki ncurses, wi�powinny by�   zainstalowane odpowiednie pakiety zawieraj�ce bibliotek�raz pliki
52     nag��we. Je�li chcesz u�y�tarego interfejsu, do polecenia
53     configure dodaj ,,--disable-ui-ncurses''. Interfejs ten wymaga
54     zainstalowania biblioteki readline wraz z plikami nag��wymi.
55     readline zwykle polega te� na innych bibliotekach do obs�ugi
56     terminala, jak np. libtermcap czy ncurses. Instalacja obu interfejs�   naraz nie jest wskazana. Oczywi�cie niezb�y jest te� zestaw narz�i
57     do kompilacji program�apisanych w j�ku C -- kompilator,
58     preprocesor, linker, pliki nag��we, biblioteki systemowe itd.
59     Je�li skrypt ./configure zg�osi jakie� b��, skontaktuj si�e swoim
60     administratorem.
61
62     ekg powinien dzia�a�a wi�zo�ci system�niksowych, jak Linux,
63     *BSD, SunOS, IRIX itp. lecz czasami przy dodawaniu nowych funkcji
64     nie spos�prawdzi�ch zachowania na wszystkich popularnych
65     systemach. W takim wypadku przydatne s� informacje o b��ch z
66     dok�adnym wskazaniem systemu i architektury.
67
68 U�YCIE
69
70     Jest na tyle intuicyjne, �e nie powinno sprawi�roblem�wszyscy
71     betatesterzy poradzili sobie bez jakiejkolwiek dokumentacji).
72     Interfejs jest wzorowany na irssi. Dope�nianie tabem jest dost�e w
73     wi�zo�ci komend. Komendy mo�na wywo�ywa�kr�i, o ile s� one
74     jednoznaczne. Wysy�anie wiadomo�ci komend� ,,msg'', otwarcie okna
75     rozmowy komend� ,,query''. Informacje o rozm�ch ,,find'' w oknie
76     rozmowy. Szukanie t� sam� komend�, ale z r�mi parametrami. ,,help''
77     Twoim przyjacielem. Je�li dana komenda ma r� opcje, pomaga
78     ,,help <komenda>''. By wys�a�ilkulinijkow� wiadomo�� interfejsie
79     ncurses, wci�nij Ctrl-Enter. W readline zamiast tre�ci wpisz ,,\''
80     (backslash) i zako�lini� z sam� kropk� (szczeg�poni�ej, w rodziale
81     ,,KLAWIATURA'').
82
83     Program mo�na skonfigurowa�od wieloma wzgl�mi, a wszystkie mo�liwe
84     ustawienia, kt�zmienia si�oleceniem ,,set'', s� opisane w pliku
85     vars.txt. Pomoc dotycz�c� poszczeg�ch ustawie��na uzyska�ak�e
86     poprzez polecenie ,,help set <zmienna>''.
87
88     Je�li dana komenda przyjmuje ,,--parametr'', mo�na u�y��e�
89     skr�,,-p'', gdy nie powoduje to niejednoznaczno�ci. Uwaga!
90     Brana pod uwag�est zwykle pierwsza litera, wi�je�li chcesz
91     skr� ,,list --gone'' do ,,list -g'', ekg potraktuje to jako
92     ,,list --get''.
93
94     Komendy mo�na wysy�a�ak�e przez potok. By go uaktywni�nale�y
95     uruchomi�kg z parametrem ,,-c'' i �cie�k� potoku. Ze wzgl� na
96     specyfik�otok�wyniki polece�sy�ane b� na terminal, na kt�
97     jest uruchomione ekg (tak jak normalnie). Pisa�o potoku mo�na tak
98     jak do normalnego pliku (cho� poleceniem echo).
99
100     Je�li w linii polece�ella podasz po nazwie programu i parametrach
101     zaczynaj�cych si�d my�lnika co� jeszcze, to zostanie to zinterpretowane
102     jako komenda wsadowa. ekg po��czy si� serwerem, wykona tylko t�omend�   i od razu wyjdzie. Je�li na serwerze czekaj� na Ciebie jakie� wiadomo�ci,
103     to serwer je przy�le zaraz po po��czeniu i w trybie wsadowym ekg wypisze
104     je na terminal. Je�li zamierzasz przekierowa�yj�cie do /dev/null i nie
105     masz w��czonego logowania, wiadomo�ci zgin� bezpowrotnie.
106
107 KLAWIATURA
108
109     Je�li nie masz do�wiadczenia w obs�ugiwaniu program� emacsow�
110     filozofi� obs�ugi klawiatury, oto lista obs�ugiwanych klawiszy:
111
112         Up, Down                przegl�danie historii polece�eft, Right         poruszanie si�o aktualnej linii
113         Ctrl-A, Home            id� na pocz�tek linii
114         Ctrl-B                  pogrubiona czcionka [3]
115         Ctrl-D, Delete          usu�ak pod kursorem
116         Ctrl-H, Backspace       usu�ak przed kursorem
117         Ctrl-I, Tab             dope�nianie
118         Ctrl-K                  usuwa tekst od kursora do ko�linii
119         Ctrl-L                  czyszczenie/od�wie�anie ekranu
120         Ctrl-M, Enter           zatwierdzenie linii
121         Ctrl-Q                  odblokowanie terminala
122         Ctrl-R                  kolor tekstu [3]
123         Ctrl-S                  zablokowanie terminala
124         Ctrl-T                  pochy�a czcionka [3]
125         Ctrl-V                  pozwala wpisa�owolny znak [2]
126         Ctrl-U                  usuni�e aktualnej linii
127         Ctrl-W, Alt-Backspace   usuni�e s�owa przed kursorem
128         Ctrl-Y                  wklejenie ostatnio usuni�go bloku
129         Ctrl-Z                  przeniesienie programu w t�o
130         Ctrl-_                  podkre�lona czcionka [3]
131         Alt-B                   s�owo do ty�u
132         Alt-D                   usuni�e s�owa za kursorem
133         Alt-F                   s�owo do przodu
134         Alt-cyfra               prze��czenie do podanego okna
135         F1                      pomoc
136         F2                      kr� lista dost�ych i zaj�ch
137         F12 lub Alt-`           prze��czenie do okna debugowania
138
139     Lista ta obejmuje klawisze obs�ugiwane przed interfejs readline
140     i ncurses, i nie zawiera kombinacji specyficznych dla tego pierwszego.
141
142     Interfejs readline obs�uguje r�e� inne kombinacje klawiszy. Dok�adna
143     lista znajduje si� stronie manuala ,,readline'' w rozdziale ,,DEFAULT
144     KEY BINDINGS''. Dodatkowo:
145
146         Ctrl-D                  zamyka rozmow� anuluje wprowadzanie
147                                 wiadomo�ci wielolinijkowej
148
149     Interfejs ncurses obs�uguje kilka dodatkowych kombinacji:
150
151         Page Up, Page Down      przewijanie ekranu
152         Ctrl-F, Ctrl-G          j.w.
153         Alt-A                   przejd� do pierwszego aktywnego okna
154         Alt-N                   utw�nowe okno
155         Alt-K                   zamknij aktualne okno
156         Alt-G                   ignoruj aktualnego rozm�
157         Alt-Q do Alt-P          prze��cza do okna 11 do 20
158         Ctrl-Fn                 prze��cza do podanego okna (konsola FreeBSD)
159         Ctrl-Enter              przej�cie do trybu wielolinijkowego
160         Ctrl-P                  poprzednie okno
161         Ctrl-N                  kolejne okno
162         F3                      w��cza lub wy��cza list�ontakt�1]
163         F4                      kolejna grupa w li�cie kontakt�F11                      wyb�nformacji w pasku statusu
164
165     Po wej�ciu do trybu wielolinijkowego poruszamy si�a pomoc� kursor�   i zatwierdzamy ponownym wci�ni�em Ctrl-Enter. By anulowa�wciskamy
166     Esc i czekamy chwil�Je�li kombinacja ta nie jest obs�ugiwana przez
167     terminal, mo�na u�ywa�lt-Enter lub wcisn��sc i zaraz po nim Enter.
168
169     Dodatkowo, okre�lonym kombinacjom klawiszy mo�na przypisa��
170     komendy za pomoc� polecenia ,,bind''.
171
172     Ze wzgl� na niestandardowe zachowanie niekt�h typ�erminali,
173     mog� wyst�pi�roblemy z kombinacj� Alt-Shift-O lub Alt-O przy
174     w��czonym Caps Locku.
175
176     [1] Klawisz F3 zmienia warto��miennej ,,contacts''. Je�li warto��ej
177         zmiennej by�a r� 0, wci�ni�e klawisza zmienia jej warto��a 2.
178         Je�li by�a r� 1, kolejne wci�ni�a F3 b� zmienia�y warto��z 1 na 0 i z 0 na 1.
179
180     [2] Po wci�ni�u Ctrl-V nale�y wcisn��lawisz, kt�chcemy wklei�        Dzi� temu mo�liwe jest wpisanie znak�ypu Escape, Ctrl-L czy
181         Ctrl-U.
182
183     [3] W miejscu wci�ni�a klawisza pojawi si�nak oznaczaj�cy kod
184         klawisza w negatywie. By zmieni�olor tekstu, nale�y po Ctrl-R
185         wpisa�umer koloru od 0 do 15.
186
187 PLIK KONFIGURACYJNY
188
189     Kolejno��adowania plik�onfiguracyjnych jest nast�j�ca:
190     1) /etc/ekg.conf (lub z innego katalogu wskazanego przez opcj�      --sysconfdir przekazan� skryptowi ./configure),
191     2) ~/.gg/config lub ~/.gg/<profil>/config,
192     3) /etc/ekg-override.conf
193
194     Dzi� temu administrator mo�e wymusi�ewne opcje na klientach
195     u�ytkownik�jak na przyk�ad ,,server'' czy ,,proxy''. Globalne
196     pliki konfiguracyjne mo�na ignorowa�rzez uruchomienie klienta
197     z opcj� ,,-N''.
198
199 GDZIE SZUKA�POMOCY
200
201     Dobra rada numer jeden: zanim zaczniesz narzeka��e czego� nie ma,
202     przeczytaj plik TODO.
203
204     Dobra rada numer dwa: plik ULOTKA m� co znajduje si� kt� pliku
205     dokumentacji.
206
207     Dobra rada numer trzy: zanim zaczniesz narzeka��e czego� nie ma,
208     poszukaj w pliku ChangeLog.
209
210     Dobra rada numer cztery: je�li jeste� nowym u�ytkownikiem, nie pytaj
211     si�czy co� da si�robi�albo �e przyda�oby si�Program jest
212     rozwijany od kilku lat, wielu ludzi korzysta z niego na co dzie�   wi�wi�zo��,bajer�, o kt�h mo�esz pomy�le�na pewno jest
213     ju� w programie.
214
215 WYSY�ANIE SMS�
216
217     ekg korzysta z zewn�znego programu do wysy�ania sms�Nie ma
218     najmniejszego sensu dublowania tej funkcji, skoro i tak wi�zo��   ma ju� zainstalowane odpowiednie skrypty/programy/cokolwiek.
219     Wystarczy poda�cie�k�o takiego programu w zmiennej
220     ,,sms_send_app''. Powinien przyjmowa�umer telefonu za pierwszy
221     parametr i wiadomo��a drugi. Ten ze strony http://ceti.pl/~miki/
222     spe�nia podane wymagania.
223
224 SYNTEZA MOWY
225
226     ekg potrafi korzysta� zewn�znej aplikacji do syntezy mowy, by
227     odczytywa�szystko, co trafia na ekran. Wystarczy ustawi�mienn�
228     ,,speech_app'' na nazw�rogramu czytaj�cego tekst z stdin. Jej
229     ustawienie spowoduje r�e� zmian�ygl�du programu, by wy�wietlane
230     komunikaty sta�y si�atwiejsze do wym�nia. Przyk�adowe ustawienia,
231     gdy korzystamy z programu ,,powiedz'', to:
232
233         set speech_app powiedz
234         set make_window 0
235         set display_sent 0
236         set display_ack 3
237
238     Program ,,powiedz'' mo�na pobra�
239     http://cvs.pld.org.pl/SOURCES/powiedz_0.2.tgz
240
241 ZNANE PROBLEMY
242
243     Je�li nie mo�esz wpisywa�olskich liter w interfejsie readline,
244     dopisz do pliku /etc/inputrc lub ~/.inputrc nast�j�ce linie:
245
246         set meta-flag on
247         set convert-meta off
248         set output-meta on
249
250 ROZPOZNAWANIE P�CI
251
252     Kr� wersja: Je�li ekg �le rozpoznaje p�e�wpisz imi�o listy
253     kontakt�W wi�zo�ci przypadk�omo�e. No tak, nie masz poj�a,
254     jak to zrobi�,,list pseudonim -f imi�. Pomog�o? �wietnie. Nie
255     pomog�o? Czytaj dalej.
256
257     D�uga wersja: Jedn� z najbardziej kontrowersyjnych cech programu jest
258     automatyczne rozpoznawanie p�ci na podstawie ostatniej litery imienia
259     lub gdy jest ono nieznane, pseudonimu. Gdy ostatni� liter� jest ,,a'',
260     ekg uznaje, �e dana osoba jest kobiet�. Na przyk�ad, je�li Tw�najomy
261     ma pseudonim ,,Kuba'', wpisz do listy kontakt�mi�,Jakub''.
262     Problemy mog� wyst�pi� rzadko spotykanymi imionami typu Barnaba
263     czy Mercedes. W takim wypadku nale�y do imienia dopisa�chocia�by
264     po uko�niku lub w nawiasie) liter�,a'' dla kobiet lub inn� ni�
265     ,,a'' dla m�zyzn.
266
267 ZG�ASZANIE B���
268
269     Je�li zauwa�ysz jaki� b��d, sprawd� najnowsz� wersj�Wi�zo��   b��w jest poprawiana w ci�gu jednego lub dw�dni od chwili
270     pojawienia si�Przy zg�aszaniu b�� zaznacz, w kt� wersji
271     wyst�je.
272
273     Nie pisz o sprawach, kt�s� ju� wymienione w pliku TODO, bo doskonale
274     wiemy, �e co� trzeba poprawi�
275     Zaznacz, co to za system, jaka dystrybucja, jaka wersja.
276
277     Je�li b��d jest powtarzalny i zwi�zany z sieci�, przejd� do okna debug
278     i przy�lij to, co zostaje tam wy�wietlone przed samym wyst�pieniem
279     b�� (zwykle ~20 linijek wystarczy). Mo�esz te� skorzysta� ukrytego
280     polecenia ,,_debug_dump'', kt�zapisze ostatnie linie z debug do
281     pliku lub te� przed uruchomieniem ekg wpisa�azw�liku, do kt�o
282     przekierowany b�ie debug, do zmiennej systemowej ,,EKG_DEBUG''.
283
284     Je�li program powoduje naruszenie ochrony pami� i powstaje plik
285     ,,core'', post�j zgodnie z instrukcjami pokazanymi na ekranie --
286     uruchom ,,gdb ekg core'', przy�lij to, co si�ojawi. Potem wydaj
287     polecenie ,,bt'' i jego wynik r�e� za��cz do listu. Je�li b��d
288     mo�e mie�o� wsp�go z sieci�, wy�lij utworzony plik ,,debug''.
289
290     Je�li program si�awiesi, nie reaguje na nic i zajmuje 100% czasu
291     procesora, w innym oknie terminala wydaj polecenie ,,strace -p <pid>'',
292     gdzie <pid> to numer procesu ekg (uzyskasz go poleceniem ,,ps x'')
293     i wy�lij ostatnie 20 linii.
294
295     Informacj� b��ie nale�y przesy�a�a list�kg-users (nie trzeba
296     si�a ni� zapisywa�szczeg�ni�ej), poniewa� w ten spos�ostan�
297     j� (prawie) wszyscy autorzy kodu. Mo�liwe te�, �e kt� z u�ytkownik�   natkn�� si�a to samo i wie, jak sobie z tym poradzi�
298 �R��A
299
300     Snapshoty kodu s� dost�e pod adresem http://dev.null.pl/ekg/
301     Je�li nie wyst�pi �adne trz�enie ziemi, brak pr�du ani barykady na
302     drogach, powinny by�obione co 24 godziny, wieczorem.
303
304     Poza snapshotami, co jaki� czas b� umieszczane na serwerze kolejne
305     wersje klienta. Ze wzgl� na organizacj�rac nad programem, w praktyce
306     nie b� si�ne r��nacznie od snapshot�Przed wydaniem ka�dej
307     wersji wstrzymane b�ie dodawanie nowych opcji, by skupi�i�a
308     usuwaniu b��w. Poza tym, u�atwi to prac�iekt� osobom zajmuj�cym
309     si�worzeniem paczek dla dystrybucji -- zamiast uaktualniania ich do
310     nowych snapshot�b� mia�y mo�liwo��akowania ,,stabilnych'' wersji.
311
312     Cz� kodu jest �adnie udokumentowana, cz� nie. Komentarze czasami
313     s� bardzo g�upie, ale je�li si�o trzeciej rano siedzi nad dziwnym
314     segfaultem, ci�o si�ohamowa�Je�li napiszesz jakiegokolwiek
315     klienta, frontend czy co� takiego, daj zna�- odno�nik do projektu
316     zostanie umieszczony na stronie ekg.
317
318 LISTA DYSKUSYJNA
319
320     Istnieje lista dyskusyjna dla u�ytkownik�kg o adresie
321     ekg-users@lists.ziew.org. Aby si�apisa�nale�y wej��a
322     stron� adresie:
323
324         http://lists.ziew.org/mailman/listinfo/ekg-users
325
326     oraz post�wa�ed�ug instrukcji tam zawartych.
327
328 AUTORZY
329
330     Wymienione osoby mia�y mniejszy lub wi�zy wp�yw na rozw�iblioteki
331     i klienta. Niekt� pisali kod, pomagali analizowa�rotok�testowali
332     na r�ch systemach, inni podsy�ali patche i bugreporty. Je�li kto�
333     zosta� pomini�, niech da zna�W ka�dym razie za to, jak wygl�da ekg,
334     odpowiedzialni s� (w porz�dku alfabetycznym):
335
336         Marek Antoniak <kfazi@kfazi.polnet.trzepak.pl>
337         Wojciech Bojdo� <wojboj@htcon.pl>
338         Kamil Brzezi� <carnil@fordon.pl>
339         Tomasz Chili� <chilek@chilan.com>
340         Marcin Chojnowski <martii@obgyn.edu.pl>
341         Piotr Domagalski <szalik@szalik.net>
342         Micha� Doroci� <zwierzak@venus.ci.uw.edu.pl>
343         Tomasz Dudzisz <eileen@ds1.agh.edu.pl>
344         Piotr Figiel <feeg@psychodelic.org>
345         Rafa� Florek <raf@regionet.regionet.pl>
346         Artur Gawryszczak <gawrysz@camk.edu.pl>
347         Stanis�aw Gurgacz <sgurgacz@o2.pl>
348         Darek Jackowski <ascent@home.pl>
349         Rafa� Janiczek <jojo@dexter.zst.bytom.pl>
350         Dawid Jarosz <dawjar@poczta.onet.pl>
351         Tomasz Jarzynka <tomee@cpi.pl>
352         Kuba Jermak <kooba@irc.pl>
353         Jaros�aw Kamper <jack@jack.eu.org>
354         Asia Kaniewska <kj_asia@wp.pl>
355         Wojtek Kaniewski <wojtekka@irc.pl>
356         Maciej Korze�aciekk@linux.sky.pl>
357         Pawe� Kot <pkot@linuxnews.pl>
358         Marek Kozina <klith@irc.pl>
359         Adam Kruszewski <phantom@linux.bydg.org>
360         Piotr Kupisiewicz <deli@rzepaknet.us>
361         Adam Ludwikowski <adam.ludwikowski@wp.pl>
362         Jakub Marty� <jakub@ceto.pl>
363         Pawe� Maziarz <drg@go2.pl>
364         Marcin Miku�a <meecash@meecash.prv.pl>
365         Arkadiusz Mi�kiewicz <arekm@pld-linux.org>
366         Jacek Osiecki <joshua@ceti.pl>
367         Robert Osowiecki <magic.robson@rassun.art.pl>
368         Adam Osuchowski <adwol@polsl.gliwice.pl>
369         Maurycy Paw�owski <maurycy@kocham.cie.gov.pl>
370         Artur Pietruk <arturp@plukwa.net>
371         Jacek Pospycha�a <tri10o@bsod.org>
372         Pawe� Pruszkowski <arim@botrm.org>
373         Jacek Rembisz <jr178783@zodiac.mimuw.edu.pl>
374         Rafal Roszak <rmrmg@wp.pl>
375         Krzysztof Sk�adzie�oxoc@coxoc.org>
376         Rafa� Skoczylas <nils@secprog.org>
377         Adrian Smarzewski <adrians@aska.com.pl>
378         Walerian Soko�owski <ws171913@yahoo.com>
379         Piotr Stolc <socrtp@sedez.iq.pl>
380         Tomasz Torcz <zdzichu@irc.pl>
381         Leszek Urba� <tygrys@moo.pl>
382         Robert J. Wo�ny <speedy@ziew.org>
383         Krzysztof W�wicz <misiolek@misiolki.prv.pl>
384         Adam Wysocki <gophi@ekg.apcoh.org>
385         Piotr Wysocki <wysek@linux.bydg.org>
386
387 $Id: README,v 1.118 2004/11/25 15:53:33 gophi Exp $
Note: See TracBrowser for help on using the browser.