1 Centericq documentation by
2 Konstantin Klyagin <konst@konst.org.ua>
10 1.2. Features overview
13 2. IM accounts registration
20 2.5.1. Jabber groupchat conferences
30 3.5. Hotkeys in dialogs
33 4.1. Migrating from other ICQ software
37 4.5. URL open action (web browser support)
38 4.6. Hostnames and port numbers (for crazy firewall admins)
47 4.7. Binding to various IP addresses
49 5.1. "Auto Away" and "Auto N/A"
51 6.1. Finding and adding users
52 6.1.1. Some useful hints
53 6.1.2. ICQ search specific modes
56 6.4. Groups of contacts
57 7. Sending and receiving events
63 7.6. E-mail express messages
64 7.7. WebPager messages
67 8. Ignore, visible and invisible lists
72 9.1. Arabic and Hebrew languages support
73 9.2. Command line facilities
75 9.2.2. Changing current IM status
76 9.3. External actions and auto-responses
77 9.3.1. IM answering machine
78 9.3.2. Elizatalk: making fun with your friends
79 9.3.3. Remote control with external actions
80 9.3.4. Forwarding events
81 9.3.5. Hiding from scary ones
82 9.3.6. "Manual" external actions
83 9.4. Internal RSS reader
84 9.5. Protocol debug mode
85 9.6. "Friendly" logging
86 9.7. Custom base directories
87 9.8. Latest CVS snapshots
89 10.1. The program homepage
90 10.1.1. Centericq mailing list
91 10.1.2. German fan-club of the program :-)
93 10.3. Other programs I write
95 11. Help to the project I would appreciate
98 11.3. Promoting the little program
108 Centericq is a text mode menu- and window-driven IM interface. ICQ,
109 Yahoo!, AIM TOC, IRC, MSN, Gadu-Gadu and Jabber protocols are currently
110 supported. It allows you to send, receive, and forward messages, URLs,
111 SMSes and, contacts, mass message send, search for users (including extended
112 "whitepages search"), view users' details, maintain your contact list
113 directly from the program (including non-icq contacts), view the
114 messages history, register a new UIN and update your details, be
115 informed on receiving email messages, automatically set away after the
116 defined period of inactivity (on any console), and have your own ignore,
117 visible and invisible lists. It can also associate events with sounds,
118 has support for Hebrew and Arabic languages and allows to arrange
119 contacts into groups. There is also an internal RSS reader and even a
122 Centericq is known to build and work well under Linux, FreeBSD,
123 OpenBSD, NetBSD, Sun Solaris, MacOS X/Darwin and Microsoft
124 Windows (built with cygwin).
127 1.1. Creation history
128 ---------------------
130 This program was written because of a very simple cause. I just
131 couldn't find any console based ICQ clients with really useful user
132 interface. When I started it I had quite a slow computer at home. Having
133 X window running on it took incredibly a lot of resources making whole
134 the system really slow. I didn't like an idea of launching it just to be
135 on ICQ, but there were several good programs only for X. For console
136 they had only mICQ and zicq. The former was ok, but its interface made
137 me cry. I know, it's of quite a UNIX style, and I don't have anything
138 against command line, but typing nicks and uins all the time was
139 terrible. The second thingie, zicq, was an attempt to implement menus
140 and windows for ICQ in text-mode, but its author couldn't go further
141 than just splitting the screen into two windows, one with contact list
142 and another with usual mICQ output :) Actually it was all based on mICQ
143 code. I don't wanna say mICQ was bad, for it was the first ICQ client
144 for Linux, and its author made a great job exploring and sniffing the
147 After looking at freshmeat and some "icq for linux" pages the hope to
148 find something worth was finally lost. I decided to put some effort into
149 making a program which would be really useful for me. It took me about
150 two weeks to write and then 1 week to test before releasing the first
153 Since that time the software suffered a lot of changes, including
154 rewrite resulted into the version 3.0.0, and then adding more IM protocols
155 since 4.1.0. Now I'm continuing to develop it, going the standard way of
156 adding new features and fixing bugs. And feedback from users helps me a
160 1.2. Features overview
161 ----------------------
163 Centericq's ICQ module has almost all the functionality including
164 extended issues that Mirabilis client has. Speaking of other protocols,
165 it has quite full support for features of Yahoo!, AIM, IRC and
168 Beside simple things like sending and receiving messages, changing
169 online status and basic user information, centericq advanced features
170 such as "White pages" and keyword search, an ability to update almost
171 all the fields in user's details, send URLs and SMSes, etc. I hope you
178 In order to build the software the following libraries are required:
180 ncurses (at least 4.2 version)
181 A CRT screen handling and optimization package.
182 http://dickey.his.com/ncurses/ncurses.html
185 The secure communications library. Optional, but you will require
186 if you want SSL support for Jabber. Previous versions of the library
187 called SSLeay will work with centericq too.
188 http://www.openssl.org/
191 The secure communications library. Optional. An alternative to
192 OpenSSL distributed under the GNU Public License.
193 http://www.gnutls.org/
196 This is for PGP support in Jabber. Optional also.
197 http://www.gnupg.org/(en)/download/index.html#gpgme
199 Please note that in order to compile centericq from source on Redhat
200 based systems you should have *-devel RPM packages of the above
201 mentioned libraries installed.
203 It's possible to disable support of various protocols during the build
204 phase. Just take a look at the --disable-xxx parameters for configure.
205 You can invoke the scripts command line help with the following command:
210 1.4. First time start
211 ---------------------
213 Upon the first execution, the program shows its configuration screen
214 and then gets to the next stage, the account manager dialog. All the
215 configuration dialog items are self-descriptive, so there must be no
216 problems to customize your centericq. As soon as you're finished with
217 it, using the right allow key, move cursor to the "Done" button and
220 Russian speaking users should pay attention to the "Russian
221 translation" item of the registration dialog. It's vital to set its
222 value to "yes" to be able to use cyrillic. In most cases. Unless you use
223 win1251 as a default charset, about what I doubt a lot :) Unfortunatelly
224 we have two different encodings for our language, koi8-r is default for
225 UNIX like systems and win1251 is used in Windows. Since ICQ comes from
226 Windows we need to recode every sent and received message in order for
230 2. IM accounts registration
231 ---------------------------
233 This section says a bit about registering new and entering existing
234 accounts' details into configuration of your centericq. Everything that
235 centericq can do about it is available through the "Accounts" dialog
236 displayed at the start and then residing under the f4->Accounts.. menu
243 To be able to use the ICQ IM service you should have a UIN (I think it
244 stands for something like "user identification number"). You can either
245 use an already existing UIN or register a new one selecting appropriate
246 items in the "Account manager" dialog. Some attention should only be
247 paid to the "server address" field. The default value will be
248 substituted unless something is set there, i.e. empty "server" field is
249 quite ok. In the majority of cases you do not need to change it. The
250 only exception is if you have your own ICQ server on LAN.
256 Centericq doesn't support registring new Yahoo! ID's, so if you don't
257 have one yet, just visit the homepage Yahoo! messenger at
258 http://messenger.yahoo.com/ and select the "Acct info" link in the top
265 AIM accounts can be created with the AOL's web interface at
266 http://my.screenname.aol.com/ by clicking on the "Get a Screen Name"
267 link. Don't also forget to set your profile information with "Update
268 your details" item in the Account manager dialog.
274 This service is completely different from others supported by
275 centericq. You don't need to register to connect to irc. All you need is
276 just choose a nick which is not used by anyone else. Otherwise it'll be
277 reported as soon as you try to login. So set any nick and a host name of
278 the server you want to chat on, and go ahead!
280 For the advanced IRC users there can be a need for so-called NickServ
281 authentification using a password to identify himself. Sometimes it's
282 used to protect your nickname from overtaking on a specific IRC network.
283 Centericq does support this too, providing a non-obligatory password
290 IRC channels behave theirselves like usual contacts, though the set of
291 actions possible to perform upon them is different. Using the F2-menu
292 and hotkeys it's possible to join or leave a channel, view the list of
293 users, etc. Please note, in order to stay on a channel you should have
294 it on your contact list. As soon as a channel is deleted, you leave it
301 Jabber is the most advanced open source and free instant messaging
302 solution. Since the version 4.8.8 it's been supported by centericq. Due
303 to its being open and developed by the wide community, centericq can
304 register new nicknames in it very easily.
307 2.5.1. Jabber groupchat conferences
308 -----------------------------------
310 Like IRC channels, they're controlled like usual contacts, too.
316 Though LiveJournal is not actually an IM service, but I hope you
317 forgive me for that. LiveJournal is a weblogs community. Its URL is
318 http://www.livejournal.com/. Centericq makes use of their open source
319 and well-documented client-server protocol, and makes it possible to
320 post items and read friends' RSS feeds directly from its interface. So
321 if you want an account, go to http://www.livejournal.com/ and see how to
322 get it. If you don't like the rules, you can always download their
323 server software and install it on your own. Long live open source!
329 If you have libjpeg installed in your system and the configure script
330 does find it, centericq can register a UIN on this network for you.
331 Otherwise you can only register one with the official client that can be
332 downloaded from the official site at http://www.gadu-gadu.pl/
338 An account for MSN can also be registered through a web interface at
339 http://chat.msn.com/ though it seems that they block access from Linux
343 2.9. Updating details
344 ---------------------
346 If you have just registered on the ICQ network only basic fields of
347 your details were set. Now, if you want to provide the world with more
348 information about yourself, you should invoke the "Update ICQ details"
349 dialog. First go to the "Accounts" dialog which can be accessed through
350 the global menu, and there in the ICQ node select "Update user details".
351 You can fill in information that will be visible to other ICQ users.
352 They also will be able to find you with specifying what you filled in
353 their "find users" requests.
355 It's possible to update your ICQ and AIM details any time you're
356 online with the dialog. Details within other networks are possible to be
357 updated with respective web interfaces, I believe.
363 The text UI centericq has, as well as UI of other programs for console
364 I have written, is very simple. There are menus, windows, menus and
365 input lines. In the bottom line of the screen there is a status bar. It
366 usually contains hints about what to press to invoke various menus,
367 dialogs, and perform various actions.
373 This key is used for termination of input, if you wanna cancel the
374 operation you wanted to perform. Say, if "send message" operation is
375 chosen (invoked just with a press of "Enter" on a contact), an editor
376 window appears. As status bar says, you can use "Ctrl-X" to send it, and
377 ESC to cancel. The only hint is that you have to press the ESC key
378 twice. It's a common practice for console based UNIX programs (Midnight
379 commander is a good example), because checking for only one ESC would
380 spoil arrow key processing. The point is that they have correspond
381 sequences that start with an ASCII#27 character which is actually ESC.
383 If you still want to press a simple key combination to close a dialog
384 or cancel something, try Alt-ESC. Though it's not guaranteed to work on
387 The ESC key can also help you to issue shortcuts and key combinations
388 such as Alt-? or F<x>. The former, if Alt-Shift-/ doesn't work can be
389 produced by first pressing ESC and then Shift-/ (i.e. "?"). And instead
390 of any F-key the ESC and then a number can be used.
396 The main screen of centericq consists of three parts. First is contact
397 list which is situated to the left. Next is information window which is
398 used to show received events, users' details, and also to edit events
399 that are going to be sent. And the smallest one is a log window in which
400 you can see messages about what centericq is doing right now.
406 No need to say, menus are a common way to provide a user with an
407 ability to select one (or several) items from a certain list. To make a
408 difference between single and multiple choice menu you gotta just have a
409 look at the items. If square brackets stand next to items text in every
410 line, a multiple selection is requested. Otherwise you can only select
411 one item. To do it, just press "Enter" on it. To make a mutiple
412 selection, press "Space" on items and use "Enter" to finish the
413 selection. ESC does also work in all menus to cancel the selection.
415 I will mention two menus below. They are global menu and contact
416 context menu, invoked with F4 and F2 correspondingly. The former allows
417 to execute various actions of global kind, such as find and add users,
418 manage ignore, visible and invisible lists, change settings, etc. With
419 the context menu you can do various current contact specific things.
425 Every dialog in centericq has a tree-like view. When I was about to
426 write classes for form-based input, I remembered that there was a
427 "treeview" class written by me before. So, I decided to use it for
428 dialogs and was right. There was no need to re-design the whole form in
429 case I need to add some controls, or so. I just add it as a node or a
430 leaf it scrolls, and nothing gets spoiled. Everything really nice is
434 3.5. Hotkeys in dialogs
435 -----------------------
437 Dialogs of centericq usually have a bar with buttons. To access a
438 button without moving the highlighted bar over it with the arrow keys
439 you can use shortcuts. It's enough to press the first capital letter of
440 a button name to access the function behind it.
446 There at some quite standard key combinations supported by centericq I
447 wanna tell you about. Here they go.
450 Redraws the screen in any place of program execution. If output of
451 some kind of background programs or system messages spoil your screen
452 just press it so centericq display is refreshed.
455 In a message writing mode removes entire current line.
458 Single line edit mode.
459 Kills entire content.
462 Single line edit mode.
463 Kills a part of line to the left from cursor.
466 Single line edit mode.
467 Invokes history of recently entered lines.
473 The majority of centericq settings can be found in the "Configuration"
474 dialog which can be invoked by selecting an appropriate items in the
475 global menu (the one you see on pressing F4). There are only three
476 things you should setup from outside the program with modifying the
477 program's configuration files. They are event sounds, actions (see
478 below) and color schemes.
480 With the "Configuration" dialog you can turn on and off various
481 features, as well as change the ICQ server address and adjust network
482 settings. All the items there are self-explanatory and their meaning is
483 quite obvious. I suppose the program users are usually not dumb :) so I
484 won't cover all of the items here in the documentation.
487 4.1. Migrating from other ICQ software
488 --------------------------------------
490 If you decided to migrate to centericq from another ICQ software or
491 have a need to you something else in parallel, there is a way to convert
492 the contact list. This means you can migrate without loosing your
493 contacts and history.
495 How to do it? There is a perl script named cicqconv. It's usually
496 installed on "make install" under @prefix@/bin (/usr/local/bin in the
497 majority of cases). Its usage is very simple. You should only pass one
498 parameter to it, telling from what kind of ICQ software it's to convert
499 your data. To see the list of supported software, run the script without
506 As it was said before, centericq can play sounds on various events.
507 It's done the following way. Upon, say, receiving a message, centericq
508 executes an external command. Actually it can be whatever you want, but
509 original idea is to execute a command line WAV player.
511 There are three WAV sound files which centericq has by default. They
512 are sounds taken from Mirabilis ICQ. When you set "Change sound device
513 to" item to "sound card", the program generates a file named sounds in
514 the .centericq/ directory in your home folder. The default file has
515 commands to execute a "play" utility (from sox package) with a name of a
516 file to play, one of the default ones. If you wanna change the player or
517 a sound simply edit ~/.centericq/sounds.
519 If you use ESD (Enlightenment Sound Daemon) to have some extra sound
520 facilities such as mixing streams, or playing on another computer, you
521 might wish to change the "play" command to "esdplay".
527 It's possible to customise colors in the centericq's user interface.
528 It's done with the ~/.centericq/colorscheme configuration file. Its
529 contents are self-descriptive, and parameter names mean exactly that
530 they're named after. Please note, that among the standard color names
531 it's possible to specify "transparent" which is useful when the program
532 is used in terminals with background images set.
534 Started for the first time, centericq creates the default colorscheme
535 file filled in with settings of one of default schemes that the
536 Configuration dialog proposes. Also its contents are re-written every
537 time you change color scheme from the dialog.
539 To define your own color scheme, feel free to modify the default
540 colors configuration file or choose one of contributed ones that can be
541 found under the contrib/ directory of the source tarball.
543 More "visual" explanation can be found here at the centericq.de:
544 http://centericq.de/misc/colorscheme_helper.png
550 Key bindings are also configurable in centericq. On the first start it
551 creates a file called keybindings in your ~/.centericq/ directory. You can
552 use its initial contents for reference. If you want to change something,
553 well, it's all there.
556 4.5. URL open action (web browser support)
557 ------------------------------------------
559 Centericq can extract URLs from messages and user information records
560 for you. And it also can launch your preferred web browser to view them.
561 No need to have a big attention to notice "F2 to URLs" text in the
562 status bar when you view either a message or user's details. The "open
563 URL" action starts right after you make a selection in the menu invoked.
564 The ~/.centericq/actions file is responsible for this. By default it has
565 a command to execute netscape, but you can change to whatever you want.
566 Please only note that you cannot put lynx or any other text mode based
567 browser starting in the same console there. The commands from "actions"
568 run in parallel with centericq, so please only pass your URLs to scripts
569 or to X based browsers, but to nothing interactive.
571 Though, if you're using centericq under screen(1) there is a solution.
572 Jochen Sprickerhof <jochen.sprickerhof@web.de> advised it having read
573 the statement in the previous paragraph. He proposes to define open url
574 action the following way: "openurl screen lynx $url$", in order to open
575 lynx in a new screen window as soon as an URL to browse it chosen.
578 4.6. Hostnames and port numbers (for crazy firewall admins)
579 -----------------------------------------------------------
581 I'm frequently asked what ports and hostnames centericq uses to
582 connect to various IM services. To avoid further buzz, I just include
589 Hostname: login.icq.com
592 Here a small note is needed. To a great displeasure of network admins,
593 the ICQ main server listens on all the TCP ports, from 1 to 65535. So
594 if in your network the 5190 is blocked, don't be upset, set it to 80 or
595 to 21 or whatever is not restricted by firewall and it will work :)
601 Hostname: scs.msg.yahoo.com
608 Hostname: toc.oscar.aol.com
615 For this network you gotta choose a server yourself, because the
616 auditory of people you chat with and other things depend exactly on this
617 choice. However, by default, centericq sets the following parameters:
619 Hostname: irc.freenode.net
626 There are many Jabber servers in the world, also the solution is
627 widely used for in-house communications inside various companies, so you
628 can choose the server yourself. At the other hand, the default server
629 open to the public is the following:
638 Since LiveJournal, despite of its being not an IM network, is also a
639 completely open source and free (in the "free speech" sense) solution,
640 you can find LiveJournal servers installed anywhere. You can even
641 install one on your own. Just in case, here I'm giving you parameters of
644 Hostname: livejournal.com
651 Hostname: appmsg.gadu-gadu.pl
658 Hostname: messenger.hotmail.com
662 4.7. Binding to various IP addresses
663 ------------------------------------
665 If the box you're running centericq on has several IPs and you would
666 like to use a certain one of them for IM connections, there is a command
667 line parameter made especially for you, --bind <IP address> or shortly,
674 With centericq you can be either on or off the ICQ network. The status
675 can be changed with the "Status" menu invoked either with F3 or "S" key
676 or from the global menu. It provides you with a choice to switch between
677 online statuses along with an ability to go offline. If one of online
678 statuses if selected when you're offline, centericq will connect and
679 switch the status to what was chosen.
681 With an online status you can indicate to those who are in touch with
682 you your being away, occupied, free for chat, not available, etc.
685 5.1. "Auto Away" and "Auto N/A"
686 -------------------------------
688 Also there is a way to switch status to Away and N/A (not available)
689 after a certain period of inactivity, to show your friends or colleagues
690 you're somewhere away from computer.
692 The very useful thing about is that centericq detects inactivity for
693 all the consoles if you use it locally. So it won't change your status
694 if you're just working in another console and only don't tweak it.
696 The auto periods can be changed with the "Configuration" dialog. Zero
697 value means the feature is off.
703 The list of your contacts is displayed to the left on the centericq
704 main screen, and has a tree-like structure. There are "Online" and,
705 unless the "Hide offline users" options is on, "Offline" nodes, groups
706 (if switched on). If a user has a birthday today, a smiley face ":)" is
707 shown next to his or her nickname.
709 If a contact is online, a status letter in square brackets is shown
710 for him. Though, the brackets kind can vary. Besides the square ones,
711 there can be {x} and <x> items. The former means a contact is on your
712 invisible list, and the latter represents your "always visible" status
715 Finally, if there is an unfinished (postponed) message for a certain
716 contact, the ">" character will appear between status and nickname.
719 6.1. Finding and adding users
720 -----------------------------
722 The most common way to add an IM contact to your list is to use the
723 "find/add user(s)" dialog invoked from the global menu. First you have
724 to find the contact you wanna add. Centericq allows you to search for
725 users with various parameters in various networks.
727 In ICQ, you can add a user knowing his UIN, or see a list of people
728 matching your criterias. In fact, ICQ server sends only first 40 matching
729 UINs, but usually it's quite enough.
731 Note that in ICQ search requests you can use simple wildcards in the
732 text input fields. It's possible to put "*" there. For example, you don't
733 remember my last name exactly, but know only several first letters. Then
734 just type in a first name ("Konstantin") and fill in the "last name" field
735 with "Klyag*". The same trick can be done with other fields: "city",
736 "nickname", "company", etc..
738 The Yahoo!, AIM, IRC and Jabber networks support in centericq
739 does only allow to add users by nicknames.
741 With IRC it's possible to get users from channels. For more info on
742 channels and other IRC related stuff, please refer to http://www.irc.org/.
743 So, with centericq you can either fetch a list of users for a specified
744 channel, or (sic!) find users that stay on several channels simultaneously.
745 To perform the latter, just put several channel names separated with spaces.
746 For example, the "#centericq #linux" query will show a list of users that
747 are currently talking on both channels.
750 6.1.1. Some useful hints
751 ------------------------
753 You can skip the finding step by issuing one of the following shell
754 commands to add a user (depends on an IM type):
756 $ mkdir ~/.centericq/<UIN of a user to add>
759 $ mkdir ~/.centericq/y<nickname>
762 $ mkdir ~/.centericq/a<nickname>
765 $ mkdir ~/.centericq/i<nickname>
768 $ mkdir ~/.centericq/j<nickname>
771 Don't forget to restart centericq so that it re-reads the contact list.
772 Though, it's better anyway to follow the usual find/add procedure.
774 Another intresting ICQ related trick I wanna share with you. Because of
775 a natural couriousity, sometimes names of people get me intrested in finding
776 out about their ethnical origin. Once I saw a last name, Aslam, which seemed
777 like a muslim one, but I had no idea which country the guy originated
778 from. I decided to use ICQ to find out. Opened the "find/add" dialog and
779 typed that in. After looking at several matched contacts I noticed the
780 majority of people were from Pakistan, so I realized where the guy was
781 from and my couriosity was satisfied.
783 I go the same way to find out in which country a certain city is
784 located, and so on. This makes ICQ extremely useful for me. Just use
785 your imagination to find other ways to use such a great statistics
789 6.1.2. ICQ search specific modes
790 --------------------------------
792 The "find/add users" dialog for ICQ besides the obvious parameters
793 does also contain two interesting items such as "Random chat group" and
794 "Keywords". With the help of the former you can easily look for chat
795 partners from standard 10 groups, if you're bored or just feel like
796 chatting with someone. You never know who can be there. Also, you can
797 make yourself available for others so that they can find you in random
798 chat groups. Just set the corresponding parameter in the "Update your
799 details" dialog for ICQ.
801 The keyword search feature allows to search for contacts by specified
802 keywords that are taken from interests, geographical location and other
803 places, and indexed somehow by the Mirabilis guys. Quite an interesting
810 Removing users is a very simple procedure. You can either hit DEL on a
811 certain contact or select an appropriate item in the context menu. After
812 confirmation the contact is removed.
818 On the ICQ network, every user has a set of details that can be
819 browsed and used in search queries by others. To browse details of a
820 specific user on the contact list it's enough just to press '?' on a
821 corresponding to a contact item.
823 Please don't hesistate to do it before asking people who they are. It
824 takes time to explain, though it can be looked up so easily.
827 6.4. Groups of contacts
828 -----------------------
830 In case you have a lot of people on contact list, you might wish to be
831 able to visually arrange them into groups. Choose any criteria.
832 Geography, companies, activities, interests.. Anything. Centericq
835 To turn the feature on invoke the configuration dialog and switch the
836 "arrange contacts into groups" option value to "yes". By default, all of
837 your contacts will appear on standard "Global" group from which you can
838 move them to other groups creating them "on fly". There is an item in
839 the context menu named "Move to group.." which allows you to do it.
841 It's also possible to collapse and expand groups by pressing the Enter
844 Remove, add and rename operations on groups can be done with the group
845 manager dialog invoked from the global menu item named "Organize contact
849 7. Sending and receiving events
850 -------------------------------
852 Sending and receiving events is what ICQ and all the instant messaging
853 are all about. The concept itself means an ability to stay in touch by
854 delivering messages of various kind immediately.
860 The most common type of events. It takes the ICQ network about one
861 second to deliver one. Messages can be sent either through server or
862 directly through a TCP link. Size of a message sent through server
863 cannot exceed 450 characters, while size of direct messages is
864 unlimited. In case centericq cannot establish a direct link or you have
865 the "sent all events through server" option enabled, a message is
866 automatically split into several parts.
868 To send a message just press "Enter" on a contact. Then type and press
869 "Ctrl-X" to send it. To cancel the message press ESC (twice).
875 Though you can send URLs with regular messages the Mirabilis guys
876 decided to make a separate event for it. No problem, centericq supports
877 URL events. An URL message consists of two parts, they're an URL itself
878 and a description. Well, nothing else to say about it. Except maybe a
879 wish for future version of the protocol to support e-mail addresses and
880 host names as separate events :)
886 ICQ has a server-side mechanism which allows its users to send and
887 receive short text messages to cellular phones. There is an item visible
888 in the context menu for ICQ contacts, named "Send an SMS" which is be
889 choosen. Then if a user does not have any cellular number on his
890 details, centericq will ask you to provide one. This number can be
891 changed any time with the "Edit details" item of the same menu.
893 Centericq allows sending SMS messages to contacts of any kind on your
894 list with the only restriction that they will only be sent as soon as
895 you log in with your ICQ account. When you type in a phone number don't
896 forget to include all the international and regional prefixes.
898 If an SMS you sent is rejected, the appropriate message is displayed
899 in the log window. This usually happens because ICQ does not support some
900 cellular networks. To see the list of supported ones use the following
903 http://www.icq.com/sms/smsnetworks.html
904 http://www.icq.com/sms/eg_networks.html
906 Both ways of sending SMSes are supported by libicq2000, and this means
907 centericq does so too.
913 Sharing parts of your contact list with other users on the instant
914 messaging network is a feature supported only by ICQ so far. Centericq
915 does support it, thus you can easily send contacts from your contact
916 list or receive contacts from someone else using the program's
917 interface. Much easier than typing or cut'n'pasting UINs.
923 It's only possible to send files to your remote buddies within the IRC
924 network so far. In order to do it, it's enough to choose the "Send
925 file(s)" item from the context menu (the one ivoked with F2), and point
926 out the files you want to send. In order to receive files you should
927 press the "Accept" button in the dialog you'll see as soon as someone
931 7.6. E-mail express messages
932 ----------------------------
934 This kind of events is ICQ specific. There is no way to receive them
935 with Yahoo! or other protocols. E-mail express is a service
936 provided by Mirabilis to make it possible to send messages through
937 e-mail to logged in ICQ users. A gate, indeed.
939 The principle is simple. To send such a message you use an e-mail
940 client application, and you receive one with an ICQ client. The
941 destination e-mail address looks like this <UIN>@pager.icq.com, where
942 UIN is the receiver's ICQ number. If a person is not online, they'll get
943 the message as soon as connect to the ICQ network.
945 Please also note that with some SMTPs it won't work, since the pager
946 server has a protection which tries to make a connection to the sender
947 SMTP. If it's behind a firewall you have no chance to get your message
951 7.7. WebPager messages
952 ----------------------
954 ICQ network does also allow sending messages to icq clients from their
955 web sites. The so-called "Web panel" makes it possible. You can access
956 your own by the URL of the following look: http://web.icq.com/wwp?Uin=<UIN>
958 Messages are delivered to the contact list immediately. And if a user
959 is not online he's supposed to received them as soon as he logs in.
965 Another feature of IM networks supported by centericq is away
966 messages. It's quite a useful way to explain to everybody why you're
967 away from your box right now. To read your reason for being away they
968 just have to use the feature to fetch an away message in their ICQ
971 It's possible to set such a message from the account manager dialog
972 invoked from the global menu. There is a "Set away message" item for IM
973 engines that support such a feature.
975 With centericq you can also read away messages of others. To fetch
976 someone's away message (it's possible even when a person has the
977 "available/online" status) just select the respective item in the
978 "current user" context menu (invoked with F2 or "m"). It's impossible to
979 fetch away messages of users that are offline.
985 All of events sent and received with centericq are held in its
986 database. It's very simple to access history of events you exchanged
987 with a particular user. You should only select the "Events history" item
988 of the context menu. Then, if at least one event is there, you'll be
989 shown a list every item of which can be read, replied or forwarded to
993 8. Ignore, visible and invisible lists
994 --------------------------------------
996 ICQ provides an easy way to have lists of users you want to be visible
997 or invisible to, if you're online. Also there is a place to move all the
998 annoying ones so that they don't disturb you with their stupid messages.
1000 Modification operation with the lists can be performed with
1001 appropriate dialogs invoked from the global menu.
1007 List for worst ones. If you find someone on (or outside) your contact
1008 list too annoying, you can just add him or her to the ignore list. After
1009 this simple operation you will never receive events from this user,
1010 until the contact is removed from this list of yours.
1016 ICQ has the "invisible" option among its online status modes. When you
1017 switch to it, noone is able to see your online presence. But there can
1018 be a handful of people you would like to keep in touch, and you also
1019 feel like remaining visible for them. That's what this feature is all
1026 Invisible list has an opposite aim to the previous one. People who you
1027 have on this list are unable to see your presence all the time. Either
1028 you're online or offline, or occupied.. whatever, they see your status
1032 9. Advanced features
1033 --------------------
1035 Centericq has some advanced features that you may need, though they're
1036 not so easy to turn on for novice users. In this chapter I explain how
1040 9.1. Arabic and Hebrew languages support
1041 ----------------------------------------
1043 There is a basic support for bidirectional languages in centericq. It
1044 allows not to type, but only read messages in Hebrew and Arabic. It's
1045 possible to enable only on the ./configure stage, because the program
1046 needs to be linked against FriBiDi library. This means first you need to
1047 have the latter installed. The library homepage is located at
1048 http://fribidi.sourceforge.net/
1050 Once you have successfully installed FriBiDi, you need to execute
1051 centericq's ./configure script with "--with-fribidi" parameter. If it
1052 fails to find the library (you'll be reported), try
1053 "--with-fribidi=<prefix the library was installed with>".
1055 Common "make" and "make install" steps should follow, and finally
1056 "shalom" or "selam" can be seen well on your monitor :) So don't fight
1060 9.2. Command line facilities
1061 ----------------------------
1063 Centericq has a bunch of command line options that make it possible to
1064 queue IM events and change your status in various IM networks.
1067 9.2.1. Sending events
1068 ---------------------
1070 In fact, it's not really sending. Centericq just allows you to put an
1071 event to the outgoing queue from another process with command line
1072 options. To have the event sent immediately centericq must be running,
1073 otherwise all of your queued events will be sent as soon as the program
1074 is launched and connected to the corresponding IM network.
1076 The following command line options are used to put an event to the
1079 -s or --send <event type>
1081 This parameter specifies the type of event you want to send.
1082 Currently only "msg", "url" and "sms" are supported.
1084 -p or --proto <protocol type>
1086 This one specifies to which IM network the destination contact
1087 belongs to. Can be either "icq", "yahoo", "aim", "irc", "jab"
1092 With this one you specify nickname or UIN of the destination
1093 contact. For icq it's possible to specify 0 to send events to
1094 yourself. Only SMSes are known to be possible to be sent to oneself
1099 Using this parameter you can send SMSes to any mobile numbers
1100 through the ICQ network.
1102 The message text is read from the standard input, so use pipes in shell
1103 to pass it. For example, you can say "hi" to me through the ICQ network
1104 with the following command:
1106 $ echo "hi" | centericq -s msg -p icq -t 17502151
1108 In case you want to send an URL, the URL itself and its description are
1109 separated with a newline character the following way:
1111 $ echo -e "http://thekonst.net/\nMy modest homepage." \
1112 | centericq -s url -p icq -t 17502151
1114 Finally, a small example of sending SMSes:
1116 $ echo "sms test" | centericq -s sms -n 1234567890
1118 Please note, that all three parameters are required in order to queue an
1122 9.2.2. Changing current IM status
1123 ---------------------------------
1125 Changing status is done with a pair of parameters. They're -S and -p.
1126 The former is used to specify the status itself, and -p points which IM
1127 engine is to be affected.
1129 -S or --status <status letter>
1131 The argument parameter is a letter which indicates which status is
1134 o (Online) _ (Offline)
1135 a (Away) d (Don't disturb)
1136 n (N/A) c (Occupied)
1137 f (Free for chat) i (Invisible)
1139 -p or --protocol <protocol name>
1141 This one specifies to which IM network the destination contact
1142 belongs to. Can be either "icq", "yahoo", "aim", "msn", "irc",
1147 $ centericq -S _ -p icq
1149 This will set the icq status to offline. In other words, it'll be
1150 disconnected immediately.
1152 $ centericq -S a -p yahoo
1154 And this command will switch your yahoo status to away.
1157 9.3. External actions and auto-responses
1158 ----------------------------------------
1160 It is possible to make centericq run external programs, scripts and
1161 whatever to answer and/or process incoming events. Though, some extra
1162 setup is needed. Let me introduce you with another configuration file,
1163 named "external" which should reside under the .centericq/ directory in
1164 your home. Here is an example which demonstrates its options. It's
1165 recommended just cut'n'paste the following text.
1168 [ - $HOME/.centericq/external ---------------------------------------------- ]
1174 # Every section starts with a line containing the "%action <name>",
1175 # "%pre-send <name>", "%pre-receive <name>" or "%manual <name>" text.
1176 # Please note that the <name> of any kind is necessary. It musn't be
1177 # empty. Inside it the following parameters can be used:
1181 # Can be "msg", "sms", "url", "online", "offline", "auth",
1182 # "contacts" or "notification".
1184 # The latter means centericq's own notifications, such as birthday reminders,
1185 # away messages, and other stuff. Specifying several event types is
1186 # also allowed. "all" stands for all the event types.
1190 # Can be "icq", "yahoo", "aim", "irc", "msn", "lj", "rss" or "jab". Or
1191 # combination of these words. "all" can be used as a synonim for all of
1196 # Can be "online", "away", "dnd", "na", "occupied", "ffc" or "invisible".
1197 # Specifying several ones is possible. "all" stands for all of possible
1202 # Possible options for an action are:
1204 # stdin The incoming message text is to be passed to
1205 # stdin of the script to be executed.
1207 # stdout The script output is to be sent as a reply
1208 # message (if not empty).
1210 # nowait Don't wait for the script to finish. Obviously, the
1211 # stdout option won't make sense if this one is used.
1213 # Then, the section named "%exec" should follow. It contains a piece of
1214 # script to be executed being copied to a file first.
1217 %action Simple auto-responder
1220 # Reacts only on events of message type ..
1223 # .. only for icq and yahoo protocols
1226 # .. when we are in away or n/a status
1228 options stdin stdout
1229 # .. the external commands text (below) reads the message from
1230 # stdin, then its stdout output is sent as a response to a
1236 echo "hello. this is auto-responder. your message was: $msg"
1239 [ -------------------------------------------------------------------------- ]
1241 With this simple external actions configuration file centericq will
1242 perform a simple auto-respond action. You can have as many sections as
1243 you need. You can call any kind of external scripts and programs. Please
1244 note that the message text (when "stdin" option is specified for an
1245 action) can be read with cat command or something similar.
1247 Please also note it's possible to define actions that get invoked before
1248 the event is written to the history (and delivered to the contact list)
1249 as well as before it gets sent. Such kind of actions are defined with
1250 the %pre-send and %pre-receive directives. Using them, an event can be
1251 modified or even prevented from further processing, i.e. from showing on
1252 the contact list or actual sending. The latter is done with returning a
1253 non-zero return code in the %exec section.
1255 Every time something is to be executed the "%exec" section's contents
1256 are copied to a temporary file, and the latter is processed with the
1257 default shell. But it doesn't mean those code parts are default shell
1258 dependent. You can easily specify your favourite one with the first line
1263 for example. Though, anyway this code piece's aim is just to perpare
1264 arguments, perform initial checks, and then execute something for
1267 Another point to be explained is multiple actions with the same or
1268 similar parameters (event, proto, and status). If an event matches
1269 several actions, all of them are executed. If there is a need only in
1270 one, you can always perform necessary checks in "%exec" so that only one
1273 Also, the script from the %exec section when executed has the following
1274 environment variables imported by centericq:
1278 The type of the received event. Can be "msg", "sms", "url",
1279 "online", "offline", "auth", "contacts" or "notification".
1283 The IM network name through which the event was received. Can be
1284 "icq", "yahoo", "aim", "irc", "msn", "lj" or "jab".
1288 If an event is received through ICQ equals to the other party's UIN.
1293 Set to other party's real nickname. Real means that even if you
1294 renamed the user in your contact list, this parameter will be equal
1295 to the original one, and not to what you set.
1299 The most intresting parameter. Using it, you can access further
1300 information about the user. Every time an external action is
1301 executed it is set to the user's information directory under your
1302 ~/.centericq/ directory. It makes it easier to access "about" and
1303 "info" files under it. Fetching lines from certain positions of the
1304 latter allows to get details. It's enough to take a look at an
1305 "info" file of any user to find out what lines mean. Here I'll
1306 describe the most useful ones:
1308 - the 2nd and 3rd lines contain user's first and last names
1310 - the 4th one contains user's e-mail address;
1311 - the 7th has the home city;
1312 - the 8th is used for the home state name;
1313 - the 9th is used for the home phone number;
1314 - the user's home country resides in the 14th line;
1317 To read a certain line from the info file I recommend to use the
1318 following shell command: "head -n <N> $CONTACT_INFODIR/info | tail -n 1",
1319 where N is the line number. Below the real examples go.
1321 fname=`head -n 2 $CONTACT_INFODIR/info | tail -n 1`
1322 # to fetch contact's first name
1324 lname=`head -n 3 $CONTACT_INFODIR/info | tail -n 1`
1325 # to fetch contact's last name
1327 The example from the next section demonstrates usage of the environment
1328 variables on an example of a simple answering machine :)
1331 9.3.1. IM answering machine
1332 ---------------------------
1334 This simple setup will answer on incoming messages automatically when
1335 you're away from your computer and your IM mode is set to Away or N/A.
1337 [ - cut (centericq external actions setup for an IM answering machine) ----- ]
1339 %action Answering machine
1348 fname=`head -n 2 $CONTACT_INFODIR/info | tail -n 1`
1349 lname=`head -n 3 $CONTACT_INFODIR/info | tail -n 1`
1352 Hello, $fname $lname!
1354 Unfortunatelly, I'm not near my box now, but I'll certainly contact you
1355 as soon as I get here.
1361 [ -------------------------------------------------------------------------- ]
1364 9.3.2. Elizatalk: making fun with your friends
1365 ----------------------------------------------
1367 One of the most intresting and funny uses for external actions in
1368 centericq is auto-responding chat robots. So far I know only one which
1369 is called Eliza. Unfortunatelly its doc covers only setup for licq, so
1370 it'll describe how to make it work with centericq here. Actually, it's
1371 not difficult thing to do at all.
1373 First, you'll have to download the elizatalk plugin itself. It's
1374 homepage can be found at the following URL:
1376 http://elizatalk.sourceforge.net/
1378 Let's assume we want it to work with all the IM engines, answer on
1379 messages only, and it's to be activated as soon as we're switched to
1380 away mode. All we need is to add one more section.
1382 [ - cut (centericq external actions setup for elizatalk) ------------------- ]
1388 options stdin stdout
1392 echo $msg | elizatalk
1394 [ -------------------------------------------------------------------------- ]
1396 Voila! You might also want to read the elizatalk documentation. Though,
1397 with my great explanations it's not necessary anymore :)
1400 9.3.3. Remote control with external actions
1401 -------------------------------------------
1403 Another useful thing you can make with external actions is remote
1404 control for your servers or workstations. You can write an action which
1405 will report you various diagnostic messages or perform administrative
1406 tasks reacting on special pre-defined commands that only you may know.
1407 So you just add a section to your ~/.centericq/external file, and leave
1408 centericq running. Of course, the commands can be requested through any
1409 of supported IM networks, though it's also configurable.
1411 The following example can report free disk space, uptime and files
1412 listing under your ~/.centericq/ directory. The commands are "df",
1413 "uptime" and "ls" respectively. As soon as centericq receives them it
1414 answers with external commands' answers. It won't reply any other
1417 [ - cut (centericq external actions setup for simple remote control) ------- ]
1419 %action Remote control
1423 options stdin stdout
1429 ls) ls -l ~/.centericq/;;
1434 [ -------------------------------------------------------------------------- ]
1437 9.3.4. Forwarding events
1438 ------------------------
1440 The same way it's possible to setup forwarding of events to other
1441 contacts, or with SMSes when you are away from centericq. The forwarding
1442 is to be performed with the centericq command line options described
1443 below, which allow to send events from out the program.
1445 The following example shows a simple setup for forwarding incoming icq
1446 messages when you're away to a cellular phone with SMS.
1448 [ - cut (centericq external actions setup for simple events forwarding) ---- ]
1450 %action ICQ messages forwarding
1460 echo $msg | centericq -s sms -p icq -t 0
1462 [ -------------------------------------------------------------------------- ]
1464 Please note UIN 0 is specified to send SMS to your own contact. Also,
1465 you can easily forward your incoming events to any other IM contacts,
1466 emails with the mail(1) command. In fact, everything you can access from
1467 the command line is possible to be used here.
1470 9.3.5. Hiding from scary ones
1471 -----------------------------
1473 This example will use the -S command line parameter which allows to
1474 control current status on IM networks from the command line.
1476 [ - cut (centericq external actions setup for hiding from scary ones) ------ ]
1478 %action Hide from freddy_krueger
1487 if test "$CONTACT_NICK" = "freddy_krueger"; then
1488 centericq -S _ -p $EVENT_NETWORK
1491 [ -------------------------------------------------------------------------- ]
1493 Such a setup will make your centericq go offline as soon as the
1494 freddy_krueger user appears online on any of the IM networks you're
1495 currently logged in.
1498 9.3.6. "Manual" external actions
1499 --------------------------------
1501 There were only automatically executed actions so far. "But where are
1502 manual ones?" - you will probably ask. Let me introduce to you the type
1503 of actions that can be executed either from the contact list or from the
1504 "users details" screen by pressing the F6 key. Such actions are executed
1505 depending on a menu selection, then the corresponding code is ran
1506 passing the data of a current contact, and if there was some output, it
1507 will be shown in a dialog. One of the applications of the feature is to
1508 invoke the host(1) command for a users' IP in order to find out his
1509 Internet domain name. If you're a cool hacker, you can bind invoking nmap
1510 this way or anything else you want :)
1512 [ - cut (external actions setup for invoking of host(1) manually) ---------- ]
1517 # Only ICQ shows up IP addresses
1523 ip=`head -n 45 $CONTACT_INFODIR/info | tail -n 1`
1524 for i in $ip; do ip=$i; break; done
1527 [ -------------------------------------------------------------------------- ]
1529 The strange "for" cycle is there because we want only the first IP
1530 number, while quite frequently there are two separated with a space,
1531 where the second one represents a local IP address which we don't need
1534 Add this section to your ~/.centericq/external and enjoy the comfort of
1535 not having to copy'n'paste the IP address in case you want to look up a
1539 9.4. Internal RSS reader
1540 ------------------------
1542 There is another useful technology whose power can be utilized with
1543 centericq. It's called RSS or just "Really Simple Syndication". It's
1544 about a uniform XML format which is used to describe recent changes at
1545 various web sites and not only web sites. Theoretically you can describe
1546 updates of any kind of information resources with it. See
1547 http://backend.userland.com/rss for more info about the format.
1549 Now, what centericq can do about it. Since version 4.9.5 it allows you
1550 to add RSS feeds to contact list just like they were usual contacts. You
1551 can also specify the check period. As soon as there are any updates, the
1552 contact pops up and you can read the news without a need to leave your
1553 favourite sweet IM proggy.
1555 In order to find out if there is an RSS feed for a web site you're
1556 looking to receiving updates from, navigate to it and look for a button
1557 saying something like "RSS" or "XML". Then take a link and add it to
1558 centericq. If there are no such a button, ask web master to setup the
1561 Also, there is a feed URL for you to try: http://thekonst.net/rss_en.xml
1562 Having added it to your centericq you can stay tuned about updates on
1563 the program author's site. You'll be announced about new releases of
1564 centericq and other cool pieces of free software, as well as on
1565 publication of various articles and photos which I take sometimes with
1568 LiveJournal syndications will also work. In order to subscribe to
1569 someone's updates, use the following URL:
1570 http://www.livejournal.com/users/USERNAME/rss/.
1571 As an example, you can try
1572 http://www.livejournal.com/users/thekonst/rss/
1573 (it's mainly in Russian though).
1576 9.5. Protocol debug mode
1577 ------------------------
1579 Actually I have this feature for myself, to track protocol messages
1580 generated by icqlib. But I also don't mind your looking at them :) The
1581 only thing I wanna warn you is that no questions about their meaning are
1582 answered. If you feel like seeing and understanding them, please refer
1583 to the unofficial ICQ protocol specification, icqlib sources, whatever..
1585 To enable this feature, just run centericq with --debug parameter.
1586 Protocol debug messages will be in the log window, and also they'll be
1587 written into the ~/.centericq/debug file.
1590 9.6. "Friendly" logging
1591 -----------------------
1593 Another (better) way to log what is going on in your centericq, is
1594 possible to be enabled with the "Detailed IM events log" item in the
1595 Configuration dialog. When enabled, centericq produces a log file named
1596 .centericq/log under your home directory. It contains messages about users'
1597 logging in and out, receiving and sending messages, changed your own IM
1598 status, and other blah. The file's format is quite clear, so any kind of
1599 automatic parsing tool can be written without a problem. Though in this
1600 case you should keep in mind the messages are locale dependent.
1603 9.7. Custom base directories
1604 ----------------------------
1606 By default, centericq uses the .centericq/ directory under your home
1607 to hold all of its information, such as configuration and contact list.
1608 There can be situations, when you want to have several IM identities in
1609 the same networks under the same UNIX account. To make it possible, the
1610 -b or (--basedir) command line parameter was implemented. It's syntax is
1611 simple "-b <directory name>"
1614 9.8. Latest CVS snapshots
1615 -------------------------
1617 If you wanna always have the recent version of the program, there is
1618 an annonymous CVS access and a script which allows you to download
1619 recent hot source with new features as soon as they appear.
1621 Ok, now how to do it. There is a script in the centericq package under
1622 the misc/ directory. If you use an RPM package, it's installed to your
1623 $prefix/bin/. Its name is cicqsync. Using it you can checkout or update
1624 your source snapshot any time.
1626 Command line usage is simple. Cicqsync takes two parameters, the first
1627 one is an action to perform (checkout - fresh copy from scratch, or
1628 update - to update an already checked out source), and the second is a
1629 path name to put the result to. Note that the directory must exist and
1630 centericq/ will be created under it.
1632 Once you checked out or updated the fresh source, a usual build
1633 procedure must be followed. Change current dir to {whatever}/centericq/,
1634 execute configure, make and make install. Voila!
1640 This section contains links and references that may be of interest for
1644 10.1. The program homepage
1645 --------------------------
1647 The centericq homepage can be found at
1648 http://thekonst.net/centericq/
1651 10.1.1. Centericq mailing list
1652 ------------------------------
1654 There is a mailing list for centericq which is used by the program
1655 users to discuss their ideas, bug reports, fixes, and other stuff. You
1656 would rather want to use it instead of direct mailing to me.
1658 To subscribe go to the centericq home page (URL is above) or send a
1659 message to cicq-request@mailman.linuxpl.org with "subscribe" in the subject
1660 field. To post a message to the list, send it to cicq@mailman.linuxpl.org
1661 after you subscribe. The archive can be found at
1662 http://news.gmane.org/gmane.network.centericq/
1665 10.1.2. German fan-club of the program :-)
1666 ------------------------------------------
1668 There are also some guys that decided to make their own resource on
1669 the web where they share advises, tips and tricks on using the program.
1670 I find it very nice. The site itself can be found at
1671 http://www.centericq.de/
1673 Also they made an irc channel at the freenode network, irc.freenode.net.
1674 The channel name is #centericq. The majority of centericq fans can be met
1681 If you want to find out more about my recent activities, news,
1682 software developments and other things I'm involved in, visit my web
1683 site at http://thekonst.net/
1686 10.3. Other programs I write
1687 ----------------------------
1689 To find out more about my software developments use the following URL:
1690 http://thekonst.net/konstware/
1692 There is also an "writings" section with my publications at
1693 http://thekonst.net/writings/
1699 Here I want to say thanks to authors of libraries I used for various
1700 IM protocols support in centericq.
1702 Barnaby Gray <barnaby@beedesign.co.uk>, who wrote a great library
1703 for icq2000 protocol and a GTK+ based ICQ client for UNIX.
1704 http://ickle.sourceforge.net/
1707 Mark Spencer <markster@marko.net>,
1708 Adam Fritzler <afritz@marko.net>,
1709 Rob Flynn <rob@marko.net>,
1710 Eric Warmenhoven <eric@warmenhoven.org>,
1711 Brian Macke <macke@strangelove.net>,
1712 Anand Biligiri S <abiligiri@users.sf.net>,
1714 Sean Egan <bj91704@binghamton.edu>,
1715 Toby Gray <toby.gray@ntlworld.com>
1716 for the library implementing the Yahoo! protocol.
1718 Ian Gulliver <ian@penguinhosting.net> for the nice Firetalk library
1719 used by centericq to provide the AIM and IRC services.
1721 The Jabber Team http://jabber.org/ for their GNU Jabber library.
1723 Since centericq contains support for the ICQ protocol taken from the
1724 original software made by Israeli company named "Mirabilis", you might
1725 wish to know more about it. So, visit the ICQ website at
1729 It provides information about the company itself along with a lot of
1730 community services including SMS messaging, web directory, and so on.
1733 11. Help to the project I would appreciate
1734 ------------------------------------------
1736 What if you think that centericq is the best text console based
1737 instant messaging program around? What if centericq is the application
1738 you'd been waiting whole of your life, and want to express your
1739 appreciation somehow? Helping the author you help the project itself to
1740 keep rolling. It's not something vital I require to keep on writing and
1741 improving centericq, neither you have to do it. I quite enjoy making it
1742 in my spare time, and happy of the fact there are no deadlines and
1743 obligations from my side. It's just my hobby.
1745 So how you can express appreciation to the way I waste my spare time,
1746 so that to make me a bit more happy and satisfied by my activities?
1747 There are several possibilites that bubbled out from my head while I was
1748 sitting here in the office sweating of July's heat.
1754 You can write some feedback saying what you liked and what is missing
1755 in the program. Also, don't be silent if you notice bugs. Just check
1756 everything attentively and send a detailed bug-report to the mailing
1757 list. Please don't drop into my icq messages like "I found the icq
1758 related bug, please fix it". The first reason is that usually during the
1759 day I'm in the office working, and I'm not involved into centericq
1760 development here too much. Also, such reports don't make sense because
1761 of the lack of details. Please be more precise.
1767 Don't wait for me to implement a feature you'd like to have in
1768 centericq. Please have in mind that whole the source code is available
1769 and you can modify it yourself, then make a patch and send it to me.
1770 Though I'd like you to follow my style of formatting the code. Please
1771 don't make any changes not related to the feature you implement, it
1772 makes your patch difficult to commit.
1775 11.3. Promoting the little program
1776 ----------------------------------
1778 I bet you read some computers related magazines and visit various
1779 Linux related sites. Please don't keep silence instead of screaming out
1780 your adoration for the little nice program. Submit it to a software site
1781 or catalogue or/and encourage the authors of your favourite magazine to
1782 take a look at it and possibly write about centericq. Interviews,
1783 speeches, presedential elections ;) and stuff are also possible, just
1784 contact me for more details.
1790 If you're a materialist guy like me, you might want to present me
1791 something what I can touch, put on a sandwich or into my pocket. Here it
1798 The most universal way. Depending on a sum I will be able to drink one
1799 more beer or tequila for the health of centericq users or buy a piece of
1800 hardware, electronic gagdet or the newest model of "Porsche" ;)
1802 The on-line donations page is located at
1803 http://centericq.de/donation/
1809 Since usually I write centericq at home, it's always nice to upgrade
1810 the computer it's being developed with. It can increase the speed and
1811 pleasure I get during the process.
1817 Other stuff like t-shirts, souvenirs, albums or postcards with nice
1818 views of the nature in places where you live, baseball tickets ;) are
1821 $Id: README,v 1.104 2005/01/31 15:21:16 konst Exp $