Annotate

README @ 35:37540f89d4e2

clix.lua: Hook Verse's new 'ready' event instead of 'binding-success' and switch to 'bind-failure' for hooking resource bind failures
author Matthew Wild <mwild1@gmail.com>
date Sun, 30 May 2010 02:56:40 +0100
parent 31:7f649b0ba94d
child 39:4b08296a6748
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 # clix - Command-line XMPP tool
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3 ## Description
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4 Clix is a small utility to interact with an XMPP server. It can be
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5 used to send messages, presence, and info queries to any XMPP address.
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7 ## Example
30
2323adeb8c7c README: Rename 'message' command to 'send' in the example
Matthew Wild <mwild1@gmail.com>
parents: 10
diff changeset
8 clix send --to=user@example.com "The kettle has now boiled"
6
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10 ## Usage
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11 Syntax: clix COMMAND [OPTIONS] [...]
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13 Different commands accept different sets of options, but they all
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
14 follow some general conventions. The command must be the first
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
15 parameter, followed by a series of flags or options. Global options
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
16 include:
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
17
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
18 --account=default
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
19 The account to use from the configuration file (default
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
20 is 'default')
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
21
31
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
22 -c
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
23 --chatroom[=chatroom address]
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
24 Join a chatroom, if no address is specified then the value
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
25 of the --to parameter is used.
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
26
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
27 --nick=nickname
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
28 The nickname to use if clix joins a chatroom, default "clix"
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
29
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
30 -o
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
31 --presence
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
32 Send presence, that is - appear online to contacts.
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
33
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
34 -p
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
35 --password=password
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
36 Set the password to use for authentication (overrides config)
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
37
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
38 -r
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
39 --resource=resource
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
40 Set the resource to use (default is to let the server choose)
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
41
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
42 -q
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
43 --quiet
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
44 Suppress informational messages
7f649b0ba94d README: Add description of options common to all commands
Matthew Wild <mwild1@gmail.com>
parents: 30
diff changeset
45
6
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
46 -v
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
47 --verbose
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
48 Enables verbose logging of the XMPP connection
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
49
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
50 When no command is specified, clix will print a list of the names
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
51 and descriptions of all built-in commands.
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
52
10
49b83fa1f6fd README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents: 6
diff changeset
53 ## Configuration
49b83fa1f6fd README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents: 6
diff changeset
54 Clix looks for its config file at $HOME/.clix - it is a simple 'ini'
49b83fa1f6fd README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents: 6
diff changeset
55 format, which looks like this:
49b83fa1f6fd README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents: 6
diff changeset
56
49b83fa1f6fd README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents: 6
diff changeset
57 [default]
49b83fa1f6fd README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents: 6
diff changeset
58 jid=user@example.com
49b83fa1f6fd README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents: 6
diff changeset
59 password=mypassword
49b83fa1f6fd README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents: 6
diff changeset
60
49b83fa1f6fd README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents: 6
diff changeset
61 [otheraccount]
49b83fa1f6fd README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents: 6
diff changeset
62 jid=otheruser@example.org
49b83fa1f6fd README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents: 6
diff changeset
63 password=theirpassword
49b83fa1f6fd README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents: 6
diff changeset
64
49b83fa1f6fd README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents: 6
diff changeset
65 and so on. You can define as many accounts as you want, if no account
49b83fa1f6fd README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents: 6
diff changeset
66 is called 'default' then the first account is the default. If there is
49b83fa1f6fd README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents: 6
diff changeset
67 no [] header at the start of the file it is assumed to be [default].
49b83fa1f6fd README: Add config file example
Matthew Wild <mwild1@gmail.com>
parents: 6
diff changeset
68
6
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
69 ## Building and installing
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
70 Building clix is (by no accident) quite simple. It depends on Verse,
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
71 an XMPP client library for Lua. Verse in turn depends on several
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
72 libraries, all dependencies are listed here.
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
73
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
74 Verse 2.0+: http://matthewwild.co.uk/projects/verse
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
75 At the time of writing Verse 2.x has not been released yet and
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
76 is available only from: http://code.matthewwild.co.uk/verse/
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
77
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
78 LuaExpat: http://www.keplerproject.org/luaexpat/
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
79 Lua XML parser. Available in Debian as liblua5.1-expat0
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
80
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
81 LuaSocket: http://www.tecgraf.puc-rio.br/~diego/professional/luasocket/
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
82 Lua networking library. Available in Debian as liblua5.1-socket2
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
83
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
84 Clix can be run directly from source if the above dependencies are
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
85 installed. To make life easier it can be installed to standard directories,
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
86 on most systems this means to copy clix.lua to /usr/bin/clix and the clix
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
87 directory to /usr/lib/lua/5.1/clix (on some non-Debian systems the 5.1
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
88 directory isn't needed).
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
89
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
90 Alternatively you can use Squish to compress all Clix's files into a single
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
91 executable. If you have Squish installed then simply type 'squish' in
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
92 clix's source directory to generate the compacted 'clix.bin' file. Squish
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
93 can be found at http://matthewwild.co.uk/projects/squish .
0ec2fd06a962 README: Added
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
94