doc: Document hexchat.

Julien LepillerTue Jun 11 21:54:00+0200 2019

ac5c715

doc: Document hexchat.

doc/hexchat.md unknown status 1

1+
Hexchat
2+
=======
3+
4+
Hexchat is an IRC client. Under Guix Home Manager, hexchat doesn't behave
5+
nicely however. It wants to use its configuration directory as the place
6+
to store your backlog. Even though we can fix this by using symlinks to
7+
a read-write directory, it will still warn you that it cannot write to its
8+
configuration directory. Don't worry, this message is harmless, though annoying.
9+
10+
Main Configuration
11+
------------------
12+
13+
The main configuration is not complete compared to the configuration possibilities
14+
of the client. It currently only implements a very minimal set of configurations
15+
that are required for it to work properly.
16+
17+
**Scheme Procedure**: (hexchat-home config)
18+
19+
Generates configuration files for hexchat, according to config, an
20+
hexchat-configuration object.
21+
22+
**Data Type**: hexchat-configuration
23+
24+
Data type that represents the Hexchat configuration. This data type has the
25+
following fields:
26+
27+
* **servlist** (default '()): A list of networks the user can connect to. See
28+
  Network Configuration below.
29+
* **log-dir**: A read-write log directory.
30+
* **scrollback-dir**: A read-write directory to store your backlog.
31+
32+
Example
33+
-------
34+
35+
```scheme
36+
(hexchat-home
37+
	(hexchat-configuration
38+
	  (servlist
39+
	    (list
40+
	      (hexchat-server
41+
	        (name "R??zosup")
42+
	        (servers '("irc.rezosup.org/6697"))
43+
	        (flags '(cycle global honor-proxy ssl favorite
44+
	                 allow-invalid-certificates)))))
45+
	  (log-dir "/data/alice/.local/share/hexchat/logs")
46+
	  (scrollback-dir "/data/alice/.local/share/hexchat/scrollback")))
47+
```
48+
49+
50+
Network Configuration
51+
---------------------
52+
53+
Each network in the servlist can be configured with the following data type:
54+
55+
**Data Type**: hexchat-server
56+
57+
This data type represents a network with its servers and configuration. It
58+
contains the following fields:
59+
60+
* **name**: Name of the network, as displayed to the user.
61+
* **identities** (default '()): A list of zero, one or two identities that the
62+
  client will try to use on this network. If no identity is provided, use the
63+
  default ones. If only one is provided, try the first one, and if not present,
64+
  try the default second identity.
65+
* **real-name** (default #f): A string that represents the real name of the user.
66+
* **encoding** (default: 'utf8): a symbol or string that represents the encoding
67+
  used on the network.
68+
* **servers**: A list of servers that are part of the network, as a list of
69+
  strings. Each server is represented by a string of the form "server/port".
70+
* **flags** (default: '(cycle global honor-proxy)): A list of flags for this
71+
  network. The possible flags are _cycle_ to cycle through the servers of the
72+
  network, _global_ to use global configuration on this network, _ssl_ to use
73+
  ssl/tls to connect to the servers on this network, _auto-connect_ to
74+
  automatically connect to this network when hexchat is started, _honor-proxy_
75+
  to honor system-wide proxy configuration, _allow-invalid-certificates_ to
76+
  allow invalid certificates (self-signed, expired, ...) and _favorite_ to add
77+
  it to the list of favorite networks.
77<
078<
\ No newline at end of file