ratox

FIFO based tox client
git clone git://git.2f30.org/ratox
Log | Files | Refs | README | LICENSE

commit e66d4bff86cb9e4832c98968f1751097ed57ede0
parent 0c97a43e51d3960d9d296438701c4e37f5472f77
Author: pranomostro <pranomestro@gmail.com>
Date:   Thu, 16 Feb 2017 20:50:20 +0100

Update documentation with group-chats.

Diffstat:
MREADME | 14+++++++++++++-
Mratox.1 | 24++++++++++++++++++++++++
Mratox.c | 2+-
3 files changed, 38 insertions(+), 2 deletions(-)

diff --git a/README b/README @@ -53,6 +53,15 @@ to help explain the semantics of the individual files. | |-- text_in # 'echo yo dude > text_in' to send a text to this friend | `-- text_out # 'tail -f text_out' to dump to stdout any text received | +|-- 00000000 +| |-- members # list of people in the conference +| |-- invite # 'echo 0A734CBA717CEB7883D.... >invite' to invite +| |-- leave # 'echo 1 >leave' to leave the conference +| |-- title_in # 'echo new-title >title_in' to update the conference title +| |-- title_out # contains the current title +| |-- text_in # 'echo blablahumbla >text_in' to message the other conference members +| |-- text_out # contains the messages sent so far in the conference +| |-- id # 'cat id' to show your own ID, you can give this to your friends | |-- name # changing your nick @@ -86,7 +95,7 @@ Features 1 v 1 messaging: Yes File transfer: Yes -Group chat: No +Group chat: Yes Audio: Yes Video: No DNS discovery: No @@ -115,6 +124,9 @@ NOTE: Some of these features are not intended to be developed in ratox itself but rather in external scripts[1] that are built upon ratox. +Group chats do not have file transfers or audio, but will be updated +in the near future. + Examples ======== diff --git a/ratox.1 b/ratox.1 @@ -58,6 +58,10 @@ Status message slot. Request slot. Send a friend request by piping the Tox ID to \fBin\fR. Incoming requests are listed as FIFOs in \fBout/\fR. Echo \fB1\fR | \fB0\fR to accept | reject them. +.It Ar conf/ +Conference management slot. A conference is created by writing it's title to in. Invites +to conferences are FIFOs in \fBout/\fR. Their name is id_cookie (the cookie is random data). +They behave like request FIFOs. .El .Ss Friend slots Each friend is represented with a folder in the base-directory named after @@ -107,6 +111,26 @@ Send a text message by piping data to this FIFO. .It Ar text_out Contains text messages from the friend. .El +.Ss Conference slots +Each conference is represented with a folder in the directory named after the +8-digit conference number. The files in the conference folder are an interface +for the respective conference. +.Bl -tag -width 13n +.It Ar members +Contains a list of members of the conference. +.It Ar invite +Write the ID of a friend to this FIFO to invite him to the conference. +.It Ar leave +Write to this file to leave the conference. +.It Ar title_in +Write here to change the title of the conference. +.It Ar title_out +Contains the title of the conference. +.It Ar text_in +Echo \fBmessage\fR to send a text message to the conference. +.It Ar text_out +Contains the messages send in the conference so far. +.El .Ss Misc files .Bl -tag -width 13n .It Ar id diff --git a/ratox.c b/ratox.c @@ -124,8 +124,8 @@ static struct file cfiles[] = { [CMEMBERS] = { .type = STATIC, .name = "members", .flags = O_WRONLY | O_TRUNC | O_CREAT }, [CINVITE] = { .type = FIFO, .name = "invite", .flags = O_RDONLY | O_NONBLOCK }, [CLEAVE] = { .type = FIFO, .name = "leave", .flags = O_RDONLY | O_NONBLOCK }, - [CTITLE_OUT] = { .type = STATIC, .name = "title_out", .flags = O_WRONLY | O_TRUNC | O_CREAT }, [CTITLE_IN] = { .type = FIFO, .name = "title_in", .flags = O_RDONLY | O_NONBLOCK }, + [CTITLE_OUT] = { .type = STATIC, .name = "title_out", .flags = O_WRONLY | O_TRUNC | O_CREAT }, [CTEXT_IN] = { .type = FIFO, .name = "text_in", .flags = O_RDONLY | O_NONBLOCK }, [CTEXT_OUT] = { .type = STATIC, .name = "text_out", .flags = O_WRONLY | O_APPEND | O_CREAT }, };