Remove redundant NULL checks
[pidgin-git.git] / doc / finch.1.in
blobc79e5e73394a9f7b8f66ec7ce314d2030efd0e15
1 .\" Copyright (c) 2006, Sadrul Habib Chowdhury <sadrul@users.sf.net>
2 .\"
3 .\" This is free documentation; you can redistribute it and/or
4 .\" modify it under the terms of the GNU General Public License as
5 .\" published by the Free Software Foundation; either version 2 of
6 .\" the License, or (at your option) any later version.
7 .\"
8 .\" The GNU General Public License's references to "object code"
9 .\" and "executables" are to be interpreted as the output of any
10 .\" document formatting or typesetting system, including
11 .\" intermediate and printed output.
12 .\"
13 .\" This manual is distributed in the hope that it will be useful,
14 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
15 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 .\" GNU General Public License for more details.
17 .\"
18 .\" You should have received a copy of the GNU General Public
19 .\" License along with this manual; if not, write to the Free
20 .\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
21 .\" USA.
22 .TH finch 1
23 .SH NAME
24 Finch \- A Pimpin' Penguin console frontend to libpurple. Instant
25 Messaging client.
26 .SH SYNOPSIS
27 .TP 5
28 \fBfinch \fI[options]\fR
30 .SH DESCRIPTION
31 .PP
32 \fBfinch\fR is a console-based modular messaging client based on libpurple
33 which is capable of connecting to AIM, XMPP, ICQ, IRC, SILC,
34 Novell GroupWise, Lotus Sametime, Zephyr, Gadu-Gadu, and QQ all at once. It has
35 many common features found in other clients, as well as many unique features.
36 Finch is not endorsed by or affiliated with America Online, ICQ, or Microsoft.
38 .SH OPTIONS
39 The following options are provided by \fBfinch\fR using the standard GNU
40 command line syntax:
41 .TP
42 .B \-c, \-\-config=\fIDIR\fB
43 Use \fIDIR\fR as the directory for config files instead of \fI~/.purple\fR.
44 .TP
45 .B \-d, \-\-debug
46 Print debugging messages to stderr and start with the \fBDebug\fR window. The
47 messages shown in the \fBDebug\fR window are the same as the ones printed in
48 stderr.
49 .TP
50 .B \-h, \-\-help
51 Print this help and exit.
52 .TP
53 .B \-n, \-\-nologin
54 Don't automatically login when \fBfinch\fR starts.  Sets all accounts to
55 Offline.
56 .TP
57 .B \-v, \-\-version
58 Display the version information window.
60 .SH GNT Shortcuts
61 You can use the following shortcuts (see the "Widget Actions" section for a more complete list):
62 .TP
63 .B Alt \+ a
64 Bring up a list of available actions. You can use this list to access the
65 accounts window, plugins window, preference window etc.
66 .TP
67 .B Alt \+ n
68 Go to the next window.
69 .TP
70 .B Alt \+ p
71 Go to the previous window.
72 .TP
73 .B Alt \+ w
74 Show the list of windows. You can select and jump to any window from the list.
75 .TP
76 .B Alt \+ c
77 Close the current window.
78 .TP
79 .B Alt \+ q
80 Quit.
81 .TP
82 .B Alt \+ m
83 Start moving a window. Press the cursor keys to move the window. When you are
84 done, press \fBEnter\fR or \fBEscape\fR.
85 .TP
86 .B Alt \+ r
87 Start resizing a window. Press the cursor keys to resize the window. When you
88 are done, press \fBEnter\fR or \fBEscape\fR.
89 .TP
90 .B Alt \+ D
91 Dump the contents of the screen in HTML format.
92 .TP
93 .B Alt \+ .
94 Move the position of the current window in the window list one place to the
95 right.
96 .TP
97 .B Alt \+ ,
98 Move the position of the current window in the window list one place to the
99 left.
101 .B Alt \+ l
102 Refresh the windows. This is useful after resizing the terminal window.
104 .B Alt \+ 1 2 ... 0
105 Jump to the 1st, 2nd ... 10th window.
107 .B Alt \+ Tab
108 Jump to the next URGENT (highlighted) window.
110 .B Alt \+ Shift \+ Tab
111 Jump to the previous URGENT (highlighted) window.
113 .B Ctrl \+ o \fR or \fB F10
114 Bring up the menu (if there is one) for a window.
116 .B F11 \fR or \fB Ctrl \+ x
117 Popup the context menu (if there is one) for the selected widget.
119 .B Alt \+ /
120 Show a list of available key-bindings for the current widget in focus.
122 .B Alt \+ \>
123 Switch to the next workspace
125 .B Alt \+ \<
126 Switch to the previous workspace
128 .B Alt \+ t
129 Tag (or untag) the current window
131 .B Alt \+ T
132 Attached all the tagged windows to the current workspace
134 .B Alt \+ s
135 Show the workspace list
137 .B F9
138 Create a new workspace and switch to it
140 .SH FILES
141 \fI~/.gntrc\fR: configuration file for gnt applications.
144 A sample file looks like:
146 [Finch]
148 color-available = green; black
150 color-away = blue; black
152 color-idle = gray; black
154 color-offline = red; black
156 color-message-sent = cyan; default
158 color-message-received = red; default
160 color-message-highlight = black; green
162 color-message-action = yellow; default
164 color-timestamp = blue; default
166 #See below for details on color
169 [general]
171 shadow = 0
173 # There is experimental mouse support
175 mouse = 1
177 # To use some custom window-manager
179 wm = /usr/local/lib/gnt/s.so
181 # There's also a custom window manager called irssi.so
183 # Remember window-positions based on the titles (on by default)
185 remember_position = 1
187 # Use borderless one-line high buttons
189 small-button = true
192 # Workspaces are created simply by adding Workspace-X groups as follows:
194 [Workspace-1]
196 name = blist
198 # window-names specifies that windows with these semi-colon separated names are placed
199 into this workspace
201 window-names = buddylist;debug-window
205 [Workspace-2]
207 name = IM
209 window-names = conversation-window
211 # window-titles specifies that windows with these semi-colon separated titles are placed
212 into this workspace. These are matched as substrings. Window titles take precedence over
213 names.
215 window-titles = Preferences;Pounce
219 [colors]
221 # The RGB values range in [0, 1000]
223 black = 0; 0; 0
225 red = 1000; 0; 0
227 green = 0; 1000; 0
229 blue = 250; 250; 700
231 white = 1000; 1000; 1000
233 gray = 700; 700; 700
235 darkgray = 256; 256; 256
239 [colorpairs]
241 normal = white; black
243 highlight = white; blue
245 highlightd = black; gray
247 shadow = black; darkgray
249 title = white; blue
251 titled = white; gray
253 text = white; blue
255 disabled = gray; black
257 urgent = green; black
261 # Remap some keys for GntEntry
263 [GntEntry::remap]
265 # Remap the up-arrow to the left-arrow
267 ^[[A = ^[[D
269 # Remap the down-arrow to the right-arrow
271 ^[[B = ^[[C
273 # Remap 'a' to 'bcd'
275 a = bcd
277 # Completely ignore the key 'q'
279 q = 
281 # But the following will NOT work
283 #abc = bcd
286 # Hitting 'space' will activate a button
288 [GntButton::remap]
290 \\  = \\r
293 .SH Widget Actions
294 You can specifiy key-bindings for specific widgets. The following entries in
295 \fI~/.gntrc\fR correspond to the default keybindings for the actions:
298 [GntBox::binding]
300 tab = focus-next
302 right = focus-next
304 left = focus-prev
307 [GntComboBox::binding]
309 down = dropdown
311 up = dropdown
314 [GntEntry::binding]
316 c-a = cursor-home
318 home = cursor-home
320 c-e = cursor-end
322 end = cursor-end
324 backspace = delete-prev
326 del = delete-next
328 c-d = delete-next
330 c-u = delete-start
332 c-k = delete-end
334 c-b = cursor-prev
336 left = cursor-prev
338 c-f = cursor-next
340 right = cursor-next
342 tab = suggest-show
344 down = suggest-next
346 up = suggest-prev
348 page-down = suggest-next-page
350 page-up = suggest-prev-page
352 c-w = delete-prev-word
354 a-b = cursor-prev-word
356 a-f = cursor-next-word
358 a-d = delete-next-word
360 c-v = clipboard-paste
362 c-p = history-prev
364 c-n = history-next
366 c-r = history-search
368 c-up = history-prev
370 c-down = history-next
373 [GntTree::binding]
375 up = move-up
377 down = move-down
379 c-n = move-down
381 c-p = move-up
383 pageup = page-up
385 pagedown = page-down
387 backspace = move-parent
389 home = move-first
391 end = move-last
393 # Following is the default binding for the context-menu
395 menu = context-menu
397 # The following will let you open the context-menu in the buddylist with c-b
399 # c-b = context-menu
402 [GntWidget::binding]
404 f11 = context-menu
406 c-x = context-menu
408 [GntWindow::binding]
410 c-o = show-menu
412 f10 = show-menu
414 The \fBc-\fR corresponds to the \fBControl\fR key. You can also use \fBctrl-\fR
415 or \fBctr-\fR or \fBctl-\fR to indicate a combination. For alt-keys, you can use
416 one of \fBa-\fR, \fBalt-\fR, \fBm-\fR or \fBmeta-\fR. You can also use
417 \fBhome\fR, \fBend\fR, \fBleft\fR, \fBright\fR etc. keys.
419 To unbind a key which has a default binding, you simply bind it to the empty string.  For example, to unbind \fBAlt + q\fR from the Quit function, you would use:
421 [GntWM::binding]
423 a-q =
425 .SH Menus
426 You can also specify key-bindings to trigger specific menuitems in windows. For example, the following entry in \fI~/.gntrc\fR will bind \fBCtrl + t\fR to the 'Send IM...' item in the buddylist:
428 [buddylist::menu]
430 c-t = send-im
432 The following is the list of IDs of the current menuitems in the buddylist:
434 send-im
436 join-chat
438 show-empty-groups
440 show-offline-buddies
442 sort-status
444 sort-alpha
446 sort-log
448 add-buddy
450 add-chat
452 add-group
454 .SH Mouse Support
455 There is experimental mouse support. You can focus windows, activate buttons,
456 select rows in a list, scroll using the wheel-scroll etc. Selecting text in a
457 text-view copies it to the gnt clipboard. Mouse support is disabled by default,
458 so you need to enable it in \fI~/.gntrc\fR (see the sample above).
460 .SH Window Management
461 The default window management is very limited. But it is possible to write
462 custom window managers to suit your needs. There is a sample window-manager
463 included (named \fIs.so\fR) which adds a little 'close-button' for the windows,
464 removes the borders from the buddylist and pops up new windows in the middle of
465 the screen, instead of at the upper-left corder. It is provided as a sample
466 simple manager, but it should be possible to write more complex managers, and
467 it's very possible that the window-manager API will need to be enhanced. Look at
468 the sample \fI~/.gntrc\fR file above to see how to select a window-manager.
470 It is also possible to rebind the window-manager actions in \fI~/.gntrc\fR, eg:
473 [GntWM::binding]
475 a-n = window-next
477 a-p = window-prev
479 a-c = window-close
481 a-w = window-list
483 a-d = dump-screen
485 a-, = shift-left
487 a-. = shift-right
489 a-a = action-list
491 a-m = start-move
493 a-r = start-resize
495 a-q = wm-quit
497 a-l = refresh-screen
499 a-s = workspace-list
501 a-t = window-tag
503 a-T = place-tagged
505 a-C = toggle-clipboard
507 a-/ = help-for-widget
509 a-c-j = window-scroll-down
511 a-c-k = window-scroll-up
513 # The following action is still incomplete, and doesn't have a default binding
515 # switch-window-n
517 # Other actions: window-next-urgent, window-prev-urgent
519 # For the sample custom window manager
521 [GntS::binding]
523 a-b = toggle-buddylist
525 # For the irssi window manager
527 [Irssi::binding]
529 a-L = move-right
531 a-H = move-left
533 a-J = move-down
535 a-K = move-up
537 .SH Conversation Commands
538 There are a few helpful commands in addition to the regular commands. You can
539 use these from any conversation to access other windows.
542 .B accounts
543 for the accounts window.
546 .B buddylist
547 for the buddylist.
550 .B debugwin
551 for the debug window.
554 .B plugins
555 for the plugins window.
558 .B prefs
559 for the preferences window.
562 .B status
563 for the status window.
565 .SH FAQ
566 FAQ for \fBfinch\fR is located at
568 \fIhttp://developer.pidgin.im/wiki/Using%20Finch\fR
570 .SH BUGS
571 Known bugs are listed at
573 \fIhttp://developer.pidgin.im/query?status=new&status=assigned&status=reopened&component=finch+%28gnt%2Fncurses%29&order=priority\fR
575 Before sending a bug report, please verify that you have the latest
576 version of \fBfinch\fR and libpurple.  Many bugs (major and minor) are
577 fixed at each release, and if yours is out of date, the problem may already have
578 been solved.
580 .SH PATCHES
581 If you fix a bug in \fBfinch\fR (or otherwise enhance it), please submit a
582 patch (using \fBmtn diff > my.diff\fR against the latest version from the
583 Monotone repository) at \fIhttp://developer.pidgin.im/simpleticket\fR
585 You are also encouraged to drop by at \fB#pidgin\fR on \fIirc.freenode.net\fR
586 to discuss development.
588 .SH SEE ALSO
589 \fIhttp://pidgin.im/\fR
591 \fIhttp://developer.pidgin.im/\fR
593 \fBpurple-remote\fR(1)
595 \fBpidgin\fR(1)
597 .SH LICENSE
598 This program is free software; you can redistribute it and/or modify
599 it under the terms of the GNU General Public License as published by
600 the Free Software Foundation; either version 2 of the License, or
601 (at your option) any later version.
603 This program is distributed in the hope that it will be useful, but
604 \fBWITHOUT ANY WARRANTY\fR; without even the implied warranty of
605 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
606 General Public License for more details.
608 You should have received a copy of the GNU General Public License
609 along with this program; if not, write to the Free Software
610 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
612 .SH AUTHORS
613 Sadrul Habib Chowdhury <\fIsadrul@users.sourceforge.net\fR>
616 This manpage was written by Sadrul Habib Chowdhury
617 <\fIsadrul@users.sourceforge.net\fR> and Dennis Ristuccia
618 <\fIdennis@dennisr.net\fR>.