This is an old revision of the document!
Best Command line irc client.
Few simple things before you start using.
/msg nickserv register PASSWORD EMAIL
/msg nickserv identify PASSWORD
/list
/join #<channel_name>
/who #<channel_name>
/op -YES *
~/.irssi/config
/save
/set theme easyeye
/set dcc_download_path /home/username
/set dcc_file_create_mode 660
NOTE : For security do not set mod with (x)
servers = ( { address = "irc.stealth.net"; chatnet = "IRCnet"; port = "6668"; }, { address = "irc.efnet.org"; chatnet = "EFNet"; port = "6667"; }, { address = "irc.undernet.org"; chatnet = "Undernet"; port = "6667"; }, { address = "irc.dal.net"; chatnet = "DALnet"; port = "6667"; }, { address = "irc.quakenet.org"; chatnet = "QuakeNet"; port = "6667"; use_ssl = "no"; ssl_verify = "no"; autoconnect = "yes"; } ); chatnets = { IRCnet = { type = "IRC"; max_kicks = "4"; max_msgs = "5"; max_whois = "4"; max_query_chans = "5"; }; EFNet = { type = "IRC"; max_kicks = "4"; max_msgs = "3"; max_whois = "1"; }; Undernet = { type = "IRC"; max_kicks = "1"; max_msgs = "3"; max_whois = "30"; }; DALnet = { type = "IRC"; max_kicks = "4"; max_msgs = "3"; max_whois = "30"; }; QuakeNet = { type = "IRC"; max_kicks = "1"; max_msgs = "3"; max_whois = "30"; } }; channels = ( { name = "#irssi"; chatnet = "ircnet"; autojoin = "No"; }, { name = "silc"; chatnet = "silc"; autojoin = "No"; }, { name = "#linux"; chatnet = "QuakeNet"; 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 which bc &>/dev/null\\; then echo '$*' | bc | awk '{print \"$*=\"$$1}'\\; 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"; }; 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://irssi.org/help/"; # 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 = "Ketan"; user_name = "ketan"; nick = "ketan"; awaylog_level = "MSGS HILIGHT"; awaylog_file = "~/irc/away.log"; }; "fe-text" = { actlist_sort = "refnum"; }; "fe-common/core" = { theme = "thirdeye"; autolog = "yes"; autolog_path = "~/irc/%Y/$tag/$0.%m-%d.log"; autolog_level = "ALL -CRAP -CLIENTCRAP -CTCPS"; completion_auto = "yes"; BEEP_WHEN_AWAY = "yes"; window_auto_change = "yes"; }; }; hilights = ( { text = "nick"; nick = "yes"; word = "yes"; } ); logs = { };
# When testing changes, the easiest way to reload the theme is with /RELOAD. # This reloads the configuration file too, so if you did any changes remember # to /SAVE it first. Remember also that /SAVE overwrites the theme file with # old data so keep backups :) # TEMPLATES: # The real text formats that irssi uses are the ones you can find with # /FORMAT command. Back in the old days all the colors and texts were mixed # up in those formats, and it was really hard to change the colors since you # might have had to change them in tens of different places. So, then came # this templating system. # Now the /FORMATs don't have any colors in them, and they also have very # little other styling. Most of the stuff you need to change is in this # theme file. If you can't change something here, you can always go back # to change the /FORMATs directly, they're also saved in these .theme files. # So .. the templates. They're those {blahblah} parts you see all over the # /FORMATs and here. Their usage is simply {name parameter1 parameter2}. # When irssi sees this kind of text, it goes to find "name" from abstracts # block below and sets "parameter1" into $0 and "parameter2" into $1 (you # can have more parameters of course). Templates can have subtemplates. # Here's a small example: # /FORMAT format hello {colorify {underline world}} # abstracts = { colorify = "%G$0-%n"; underline = "%U$0-%U"; } # When irssi expands the templates in "format", the final string would be: # hello %G%Uworld%U%n # ie. underlined bright green "world" text. # and why "$0-", why not "$0"? $0 would only mean the first parameter, # $0- means all the parameters. With {underline hello world} you'd really # want to underline both of the words, not just the hello (and world would # actually be removed entirely). # COLORS: # You can find definitions for the color format codes in docs/formats.txt. # There's one difference here though. %n format. Normally it means the # default color of the terminal (white mostly), but here it means the # "reset color back to the one it was in higher template". For example # if there was /FORMAT test %g{foo}bar, and foo = "%Y$0%n", irssi would # print yellow "foo" (as set with %Y) but "bar" would be green, which was # set at the beginning before the {foo} template. If there wasn't the %g # at start, the normal behaviour of %n would occur. If you _really_ want # to use the terminal's default color, use %N. ############################################################################# # default foreground color (%N) - -1 is the "default terminal color" default_color = "-1"; # print timestamp/servertag at the end of line, not at beginning info_eol = "false"; # these characters are automatically replaced with specified color # (dark grey by default) replaces = { "[]=" = "%K$*%n"; }; abstracts = { ## ## generic ## # text to insert at the beginning of each non-message line line_start = "%B-%W!%B-%n "; # timestamp styling, nothing by default timestamp = "$*"; # any kind of text that needs hilighting, default is to bold hilight = "%_$*%_"; # any kind of error message, default is bright red error = "%R$*%n"; # channel name is printed channel = "%_$*%_"; # nick is printed nick = "%_$*%_"; # nick host is printed nickhost = "[$*]"; # server name is printed server = "%_$*%_"; # some kind of comment is printed comment = "[$*]"; # reason for something is printed (part, quit, kick, ..) reason = "{comment $*}"; # mode change is printed ([+o nick]) mode = "{comment $*}"; ## ## channel specific messages ## # highlighted nick/host is printed (joins) channick_hilight = "%C$*%n"; chanhost_hilight = "{nickhost %c$*%n}"; # nick/host is printed (parts, quits, etc.) channick = "%c$*%n"; chanhost = "{nickhost $*}"; # highlighted channel name is printed channelhilight = "%c$*%n"; # ban/ban exception/invite list mask is printed ban = "%c$*%n"; ## ## messages ## # the basic styling of how to print message, $0 = nick mode, $1 = nick msgnick = "%K<%n$0$1-%K>%n %|"; # message from you is printed. "msgownnick" specifies the styling of the # nick ($0 part in msgnick) and "ownmsgnick" specifies the styling of the # whole line. # Example1: You want the message text to be green: # ownmsgnick = "{msgnick $0 $1-}%g"; # Example2.1: You want < and > chars to be yellow: # ownmsgnick = "%Y{msgnick $0 $1-%Y}%n"; # (you'll also have to remove <> from replaces list above) # Example2.2: But you still want to keep <> grey for other messages: # pubmsgnick = "%K{msgnick $0 $1-%K}%n"; # pubmsgmenick = "%K{msgnick $0 $1-%K}%n"; # pubmsghinick = "%K{msgnick $1 $0$2-%n%K}%n"; # ownprivmsgnick = "%K{msgnick $*%K}%n"; # privmsgnick = "%K{msgnick %R$*%K}%n"; # $0 = nick mode, $1 = nick ownmsgnick = "{msgnick $0 $1-}"; ownnick = "%W$*%n"; # public message in channel, $0 = nick mode, $1 = nick pubmsgnick = "{msgnick $0 $1-}"; pubnick = "%N$*%n"; # public message in channel meant for me, $0 = nick mode, $1 = nick pubmsgmenick = "{msgnick $0 $1-}"; menick = "%Y$*%n"; # public highlighted message in channel # $0 = highlight color, $1 = nick mode, $2 = nick pubmsghinick = "{msgnick $1 $0$2-%n}"; # channel name is printed with message msgchannel = "%K:%c$*%n"; # private message, $0 = nick, $1 = host privmsg = "[%R$0%K(%r$1-%K)%n] "; # private message from you, $0 = "msg", $1 = target nick ownprivmsg = "[%r$0%K(%R$1-%K)%n] "; # own private message in query ownprivmsgnick = "{msgnick $*}"; ownprivnick = "%W$*%n"; # private message in query privmsgnick = "{msgnick %R$*%n}"; ## ## Actions (/ME stuff) ## # used internally by this theme action_core = "%W * $*%n"; # generic one that's used by most actions action = "{action_core $*} "; # own action, both private/public ownaction = "{action $*}"; # own action with target, both private/public ownaction_target = "{action_core $0}%K:%c$1%n "; # private action sent by others pvtaction = "%W (*) $*%n "; pvtaction_query = "{action $*}"; # public action sent by others pubaction = "{action $*}"; ## ## other IRC events ## # whois whois = "%# $[8]0 : $1-"; # notices ownnotice = "[%r$0%K(%R$1-%K)]%n "; notice = "%K-%M$*%K-%n "; pubnotice_channel = "%K:%m$*"; pvtnotice_host = "%K(%m$*%K)"; servernotice = "%g!$*%n "; # CTCPs ownctcp = "[%r$0%K(%R$1-%K)] "; ctcp = "%g$*%n"; # wallops wallop = "%W$*%n: "; wallop_nick = "%n$*"; wallop_action = "%W * $*%n "; # netsplits netsplit = "%R$*%n"; netjoin = "%C$*%n"; # /names list names_prefix = ""; names_nick = "[%_$0%_$1-] "; names_nick_op = "{names_nick $*}"; names_nick_halfop = "{names_nick $*}"; names_nick_voice = "{names_nick $*}"; names_users = "[%g$*%n]"; names_channel = "%G$*%n"; # DCC dcc = "%g$*%n"; dccfile = "%_$*%_"; # DCC chat, own msg/action dccownmsg = "[%r$0%K($1-%K)%n] "; dccownnick = "%R$*%n"; dccownquerynick = "%W$*%n"; dccownaction = "{action $*}"; dccownaction_target = "{action_core $0}%K:%c$1%n "; # DCC chat, others dccmsg = "[%G$1-%K(%g$0%K)%n] "; dccquerynick = "%G$*%n"; dccaction = "%W (*dcc*) $*%n %|"; ## ## statusbar ## # default background for all statusbars. You can also give # the default foreground color for statusbar items. sb_background = "%4%w"; # default backround for "default" statusbar group #sb_default_bg = "%4"; # background for prompt / input line sb_prompt_bg = "%n"; # background for info statusbar sb_info_bg = "%8"; # background for topicbar (same default) #sb_topic_bg = "%4"; # text at the beginning of statusbars. sb-item already puts # space there,so we don't use anything by default. sbstart = ""; # text at the end of statusbars. Use space so that it's never # used for anything. sbend = " "; topicsbstart = "{sbstart $*}"; topicsbend = "{sbend $*}"; prompt = "[$*] "; sb = " %c[%n$*%c]%n"; sbmode = "(%c+%n$*)"; sbaway = " (%GzZzZ%n)"; sbservertag = ":$0 (change with ^X)"; sbnickmode = "$0"; # activity in statusbar # ',' separator sb_act_sep = "%c$*"; # normal text sb_act_text = "%c$*"; # public message sb_act_msg = "%W$*"; # hilight sb_act_hilight = "%M$*"; # hilight with specified color, $0 = color, $1 = text sb_act_hilight_color = "$0$1-%n"; };