commit 8fef627

Hubert Hirtz  ·  2020-08-20 10:58:25 +0000 UTC
parent 8987e7f
git add doc
2 files changed,  +226, -0
+140, -0
  1@@ -0,0 +1,140 @@
  2+senpai(1)
  3+
  4+# NAME
  5+
  6+senpai - your everyday IRC student
  7+
  8+# SYNOPSIS
  9+
 10+*senpai* [options...]
 11+
 12+# OPTIONS
 13+
 14+*-config* <path>
 15+	Use a different path for the configuration file.
 16+
 17+*-debug*
 18+	Show all IRC messages that are received from/sent to the server.
 19+
 20+# DESCRIPTION
 21+
 22+senpai is an IRC client made for bouncers.  It supports the newest IRC
 23+extensions, such as:
 24+
 25+- _CHATHISTORY_, senpai fetches history from the server instead of keeping logs,
 26+- _@+typing_, senpai shows when others are typing a message,
 27+- and more to come!
 28+
 29+# CONFIGURATION
 30+
 31+senpai needs a configuration file to start.  It searches for it in the following
 32+location:
 33+
 34+	$XDG_CONFIG_HOME/senpai/senpai.yaml
 35+
 36+If unset, $XDG_CONFIG_HOME defaults to *~/.config*.
 37+
 38+For information about the configuration format, see *senpai*(5).
 39+
 40+# USER INTERFACE
 41+
 42+The user interface of senpai consists of 4 parts.  Starting from the bottom:
 43+
 44+The *buffer list*, shows joined channels.  The special buffer *home* is where
 45+private messages and server notices are shown.
 46+
 47+On the row above, *input field* is where you type in messages or commands (see
 48+*COMMANDS*).  By default, when you type a message, senpai will send a
 49+notification to the current channel and other will be able to know you are
 50+typing.
 51+
 52+On the row above, the *status line* (or... just a line if nothing is
 53+happening...) is where typing indicator are shown (e.g. "dan- is typing...").
 54+
 55+Finally, the *timeline* is displayed on the rest of the screen.  There are
 56+several types of messages in the timeline:
 57+
 58+- User messages are shown with their nicknames,
 59+- User actions (*/me*) are shown with an asterisk (*\**) followed by the user
 60+  nickname,
 61+- Status messages, such as joins, parts, topics and name lists, are shown with
 62+  two dashes (*--*),
 63+- Notices are shown with an asterisk (*\**) followed by the message in
 64+  parenthesis.
 65+
 66+# KEYBOARD SHORTCUTS
 67+
 68+*CTRL-C*
 69+	Quit the program.
 70+
 71+*CTRL-U*, *PgUp*
 72+	Go up in the timeline.
 73+
 74+*CTRL-D*, *PgDown*
 75+	Go down in the timeline.
 76+
 77+*CTRL-N*, *ALT-RIGHT*
 78+	Go to the next buffer.
 79+
 80+*CTRL-P*, *ALT-LEFT*
 81+	Go to the previous buffer.
 82+
 83+*UP*, *DOWN*, *LEFT*, *RIGHT*, *HOME*, *END*, *BACKSPACE*, *DELETE*
 84+	Edit the text in the input field.
 85+
 86+*ENTER*
 87+	Sends the contents of the input field.
 88+
 89+*TAB*
 90+	Trigger the auto-completion.  Press several times to cycle through
 91+	completions.
 92+
 93+*CTRL-L*
 94+	Refresh the window.
 95+
 96+# COMMANDS
 97+
 98+If the user types and sends a message that starts with a slash (*/*), it will
 99+instead be interpreted as a command:
100+
101+	/_name_ argument1 argument2...
102+
103+_name_ is matched case-insensitively.  It can be one of the following:
104+
105+*J*, *JOIN* <channel>
106+	Joins the given channel.
107+
108+*PART* [channel]
109+	Part the given channel, defaults to the current one if omitted.
110+
111+*NAMES*
112+	Shows the member list of the current channel.  Powerlevels (such as _@_ for
113+	"operator", or _+_ for "voice") are shown in green.
114+
115+*TOPIC* [topic]
116+	If _topic_ is omitted, shows the topic of the current channel and, if
117+	available, the person who set it and the time when it has been set.
118+
119+	Otherwise, change the topic of the current channel to _topic_.
120+
121+*MSG* <target> <content>
122+	Sends _content_ to _target_.
123+
124+*R* <content>
125+	Reply to the last person who sent you a private message.
126+
127+*ME* <content>
128+	Sends a message prefixed with your nick (a user action).
129+
130+*QUOTE* <raw message>
131+	Sends _raw message_ verbatim.
132+
133+# SEE ALSO
134+
135+*senpai*(5)
136+
137+# AUTHORS
138+
139+Your home-made senpai by Hubert Hirtz <hubert@hirtzfr.eu>!++
140+Sources are available at <https://git.sr.ht/~taiite/senpai>.++
141+Patches are welcome by email at <~taiite/public-inbox@lists.sr.ht>.
+86, -0
 1@@ -0,0 +1,86 @@
 2+senpai(5)
 3+
 4+# NAME
 5+
 6+senpai - Configuration file format and settings
 7+
 8+# DESCRIPTION
 9+
10+A senpai configuration file is a YAML file.
11+
12+Some settings are required, the others are optional.
13+
14+# SETTINGS
15+
16+*addr* (required)
17+	The address (_host:port_) of the IRC server.  senpai only supports TLS
18+	connections and thus the user must specify the TLS port of the server (in
19+	most cases, 6697 or 7000).
20+
21+*nick* (required)
22+	Your nickname, sent with a _NICK_ IRC message. It mustn't contain spaces or
23+	colons (*:*).
24+
25+*real*
26+	Your real name, or actually just a field that will be available to others
27+	and may contain spaces and colons.  Sent with the _USER_ IRC message.
28+
29+*user* (required)
30+	Your username, sent with the _USER_ IRC message and also used for SASL
31+	authentication.
32+
33+*password*
34+	Your password, used for SASL authentication.
35+
36+*highlights*
37+	A list of keywords that will trigger a notification and a display indicator
38+	when said by others.  By default, senpai will use your current nickname.
39+
40+*on-highlight*
41+	A command to be executed via _sh_ when the user is highlighted.  The
42+	following format specifiers are expanded with respect to the highlight:
43+
44+[[ *Format specifier*
45+:< *Description*
46+|  %%
47+:  literal %
48+|  %c
49+:  message context (channel name if available, otherwise empty)
50+|  %m
51+:  content of the message
52+|  %n
53+:  nickname of the sender
54+
55+*nick-column-width*
56+	The number of cell that the column for nicknames occupies in the timeline.
57+	By default, 16.
58+
59+# EXAMPLE
60+
61+A minimal configuration file to connect to freenode as "Guest123456":
62+
63+```
64+addr: chat.freenode.net:6697
65+nick: Guest123456
66+user: senpai
67+```
68+
69+A more advanced configuration file that enables SASL authentication, sends
70+notifications on highlight and decrease the width of the nick column to 12:
71+
72+```
73+addr: chat.freenode.net:6697
74+nick: Guest123456
75+user: senpai
76+real: Guest von Lenon
77+password: A secure password, I guess?
78+highlights:
79+	- guest
80+	- senpai
81+on-highlight: 'notify-send "[%c] %n" "%m"'
82+nick-column-width: 12
83+```
84+
85+# SEE ALSO
86+
87+*senpai*(1)