POSIX sh frontend to iim or ii
Switch branches/tags
Nothing to show



iii is a frontend to ii/iim so that one can easily view and send messages. it outputs text, formatted, and colored, and allows for some configuration. options are passed as enviromental variables.

u: the user's nickname
i: the root directory [default: $HOME/irc]
n: the network in which the channel resides [default: irc.oftc.net]
c: the channel to interact with [default: none - the network view]
m: max length for nicks [default: 12]
h: the number of lines to include from history [default: 20]
s: the separator between the nick and the message
r: randomization of nick colors
l: the highlight color when nick is mentioned

typical usage would be:

c=#suckless iii.sh
h=50 n=irc.freenode.net c=#musl iii.sh

to quit iii just send :q. to mark the current spot on the conversation send :m. to quit and mark send :x.

some common commands are supported, like /op /deop /ban /unban /names /wi


tmiii is a wrapper to iii to spawn iii instances inside a tmux session named IRC. each iii instance inside tmux is on each own window, named by the channel it shows. tmiii acceps the same env vars as iii plus t to set the TERM variable, used by tmux.

l=false h=50 n=irc.freenode.net c=#cat-v tmiii.sh


notifiii monitors a hierarchy of files and automatically spawns a terminal running iii with the channel that got activity. notifiii by default ignores joins, parts, quits and any message from the network (user -!-). notifiii accepts the irc root directory - by default $HOME/irc - to monitor as an argument.

notifiii.sh /tmp/irc


connect is a script to automatically connect ii/iim to the specified networks and channels. in addition, it knows when the connection was dropped and automatically tries to reconnect. moreover, given a file named ident, containing the identification passphrase of the user, it sends an identify command to the nickserv, to automatically identify the connected user. the ident file should be under /path/to/irc/dir/network/

as above connect accepts two arguments in the form of env vars, nick which sets the user's nickname, else it will use $USER, and ircdir which specifies the base irc directory.

$  freenode=foo oftc=bar connect.sh
$ ^ notice the extra space here
$ this serves as to ignore the command from being saved in the shell history
$ one should also close the terminal or clear the scrollback buffer
$ so that the command cannot be seen on scroll up

edit this script to add the networks you'd like to autoconnect as a function, which sets the server name, the channels on that server to autoconnect as a list of strings separated by a space, and the port to use for the connection. add your network to the networks list, and you're set.



  • inotify is not portable - linux only interface.



code and text for iii tmiii and notifiii are unlicensed. see UNLICENSE file and unlicense.org for more information.

original hacks by Ivan c00kiemon5ter V Kanakarakis. if you have cookies, share :]