summaryrefslogtreecommitdiff
path: root/xC.adoc
diff options
context:
space:
mode:
authorPřemysl Eric Janouch <p@janouch.name>2021-08-06 16:12:15 +0200
committerPřemysl Eric Janouch <p@janouch.name>2021-08-06 16:43:59 +0200
commit50057d5149dda340b3b47aca4096f4a6ec66b9ee (patch)
tree79323d20b17c2c8e32942a1ac9b84d9da3041c6d /xC.adoc
parent1f64710e795b0c5434d15813d4f1f568467ca087 (diff)
downloadxK-50057d5149dda340b3b47aca4096f4a6ec66b9ee.tar.gz
xK-50057d5149dda340b3b47aca4096f4a6ec66b9ee.tar.xz
xK-50057d5149dda340b3b47aca4096f4a6ec66b9ee.zip
Come up with sillier names for the binaries
I'm not entirely sure, but it looks like some people might not like jokes about the Holocaust. On a more serious note, the project has become more serious over the 7 or so years of its existence.
Diffstat (limited to 'xC.adoc')
-rw-r--r--xC.adoc127
1 files changed, 127 insertions, 0 deletions
diff --git a/xC.adoc b/xC.adoc
new file mode 100644
index 0000000..31c5b1d
--- /dev/null
+++ b/xC.adoc
@@ -0,0 +1,127 @@
+xC(1)
+=====
+:doctype: manpage
+:manmanual: uirc3 Manual
+:mansource: uirc3 {release-version}
+
+Name
+----
+xC - terminal-based IRC client
+
+Synopsis
+--------
+*xC* [_OPTION_]...
+
+Description
+-----------
+*xC* is a scriptable IRC client for the command line. On the first run it will
+welcome you with an introductory message. Should you ever get lost, use the
+*/help* command to obtain more information on commands or options.
+
+Options
+-------
+*-f*, *--format*::
+ Format IRC text from the standard input, converting colour sequences and
+ other formatting marks to ANSI codes retrieved from the *terminfo*(5)
+ database:
++
+```
+printf '\x02bold\x02\n' | xC -f
+```
++
+This feature may be used to preview server MOTD files.
+
+*-h*, *--help*::
+ Display a help message and exit.
+
+*-V*, *--version*::
+ Output version information and exit.
+
+Key bindings
+------------
+Most key bindings are inherited from the frontend in use, which is either GNU
+Readline or BSD editline. A few of them, however, are special to the IRC client
+or assume a different function. This is a list of all local overrides and
+their respective function names:
+
+*M-p*::
+ Go up in history for this buffer (normally mapped to *C-p*).
+*M-n*::
+ Go down in history for this buffer (normally mapped to *C-n*).
+*C-p*, *F5*: *previous-buffer*::
+ Switch to the previous buffer in order.
+*C-n*, *F6*: *next-buffer*::
+ Switch to the next buffer in order.
+*M-TAB*: *switch-buffer*::
+ Switch to the last buffer, i.e., the one you were in before.
+*M-0*, *M-1*, ..., *M-9*: *goto-buffer*::
+ Go to the N-th buffer (normally sets a repeat counter).
+ Since there is no buffer number zero, *M-0* goes to the tenth one.
+*M-!*: *goto-highlight*::
+ Go to the first following buffer with an unseen highlight.
+*M-a*: *goto-activity*::
+ Go to the first following buffer with unseen activity.
+*PageUp*: *display-backlog*::
+ Show the in-memory backlog for this buffer in the backlog helper,
+ which is almost certainly the *less*(1) program.
+*M-h*: *display-full-log*::
+ Show the log file for this buffer in the backlog helper.
+*M-H*: *toggle-unimportant*::
+ Hide all join, part and quit messages, as well as all channel mode changes
+ that only relate to user channel modes. Intended to reduce noise in
+ channels with lots of people.
+*M-e*: *edit-input*::
+ Run an editor on the command line, making it easy to edit multiline
+ messages. Remember to save the file before exit.
+*M-m*: *insert-attribute*::
+ The next key will be interpreted as a formatting mark to insert:
+ *c* for colours (optionally followed by numbers for the foreground
+ and background), *i* for italics, *b* for bold text, *u* for underlined,
+ *x* for struck-through, *v* for inverse text and *o* resets all formatting.
+*C-l*: *redraw-screen*::
+ Should there be any issues with the display, this will clear the terminal
+ screen and redraw all information.
+
+Additionally, *C-w* and *C-u* in editline behave the same as they would in
+Readline or the "vi" command mode, even though the "emacs" mode is enabled
+by default.
+
+Bindings can be customized in your _.inputrc_ or _.editrc_ file. Both libraries
+support conditional execution based on the program name. Beware that it is easy
+to make breaking changes.
+
+Environment
+-----------
+*VISUAL*, *EDITOR*::
+ The editor program to be launched by the *edit-input* function.
+ If neither variable is set, it defaults to *vi*(1).
+
+Files
+-----
+*xC* follows the XDG Base Directory Specification.
+
+_~/.config/xC/xC.conf_::
+ The program's configuration file. Preferrably use internal facilities, such
+ as the */set* command, to make changes in it.
+
+_~/.local/share/xC/logs/_::
+ When enabled by *behaviour.logging*, log files are stored here.
+
+_~/.local/share/xC/plugins/_::
+_/usr/local/share/xC/plugins/_::
+_/usr/share/xC/plugins/_::
+ Plugins are searched for in these directories, in order.
+
+Bugs
+----
+The editline (libedit) frontend is more of a proof of concept that mostly seems
+to work but exhibits bugs that are not our fault.
+
+Reporting bugs
+--------------
+Use https://git.janouch.name/p/uirc3 to report bugs, request features,
+or submit pull requests.
+
+See also
+--------
+*less*(1), *readline*(3) or *editline*(7)