aboutsummaryrefslogtreecommitdiff

xC(1)

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 using general.pager, which is almost certainly the less(1) program.

M-h: display-full-log

Show the log file for this buffer using general.pager.

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, s for struck-through, m for monospace, 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 general.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 may exhibit some unexpected behaviour.

Reporting bugs

Use https://git.janouch.name/p/xK to report bugs, request features, or submit pull requests.

See also

less(1), readline(3) or editline(7), xF(1)