How do I configure irssi?
You've asked a lot of questions in one, but I'll help you with as many of them as I can.
First, you need to add your IRC server of choice - fire up irssi, and type the following:
/server add -auto -network Freenode irc.freenode.net 6667
That will add the Freenode IRC network to your IRSSI config, and will automatically connect when you run irssi
.
/network add -nick <your-nick> Freenode
That will add your nick to the new Freenode
network, and will automatically use that nick whenever connecting to the network.
/channel add -auto #ubuntu Freenode
That will make you join #ubuntu
on Freenode everytime you run irssi.
Assuming you have your nick registered, you can do this to identify automatically:
/network add -autosendcmd "/msg nickserv identify password ;wait 2000" Freenode
You can switch between channels with Alt-2, Alt-3, etc, with each channel being Alt-Number
If you're interested, here is my ~/.irrsi/config
file:
servers = (
{ address = "irc.ubuntu.com"; chatnet = "Ubuntu"; port = "8001"; },
#There is actually very little difference between irc.ubuntu.com
# and irc.freenode.net - irc.u.c is just a redirect
{
address = "irc.freenode.net";
chatnet = "Freenode";
port = "6667";
use_ssl = "no";
ssl_verify = "no";
autoconnect = "yes";
}
);
# I'm a freenode user all the way man
chatnets = {
Freenode = {
type = "IRC";
nick = "changeme";
autosendcmd = "/msg nickserv identify <password removed> ;wait 2000";
};
};
# Channels I hang out in a lot. Change these to your own.
channels = (
{ name = "#2buntu"; chatnet = "Freenode"; autojoin = "yes"; },
);
aliases = {
J = "join";
WJOIN = "join -window";
WQUERY = "query -window";
LEAVE = "part";
BYE = "quit";
EXIT = "quit";
SIGNOFF = "quit";
DESCRIBE = "action";
DATE = "time";
HOST = "userhost";
LAST = "lastlog";
SAY = "msg *";
WI = "whois";
WII = "whois $0 $0";
WW = "whowas";
W = "who";
N = "names";
M = "msg";
T = "topic";
C = "clear";
CL = "clear";
K = "kick";
KB = "kickban";
KN = "knockout";
BANS = "ban";
B = "ban";
MUB = "unban *";
UB = "unban";
IG = "ignore";
UNIG = "unignore";
SB = "scrollback";
UMODE = "mode $N";
WC = "window close";
WN = "window new hide";
SV = "say Irssi $J ($V) - http://irssi.org/";
GOTO = "sb goto";
CHAT = "dcc chat";
RUN = "SCRIPT LOAD";
CALC = "exec - if command -v bc >/dev/null 2>&1\\; then printf '%s=' '$*'\\; echo '$*' | bc -l\\; else echo bc was not found\\; fi";
SBAR = "STATUSBAR";
INVITELIST = "mode $C +I";
Q = "QUERY";
"MANUAL-WINDOWS" = "set use_status_window off;set autocreate_windows off;set autocreate_query_level none;set autoclose_windows off;set reuse_unused_windows on;save";
EXEMPTLIST = "mode $C +e";
ATAG = "WINDOW SERVER";
UNSET = "set -clear";
RESET = "set -default";
};
statusbar = {
# formats:
# when using {templates}, the template is shown only if it's argument isn't
# empty unless no argument is given. for example {sb} is printed always,
# but {sb $T} is printed only if $T isn't empty.
items = {
# start/end text in statusbars
barstart = "{sbstart}";
barend = "{sbend}";
topicbarstart = "{topicsbstart}";
topicbarend = "{topicsbend}";
# treated "normally", you could change the time/user name to whatever
time = "{sb $Z}";
user = "{sb {sbnickmode $cumode}$N{sbmode $usermode}{sbaway $A}}";
# treated specially .. window is printed with non-empty windows,
# window_empty is printed with empty windows
window = "{sb $winref:$tag/$itemname{sbmode $M}}";
window_empty = "{sb $winref{sbservertag $tag}}";
prompt = "{prompt $[.15]itemname}";
prompt_empty = "{prompt $winname}";
topic = " $topic";
topic_empty = " Irssi v$J - http://www.irssi.org";
# all of these treated specially, they're only displayed when needed
lag = "{sb Lag: $0-}";
act = "{sb Act: $0-}";
more = "-- more --";
};
# there's two type of statusbars. root statusbars are either at the top
# of the screen or at the bottom of the screen. window statusbars are at
# the top/bottom of each split window in screen.
default = {
# the "default statusbar" to be displayed at the bottom of the window.
# contains all the normal items.
window = {
disabled = "no";
# window, root
type = "window";
# top, bottom
placement = "bottom";
# number
position = "1";
# active, inactive, always
visible = "active";
# list of items in statusbar in the display order
items = {
barstart = { priority = "100"; };
time = { };
user = { };
window = { };
window_empty = { };
lag = { priority = "-1"; };
act = { priority = "10"; };
more = { priority = "-1"; alignment = "right"; };
barend = { priority = "100"; alignment = "right"; };
};
};
# statusbar to use in inactive split windows
window_inact = {
type = "window";
placement = "bottom";
position = "1";
visible = "inactive";
items = {
barstart = { priority = "100"; };
window = { };
window_empty = { };
more = { priority = "-1"; alignment = "right"; };
barend = { priority = "100"; alignment = "right"; };
};
};
# we treat input line as yet another statusbar :) It's possible to
# add other items before or after the input line item.
prompt = {
type = "root";
placement = "bottom";
# we want to be at the bottom always
position = "100";
visible = "always";
items = {
prompt = { priority = "-1"; };
prompt_empty = { priority = "-1"; };
# treated specially, this is the real input line.
input = { priority = "10"; };
};
};
# topicbar
topic = {
type = "root";
placement = "top";
position = "1";
visible = "always";
items = {
topicbarstart = { priority = "100"; };
topic = { };
topic_empty = { };
topicbarend = { priority = "100"; alignment = "right"; };
};
};
};
};
settings = {
core = { real_name = "Unknown"; user_name = "<your_user_name>"; nick = "<your_nick>"; };
"fe-text" = { actlist_sort = "refnum"; };
};
If you're someone who likes to add all sorts of cool functionality, then you should take a look at the irssi scripts site - there are all sorts of little gems there.
If you start irssi
in Ubuntu, it creates a default configuration file in ~/.irssi/config
already containing your data taken from the system (nickname and ident set to your username and realname to your full name).
There is the connection to the Freenode network already set up. Just write /connect Ubuntu
, /join #ubuntu
, and repeat for other favorite channels.
You can switch between channels with Alt+2, Alt+3, etc.
You can change nickname with /nick nitstorm
once connected to the server, or change globally, executing the command /set nick nitstorm
, and then /save
to permanently modify your configuration file. The same way, you can change real_name
and user_name
with the command /set
.
You can add autojoin channels with:
/channel add -auto #ubuntu Ubuntu
(See /help channel
for help.)
You could also modify the configuration file by hand, but it is better to execute commands to modify it inside irssi, and then save the configuration.
You terminate your session with the command /quit
.