From 43a1bc3094d1d8da0a2b2cedcf98cda6f450e00c Mon Sep 17 00:00:00 2001 From: "Adrian C. (anrxc)" Date: Fri, 11 Sep 2009 13:13:14 +0200 Subject: Initial import of dotfiles --- irssi/config | 450 ++++++++++++++++++++++++++++++++++++++++++++++++++++ irssi/zenbarn.theme | 271 +++++++++++++++++++++++++++++++ 2 files changed, 721 insertions(+) create mode 100644 irssi/config create mode 100644 irssi/zenbarn.theme (limited to 'irssi') diff --git a/irssi/config b/irssi/config new file mode 100644 index 0000000..b9544af --- /dev/null +++ b/irssi/config @@ -0,0 +1,450 @@ +### +# irssi configuration file, using irssi 0.8.14 +# - anrxc.sysphere.org +# +############################################### + +# I modified this copy to serve new users +# as a template, it covers a lot of things: +# + Contains +# - Bouncer example +# - Using SSL +# - SILC +# - Autojoin channels +# - Completition/auto replacement +# - Managing aliases with special variables +# - Windows/channels auto arrangement and positioning +# - Irssi proxy +# + For explanations of the settings clause refer to: +# - http://irssi.org/documentation/settings +# +# + Some scripts that I recommend and use: +# - autorejoin.pl dns.pl mlock.pl +# - namesaway.pl quitmsg.pl mail.pl +# - usercount.pl nact.pl sysinfo.pl +# - hilightwin.pl nm.pl crapbuster.pl +# - screen_away.pl adv_windowlist.pl +# +# + I use this config in combination with the zenbarn theme + +servers = ( + { # Standard connection + address = "irc.freenode.net"; + chatnet = "fnode"; + port = "6667"; + autoconnect = "yes"; + }, + + { # Standard connection + address = "irc.oftc.net"; + chatnet = "oftc"; + port = "6667"; + autoconnect = "no"; + }, + + { # SSL connection + address = "irc.sysphere.org"; + chatnet = "sys"; + port = "6697"; + use_ssl = "yes"; + # Automatic login + password = "xxxxxx"; + autoconnect = "yes"; + }, + + { # IRC bouncer connection + address = "polarhome.com"; + chatnet = "bnc"; + port = "14444"; + # Automatic login + password = "xxxxxx"; + use_ssl = "yes"; + ssl_verify = "no"; + autoconnect = "no"; + }, + + { # SILC connection + address = "silc.silcnet.org"; + chatnet = "silc"; + port = "706"; + }, +); + +chatnets = { + fnode = { + type = "IRC"; + # Automatic login to nickserv + autosendcmd = "/msg nickserv identify xxxxxx"; + max_kicks = "4"; + max_modes = "3"; + max_msgs = "5"; + max_whois = "4"; + }; + + oftc= { + type = "IRC"; + # Automatic login to nickserv + autosendcmd = "/msg nickserv identify xxxxxx"; + max_kicks = "1"; + max_msgs = "3"; + max_whois = "30"; + }; + + sys = { + type = "IRC"; + # Automatic login as an IRC operator + autosendcmd = "/oper nickname xxxxxx"; + }; + + bnc = { type = "IRC"; }; + silc = { type = "SILC"; }; +}; + +channels = ( + { name = "#sysphere"; chatnet = "sys"; autojoin = "Yes"; }, + { name = "##slackware"; chatnet = "fnode"; autojoin = "Yes"; }, + { name = "#archlinux"; chatnet = "fnode"; autojoin = "Yes"; }, + { name = "#razmjenavjestina"; chatnet = "fnode"; autojoin = "Yes"; }, + { name = "#awesome"; chatnet = "oftc"; autojoin = "Yes"; }, + { name = "#ecryptfs"; chatnet = "oftc"; autojoin = "Yes"; }, + { name = "silc"; chatnet = "silc"; autojoin = "No"; } +); + +aliases = { + j = "join"; + wjoin = "join -window"; + wquery = "query -window"; + leave = "part"; + exit = "quit"; + 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"; + cls = "clear"; + k = "kick"; + kb = "kickban"; + b = "ban"; + ub = "unban"; + ig = "ignore"; + unig = "unignore"; + sb = "scrollback"; + wc = "window close"; + wn = "window new hide"; + goto = "sb goto"; + chat = "dcc chat"; + run = "script load"; + uptime = "eval exec - expr `date +%s` - \\$F | awk '{print \"Irssi uptime: \"int(\\\\\\$1/3600/24)\"d \"int(\\\\\\$1/3600%24)\"h \"int(\\\\\\$1/60%60)\"m \"int(\\\\\\$1%60)\"s\" }'"; + calc = "exec - if which bc &>/dev/null\\; then echo '$*' | bc | awk '{print \"$*=\"$$1}'\\; else echo bc was not found\\; fi"; + invlist = "mode $C +I"; + q = "query"; + ak = "amarok"; + ec = "window close"; + em = "me"; + nixk = "nick"; + mw = "me"; + mne = "me"; + wm = "window move"; + awat = "away"; + gone = "away M-x work-mode"; + afk = "me afk: [detached]"; + awk = "me afk: Out of my mind. back in 5 minutes."; + sleep = "me invokes: M-x sleep-mode"; + uc = "statusbar window add usercount"; + nact = "statusbar window add nact"; + cb = "crapbuster"; + hideset = "set activity_hide_level parts joins quits nicks modes"; + hideclear = "set -c activity_hide_level"; + ignoreall = "/ignore $C CRAP NOTICES SNOTES CTCPS JOINS PARTS QUITS KICKS MODES WALLOPS NICKS DCC DCCMSGS CLIENTNOTICES CLIENTCRAP CLIENTERRORS HILIGHTS"; + slap = "me slaps $0 around with a small 50lb Unix Manual"; + bslap = "me slaps $0 around a bit with a 'Get a Life' HOWTO"; + rtfm = "msg $C $0: http://www.catb.org/~esr/jargon/html/R/RTFM.html"; + google = "msg $C $0: http://www.google.com"; + hackers = "msg $C $0: http://www.hackersmovie.com/"; +}; + +completions = { + ":9" = { value = ":)"; auto = "yes"; }; + ".)" = { value = ":)"; auto = "yes"; }; + ".-9" = { value = ":)"; auto = "yes"; }; + ":-9" = { value = ":)"; auto = "yes"; }; + ".-)" = { value = ":)"; auto = "yes"; }; + ".9" = { value = ":)"; auto = "yes"; }; + ":=" = { value = ":)"; auto = "yes"; }; + ":-=" = { value = ":)"; auto = "yes"; }; + ";9" = { value = ";)"; auto = "yes"; }; + ",)" = { value = ";)"; auto = "yes"; }; + ",-9" = { value = ";)"; auto = "yes"; }; + ";-9" = { value = ";)"; auto = "yes"; }; + ",-)" = { value = ";)"; auto = "yes"; }; + ",9" = { value = ";)"; auto = "yes"; }; + ";=" = { value = ";)"; auto = "yes"; }; + ";-=" = { value = ";)"; auto = "yes"; }; +}; + +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:$itemname{sbmode $M}}"; + window_empty = "{sb $winref{sbservertag $tag}}"; + prompt = "{prompt $[.15]itemname}"; + prompt_empty = "{prompt $winname}"; + topic = " $topic"; + topic_empty = " Irssi"; + + # 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"; }; + more = { priority = "-1"; alignment = "right"; }; + barend = { priority = "100"; alignment = "right"; }; + usercount = { }; + nact = { }; + mail = { }; + }; + }; + + # 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"; }; + }; + }; + awl_0 = { + items = { + barstart = { priority = "100"; }; + awl_0 = { }; + barend = { priority = "100"; alignment = "right"; }; + }; + }; + }; +}; + +settings = { + core = { + real_name = "aic"; + user_name = "anrxc"; + nick = "anrxc"; + settings_autosave = "off"; + awaylog_file = "~/.irssi/irclogs/away.log"; + awaylog_level = "msgs hilight"; + log_create_mode = "600"; + }; + + "fe-common/core" = { + theme = "zenbarn"; + timestamps = "yes"; + autocreate_own_query = "no"; + autocreate_query_level = "DCCMSGS"; + use_status_window = "no"; + use_msgs_window = "yes"; + autolog = "yes"; + autolog_path = "~/.irssi/irclogs/$tag/$0.log"; + emphasis_multiword = "on"; + emphasis_replace = "on"; + autoclose_windows = "on"; + hide_server_tags = "on"; + show_own_nickchange_once = "on"; + bell_beeps = "yes"; + beep_msg_level = "MSGS NOTICES INVITES DCC DCCMSGS HILIGHT"; + #not working, wtf? + #recode_fallback = "cp1250"; + #term_charset = "utf-8"; + }; + + "irc/core" = { + alternate_nick = "aic"; + ctcp_version_reply = "irssi v$J ($sysname)"; + ctcp_userinfo_reply = "$Y ($X)"; + }; + + "fe-text" = { term_force_colors = "on"; actlist_sort = "refnum"; }; + + proxy = { + irssiproxy_password = "xxxxxx"; + irssiproxy_ports = "fnode=25000 oftc=25001"; + }; + + "perl/core/scripts" = { + autorejoin_channels = "#sysphere #slackware-hr"; + awl_display_key = "$Q%G:%n$H$C$S"; + nact_devices = "eth0"; + neat_maxlength = "8"; + neat_right_mode = "no"; + neat_left_actions = "no"; + nicklist_automode = "SCREEN"; + usercount_show_zero = "no"; + usercount_show_halfops = "no"; + mail_mailboxes = "inbox=~/Mail/INBOX,"; + mail_format = "%u/%t"; + crapbuster_levels = "JOINS PARTS QUITS NICKS CLIENTCRAP CRAP MODE TOPICS KICKS"; + neat_colorize = "yes"; + }; +}; + +hilights = ( + { text = "anrxc"; nick = "yes"; word = "yes"; }, + { text = "vicious"; nick = "no"; word = "yes"; } +); + +logs = { }; + +ignores = ( + { mask = "rilix"; level = "ALL"; }, + { mask = "sysms"; level = "ALL"; }, + { mask = "rico"; level = "ALL"; } + # Also see hideclear and ignoreall aliases + { level = "JOINS PARTS QUITS"; channels = ( "#archlinux" ); } +); + +windows = { + 1 = { + immortal = "yes"; + name = "(status)"; + level = "ALL"; + sticky = "yes"; + parent = "2"; + }; + + 2 = { + items = ( + { + type = "CHANNEL"; + chat_type = "IRC"; + name = "#awesome"; + tag = "oftc"; + } + ); + }; + + 3 = { + items = ( + { + type = "CHANNEL"; + chat_type = "IRC"; + name = "#ecryptfs"; + tag = "oftc"; + } + ); + }; + + 4 = { + items = ( + { + type = "CHANNEL"; + chat_type = "IRC"; + name = "#archlinux"; + tag = "fnode"; + } + ); + }; + + 5 = { + items = ( + { + type = "CHANNEL"; + chat_type = "IRC"; + name = "##slackware"; + tag = "fnode"; + } + ); + }; + + 6 = { name = "hilight"; sticky = "yes"; }; +}; + +mainwindows = { + 2 = { first_line = "7"; lines = "22"; }; + 4 = { first_line = "1"; lines = "5"; }; +}; diff --git a/irssi/zenbarn.theme b/irssi/zenbarn.theme new file mode 100644 index 0000000..994ec42 --- /dev/null +++ b/irssi/zenbarn.theme @@ -0,0 +1,271 @@ +### +# irssi theme file, using irssi 0.8.14 +# - anrxc.sysphere.org +# +############################################### + +# Zenbarn irssi theme +# +# This theme makes sense only in the context of Zenburn color +# pallete. You can find color schemes for all popular terminal +# emulators on the Zenburn homepage: +# - http://slinky.imukuppi.org/zenburnpage/ +# +# I personally use nm.pl for aligning nicknames, which also provides +# complete coloring for them. Again, this theme was written with that +# in mind, without it it could or would not look like crap. +# +# This theme is not complete. I use it daily and when I come across +# something I don't like... + + +# 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 +replaces = { "[]=" = "%K$*%n"; }; + +abstracts = { + # Generic + # + # reserved spaces for nickname alignment + spacer = "$[-7]0"; + # text to insert at the beginning of each non-message line + line_start = " "; + # timestamp styling + timestamp = "%Y$*%N|"; + # any kind of text that needs hilighting + hilight = "%_$*%_"; + + # any kind of error message + error = "%Y$*%n"; + # channel name is printed + channel = "%B%_$*%_%n"; + # nick is printed + nick = "%W%_$*%_"; + # nick host is printed + nickhost = "%b(%b$0-%b)%b"; + # server name is printed + server = "%R%_$*%_"; + # some kind of comment is printed + comment = "[%Y$*%n]"; + # reason for something is printed (part, quit, kick, ..) + reason = "{comment $*}"; + # mode change is printed ([+o nick]) + mode = "{comment $*}"; + + + # Channel specific + # + # highlighted nick/host is printed (joins) + channick_hilight = "%K$*%n"; + chanhost_hilight = "{nickhost %R$*%n}"; + # nick/host is printed (parts, quits, etc.) + channick = "%c$*%n"; + chanhost = "{nickhost $*}"; + # highlighted channel name is printed + channelhilight = "%B$*%n"; + # ban/ban exception/invite list mask is printed + ban = "%R$*%n"; + + + # Messages + # + # the basic styling of how to print message, $0 = nick mode, $1 = nick + msgnick = "$0$1-%w|%n %|"; + # $0 = nick mode, $1 = nick + ownmsgnick = "{msgnick $0 $1-%R}%n"; + ownnick = "%W$*%n"; + # public message in channel, $0 = nick mode, $1 = nick + pubmsgnick = "{msgnick $0 $1-}"; + pubnick = "%N$*%n"; + pmsgnick = "%W$0%n$1-%w|%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:%R$*%n"; + # private message, $0 = nick, $1 = host + privmsg = "[%c$0%b(%b$1-%b)%n] "; + # private message from you, $0 = "msg", $1 = target nick + ownprivmsg = "[%b$0%b(%c$1-%b)%n] "; + # own private message in query + ownprivmsgnick = "{pmsgnick $*}"; + ownprivnick = "%W$*%n"; + # private message in query + privmsgnick = "{pmsgnick %R$*%n}"; + + + # Actions (/ME) + # + # used internally by this theme + action_core = "{spacer} %R* $*%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:%R$1%n "; + # private action sent by others + pvtaction = "%R* $*%n "; + pvtaction_query = "{pvtaction $*}"; + # public action sent by others + pubaction = "{action $*}"; + + + # 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 = "%r!$*%n "; + + + # CTCPs + ownctcp = "[%r$0%K(%R$1-%K)] "; + ctcp = "%R$*%n"; + + + # wallops + wallop = "%W$*%n: "; + wallop_nick = "%n$*"; + wallop_action = "%W * $*%n "; + + + # netsplits + netsplit = "%W$*%n"; + netjoin = "%W$*%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 = "[%c$*%n]"; + names_channel = "%B$*%n"; + + + # DCC + dcc = "%r$*%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 = "[%R$1-%K(%r$0%K)%n] "; + dccquerynick = "%R$*%n"; + dccaction = "%W (*dcc*) $*%n %|"; + + + # Statusbar + # + # default background for all statusbars + sb_background = "%0%G"; + # background for prompt / input line + sb_prompt_bg = "%n"; + # background for info statusbar + sb_info_bg = "%7"; + + # text at the beginning of statusbars + sbstart = ""; + # text at the end of statusbars + sbend = ""; + # + topicsbstart = ""; + topicsbend = ""; + + # entry prompt + prompt = "%Y>%n "; + + # statusbar items + sb = "%n$* | %n"; + # user mode + sbmode = "(%n+%n$*)"; + # away display + sbaway = " (%Yaway%n)"; + # server display + sbservertag = ":$0"; + # mode display + sbnickmode = "$0"; + + # Statusbar activity + # + # ',' separator + sb_act_sep = "%G$*"; + # normal text + sb_act_text = "%Y$*"; + # public message + sb_act_msg = "%Y$*"; + # hilight + sb_act_hilight = "%Y$*"; + # hilight with specified color, $0 = color, $1 = text + sb_act_hilight_color = "$0$1-%n"; + + + # Scripts + # + # user count + sb_usercount = "{sb %_$0%_ (%n$1-)%n}"; + # operators are printed + sb_uc_ircops = "%_*%_$*"; + # channel operators are printed + sb_uc_ops = "%_@%_$*"; + # half operators are printed + sb_uc_halfops = "%_%%%_$*"; + # voiced users are printed + sb_uc_voices = "%_+%_$*"; + # normal users are printed + sb_uc_normal = "$*"; + # separator + sb_uc_space = " "; + + # Nact network usage + nact_display = "Network: %n$2%_/%n$0%_/%n$5"; +}; + + +# Override irssi core settings +formats = { + "fe-common/core" = { + # Weechat-like notices + # + # channels joins + join = "{spacer}%Y--> {channick $0} {chanhost $1} %Nhas joined"; + # channel parts + part = "{spacer}%G<-- {channick $0} %Nhas left"; + # channel kicks + kick = "{spacer}%G<-- {channick $2} %Nkicked {channick $0} ($3)"; + # channels quits + quit = "{spacer}%G<-- {channick $0} %Nhas quit irc"; + # channels nick changes + nick_changed = "{spacer}%Y-!-%Y {channick $0} %Nis now known as {channick $1}"; + # channel topic changes + new_topic = "{nick $0} %Ntopic change -> {channel $1} to: $2"; + + # text to insert at the beginning of each non-message line + line_start_irssi = ""; + # timestamp styling + timestamp = "{timestamp %%H:%%M} "; + }; + "fe-common/irc" = { + }; +}; -- cgit v1.2.3