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-tools
- rlwrap - readline wrapper
- 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 :]