insomnia

A frontend for the hii IRC client

git clone https://git.8pit.net/insomnia.git

 1# insomnia
 2
 3A frontend for the [hii][hii github] IRC client.
 4
 5## Screenshot
 6
 7![insomnia screenshot](https://gist.githubusercontent.com/nmeum/3886bef9c4b07f42bcc4d15da1c0177e/raw/8d01fbe80a7843fec58f098fcdca591fecdc97a9/insomnia.png)
 8
 9## Status
10
11insomnia is just a collection of small programs and scripts which are
12connected using tmux to create a simple irssi-like text-based user
13interface for hii. As you might expected it's pretty hacky but mostly
14works.
15
16## Features
17
18* Support for readline-like key bindings and tab completions for nicks.
19* Support for highlight "notification" through bell characters.
20	* Use this in combination with tmux's monitor-bell feature.
21* Support for tracking topic changes through tmux pane titles.
22* Support for colorful output.
23
24## Dependencies
25
26insomnia depends on the following non-standard utilities:
27
28* [hii][hii github] >= 1.0.0
29* [input][input github] >= 0.7.0
30* [tmux][tmux homepage] >= [3.3][tmux window-resized]
31* awk with `fflush()` (available since [POSIX.1‐2024][posix issue 634])
32
33Additionally, the following software is required for compilation:
34
35* A C99 compiler
36* [GNU make][GNU make] (sorry!)
37
38## Installation
39
40To build and install insomnia run the following commands:
41
42	$ make
43	$ make install
44
45Consult the `GNUmakefile` for environment variables which can be used to
46configure the installation. The variables `LIBDIR` and `DATADIR` are
47special and need to be set for both targets `make` and `make install`.
48
49### Development setup
50
51In case you don't want to install insomnia globally but just want to
52experiment with it compile insomnia using the following commands:
53
54	$ export LIBDIR="$(pwd)/lib" DATADIR="$(pwd)/data"
55	$ make
56
57Afterwards run `./bin/insomnia`.
58
59## Usage
60
61After a successful installation `insomnia` can be invoked as follows:
62
63	$ insomnia irc.hackint.org '#hii'
64
65This will only work if an `hii` instance for `irc.hackint.org` is
66already running in the background and if the user already joined the
67`#hii` channel.
68
69## License
70
71This program is free software: you can redistribute it and/or modify it
72under the terms of the GNU General Public License as published by the
73Free Software Foundation, either version 3 of the License, or (at your
74option) any later version.
75
76This program is distributed in the hope that it will be useful, but
77WITHOUT ANY WARRANTY; without even the implied warranty of
78MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
79Public License for more details.
80
81You should have received a copy of the GNU General Public License along
82with this program. If not, see <http://www.gnu.org/licenses/>.
83
84[hii github]: https://github.com/nmeum/hii
85[input github]: https://github.com/nmeum/input
86[tmux homepage]: https://tmux.github.io
87[tmux window-resized]: https://github.com/tmux/tmux/issues/2995
88[posix issue 634]: http://austingroupbugs.net/view.php?id=634
89[GNU make]: https://www.gnu.org/software/make/