README.rst 6.43 KB
Newer Older
mathieui's avatar
mathieui committed
1
::
mathieui's avatar
mathieui committed
2
3
4
5
6
7
8
9
10

                          _
                         (_)
     _ __   ___   ___ _____  ___
    | '_ \ / _ \ / _ \_  / |/ _ \
    | |_) | (_) |  __// /| | (_) |
    | .__/ \___/ \___/___|_|\___/
    | |
    |_|
11

12
Homepage:      https://poez.io
mathieui's avatar
mathieui committed
13

14
Forge Page:    https://dev.poez.io
15

16
Poezio is a console Jabber/XMPP client.  Its goal is to use anonymous
louiz’'s avatar
louiz’ committed
17
connections to simply let the user join MultiUserChats.  This way, the user
18
doesn't have to create a Jabber account, exactly like people are using
louiz’'s avatar
louiz’ committed
19
20
IRC.  Poezio's commands are designed to be (if possible) like commonly
used IRC clients (weechat, irssi, etc).
mathieui's avatar
mathieui committed
21

22
Since version 0.7, poezio can handle real Jabber accounts along with
mathieui's avatar
mathieui committed
23
roster and one-to-one conversations, making it a full-featured console
24
Jabber client, but still MultiUserChats-centered.
mathieui's avatar
mathieui committed
25
In the future, poezio should implement at a 100% level all XEP related to
26
MUCs, especially XEP 0045.
27

28
=======================
mathieui's avatar
mathieui committed
29
    Install
30
=======================
mathieui's avatar
mathieui committed
31

mathieui's avatar
mathieui committed
32
33
34
You need python 3.4 or higher (preferably the latest) and the associated devel
package, to build C modules, and the slixmpp python library.
You also need aiodns if you want SRV record support.
mathieui's avatar
mathieui committed
35
36
37
38
39

Additionally, you’ll need sphinx to build the documentation pages.
To read the documentation without these dependancies just read the rst
files in the doc/source/ directory or the generated documentation on the
website.
40

41
The simplest way to have up-to-date dependencies and to be able to test
mathieui's avatar
mathieui committed
42
this developement version is to use the ``update.sh`` script that downloads
43
them, places them in the right directory, and builds the C module.
44

45
You can then launch poezio with
46

mathieui's avatar
mathieui committed
47
::
louiz’'s avatar
louiz’ committed
48

mathieui's avatar
mathieui committed
49
    $ ./launch.sh
louiz’'s avatar
louiz’ committed
50

mathieui's avatar
mathieui committed
51
you can now simply launch ``poezio``
52

mathieui's avatar
mathieui committed
53
You can edit the configuration file which is located in
mathieui's avatar
mathieui committed
54
55
56
``~/.config/poezio/poezio.cfg`` by default, and you will have to copy
and edit ``data/default_config.cfg`` if you want to edit the config before
the first launch. The default config file is fully commented, but you can
mathieui's avatar
mathieui committed
57
58
also read the “Configuration” documentation page which has links between
options and longer descriptions.
59

mathieui's avatar
mathieui committed
60
Please see the online documentation for more information on installing,
61
configuring or using poezio: https://doc.poez.io/
62

louiz’'s avatar
louiz’ committed
63
If you still have questions, or if you're lost, don't hesitate to come
64
65
talk to us directly on our Jabber chat room (see Contact section).

mathieui's avatar
mathieui committed
66
67
Please DO report any bug you encounter and ask for any feature you want
(we may implement it or not, but it’s always better to ask).
68

69
=======================
mathieui's avatar
mathieui committed
70
    Authors
71
72
=======================

mathieui's avatar
mathieui committed
73
74
- Florent Le Coz (louiz’) <louiz@louiz.org> (developer)
- Mathieu Pasquet (mathieui) <mathieui@mathieui.net> (developer)
louiz’'s avatar
louiz’ committed
75

76
77
78
=======================
    Contact/support
=======================
mathieui's avatar
mathieui committed
79
80
81

Jabber ChatRoom:   `poezio@muc.poez.io <xmpp:poezio@muc.poez.io?join>`_

82
Report a bug:      https://dev.poez.io/new
louiz’'s avatar
louiz’ committed
83

84
=======================
mathieui's avatar
mathieui committed
85
    License
86
=======================
mathieui's avatar
mathieui committed
87

88
89
90
Poezio is Free Software.
(learn more: http://www.gnu.org/philosophy/free-sw.html)

91
Poezio is released under the zlib License.
92
Please read the COPYING file for details.
93

94
The artwork logo was made by Gaëtan Ribémont and released under
95
96
the Creative Commons BY license (http://creativecommons.org/licenses/by/2.0/)

97
98
99
100

=======================
       Hacking
=======================
mathieui's avatar
mathieui committed
101

mathieui's avatar
mathieui committed
102
103
104
105
106
If you want to contribute, you will be welcome on
`poezio@muc.poez.io <xmpp:poezio@muc.poez.io?join>`_ to announce your
ideas, what you are going to do, or to seek help if you have trouble
understanding some of the code.

107
108
109
110
111
112
113
114
115
116
117
The preferred way to submit changes is through a public git repository.
But mercurial repositories or simple patches are also welcome.

For contributors having commit access:

This section explains how the git repository is organized.
The “master” branch is the branch where all recent development is made.  This is
the unstable version, which can be broken, but we should try to keep it usable
and crash-free as much as possible (so, never push to it if you are adding a
*known* crash).

mathieui's avatar
mathieui committed
118
New big features that take time to be complete should be developed in feature
119
120
121
122
branches (for example the “plugins” or the “opt” branches).
If it’s a really long feature, merge the “master” branch in that feature branch
from time to time, to avoid huge merges (and merge issues) when you’ll have to
merge your feature back in “master”.
mathieui's avatar
mathieui committed
123

124
125
126
127
Merge your work in master once it works and is usable, not necessarily when
it’s 100% finished.  Polishing and last bug fixes can take place in “master”.

Conflicts should be solved with *rebase* and not with merge.  This means
mathieui's avatar
mathieui committed
128
that if two developers commited one thing at the same time in their own
129
130
repository, the first pushes on the public public repos, and the other
has to pull before being able to push too.  In that case, the second
mathieui's avatar
mathieui committed
131
developer should use the rebase command instead of merge.  This avoids
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
creating unnecessary “branches” and visible merges.
On the contrary, when merging feature branches back to “master”, we should
use merge with the --no-ff tag (this makes sure the branch will always
distinctly appear in the logs), even if no conflict occured.

Finally, when a release is ready, we should merge the “master” branch
into the releases branch, then tag it to that version number.
If an “urgent” bugfix has to be made for a release (for example
a security issue is discovered on the last stable version, and
the current master has evolved too much to be released in the current
state), we create a new bugfix branch from the “releases” branch, we fix
it and finally merge it back to the “releases” branch, and tag it (and
we merge it to “master” as well, of course).


147
=======================
mathieui's avatar
mathieui committed
148
    Thanks
149
=======================
mathieui's avatar
mathieui committed
150

mathieui's avatar
mathieui committed
151
152
153
154
- People:
    - Todd Eisenberger - Plugin system and OTR support
    - Jérôme Parment (Manfraid) - Code, testing
    - Link Mauve - Code, testing
mathieui's avatar
mathieui committed
155
156
157
158
159
160
161
162
163
    - Akim Sadaoui - Code
    - Florian Duraffourg - Code
    - Frédéric Meynadier - Code
    - Georg Lukas - Code
    - Johannes Krude - Code
    - Łabędź - Code
    - Lasse Aagren - Code
    - Lancelot SIX - Code
    - Luke Marlin - Code
Maxime Buquet's avatar
Maxime Buquet committed
164
    - Maxime Buquet - Code
mathieui's avatar
mathieui committed
165
    - Nicolas Braud-Santoni - Code
mathieui's avatar
mathieui committed
166
167
    - Perdu - Code
    - Eijebong - Code
168
    - Gaëtan Ribémont - Logo design
mathieui's avatar
mathieui committed
169
170
171
172
173
174
    - Ovart - Testing
    - Koshie - Donation
    - Gapan - Makefile
    - FlashCode (weechat dev) - Useful advices on how to use ncurses efficiently
    - And all the people using and testing poezio, and especially the ones present
      on the jabber chatroom doing bug reports and/or feature requests.