aboutsummaryrefslogtreecommitdiffstats
path: root/irssi
diff options
context:
space:
mode:
authorterminaldweller <thabogre@gmail.com>2021-05-14 18:14:50 +0000
committerterminaldweller <thabogre@gmail.com>2021-05-14 18:14:50 +0000
commit6e528248414e330c9e25e81596ab47b8b8a5b701 (patch)
treee1aa41a7f3198eeac187e6177ec7d4a33db229d3 /irssi
downloadscripts-6e528248414e330c9e25e81596ab47b8b8a5b701.tar.gz
scripts-6e528248414e330c9e25e81596ab47b8b8a5b701.zip
first commitmaster
Diffstat (limited to '')
-rw-r--r--irssi/config449
-rwxr-xr-xirssi/irssi.sh21
-rw-r--r--irssi/solarized-powerline.theme419
-rw-r--r--irssi/startup11
4 files changed, 900 insertions, 0 deletions
diff --git a/irssi/config b/irssi/config
new file mode 100644
index 0000000..cfb392d
--- /dev/null
+++ b/irssi/config
@@ -0,0 +1,449 @@
+servers = (
+ { address = "irc.dal.net"; chatnet = "DALnet"; port = "6667"; },
+ { address = "irc.efnet.org"; chatnet = "EFNet"; port = "6667"; },
+ { address = "irc.esper.net"; chatnet = "EsperNet"; port = "6667"; },
+ {
+ address = "chat.freenode.net";
+ chatnet = "Freenode";
+ port = "6667";
+ },
+ {
+ address = "irc.gamesurge.net";
+ chatnet = "GameSurge";
+ port = "6667";
+ },
+ { address = "eu.irc6.net"; chatnet = "IRCnet"; port = "6667"; },
+ { address = "open.ircnet.net"; chatnet = "IRCnet"; port = "6667"; },
+ {
+ address = "irc.ircsource.net";
+ chatnet = "IRCSource";
+ port = "6667";
+ },
+ { address = "irc.netfuze.net"; chatnet = "NetFuze"; port = "6667"; },
+ { address = "irc.oftc.net"; chatnet = "OFTC"; port = "6667"; },
+ {
+ address = "irc.quakenet.org";
+ chatnet = "QuakeNet";
+ port = "6667";
+ },
+ { address = "irc.rizon.net"; chatnet = "Rizon"; port = "6667"; },
+ { address = "silc.silcnet.org"; chatnet = "SILC"; port = "706"; }
+);
+
+chatnets = {
+ DALnet = {
+ type = "IRC";
+ max_kicks = "4";
+ max_msgs = "20";
+ max_whois = "30";
+ };
+ EFNet = {
+ type = "IRC";
+ max_kicks = "1";
+ max_msgs = "4";
+ max_whois = "1";
+ };
+ EsperNet = {
+ type = "IRC";
+ max_kicks = "1";
+ max_msgs = "4";
+ max_whois = "1";
+ };
+ Freenode = {
+ type = "IRC";
+ max_kicks = "1";
+ max_msgs = "4";
+ max_whois = "1";
+ };
+ GameSurge = {
+ type = "IRC";
+ max_kicks = "1";
+ max_msgs = "1";
+ max_whois = "1";
+ };
+ IRCnet = {
+ type = "IRC";
+ max_kicks = "1";
+ max_msgs = "1";
+ max_whois = "1";
+ };
+ IRCSource = {
+ type = "IRC";
+ max_kicks = "1";
+ max_msgs = "4";
+ max_whois = "1";
+ };
+ NetFuze = {
+ type = "IRC";
+ max_kicks = "1";
+ max_msgs = "1";
+ max_whois = "1";
+ };
+ OFTC = { type = "IRC"; max_kicks = "1"; max_msgs = "1"; max_whois = "1"; };
+ QuakeNet = {
+ type = "IRC";
+ max_kicks = "1";
+ max_msgs = "1";
+ max_whois = "1";
+ };
+ Rizon = {
+ type = "IRC";
+ max_kicks = "1";
+ max_msgs = "1";
+ max_whois = "1";
+ };
+ SILC = { type = "SILC"; };
+ Undernet = {
+ type = "IRC";
+ max_kicks = "1";
+ max_msgs = "1";
+ max_whois = "1";
+ };
+};
+
+channels = (
+ { name = "#lobby"; chatnet = "EsperNet"; autojoin = "No"; },
+ { name = "#freenode"; chatnet = "Freenode"; autojoin = "No"; },
+ { name = "#irssi"; chatnet = "Freenode"; autojoin = "No"; },
+ { name = "#gamesurge"; chatnet = "GameSurge"; autojoin = "No"; },
+ { name = "#irssi"; chatnet = "IRCNet"; autojoin = "No"; },
+ { name = "#ircsource"; chatnet = "IRCSource"; autojoin = "No"; },
+ { name = "#netfuze"; chatnet = "NetFuze"; autojoin = "No"; },
+ { name = "#oftc"; chatnet = "OFTC"; autojoin = "No"; },
+ { name = "silc"; chatnet = "SILC"; autojoin = "No"; },
+ { name = "#go-nuts"; chatnet = "freenode"; autojoin = "yes"; },
+ { name = "#docker"; chatnet = "freenode"; autojoin = "yes"; }
+);
+
+aliases = {
+ ATAG = "WINDOW SERVER";
+ ADDALLCHANS = "SCRIPT EXEC foreach my \\$channel (Irssi::channels()) { Irssi::command(\"CHANNEL ADD -auto \\$channel->{name} \\$channel->{server}->{tag} \\$channel->{key}\")\\;}";
+ B = "BAN";
+ BACK = "AWAY";
+ BANS = "BAN";
+ BYE = "QUIT";
+ C = "CLEAR";
+ CALC = "EXEC - if command -v bc >/dev/null 2>&1\\; then printf '%s=' '$*'\\; echo '$*' | bc -l\\; else echo bc was not found\\; fi";
+ CHAT = "DCC CHAT";
+ CUBES = "SCRIPT EXEC Irssi::active_win->print(\"%_bases\", MSGLEVEL_CLIENTCRAP) \\; Irssi::active_win->print( do { join '', map { \"%x0\\${_}0\\$_\" } '0'..'9','A'..'F' }, MSGLEVEL_NEVER | MSGLEVEL_CLIENTCRAP) \\; Irssi::active_win->print(\"%_cubes\", MSGLEVEL_CLIENTCRAP) \\; Irssi::active_win->print( do { my \\$y = \\$_*6 \\; join '', map { my \\$x = \\$_ \\; map { \"%x\\$x\\$_\\$x\\$_\" } @{['0'..'9','A'..'Z']}[\\$y .. \\$y+5] } 1..6 }, MSGLEVEL_NEVER | MSGLEVEL_CLIENTCRAP) for 0..5 \\; Irssi::active_win->print(\"%_grays\", MSGLEVEL_CLIENTCRAP) \\; Irssi::active_win->print( do { join '', map { \"%x7\\${_}7\\$_\" } 'A'..'X' }, MSGLEVEL_NEVER | MSGLEVEL_CLIENTCRAP) \\; Irssi::active_win->print(\"%_mIRC extended colours\", MSGLEVEL_CLIENTCRAP) \\; my \\$x \\; \\$x .= sprintf \"\00399,%02d%02d\",\\$_,\\$_ for 0..15 \\; Irssi::active_win->print(\\$x, MSGLEVEL_NEVER | MSGLEVEL_CLIENTCRAP) \\; for my \\$z (0..6) { my \\$x \\; \\$x .= sprintf \"\00399,%02d%02d\",\\$_,\\$_ for 16+(\\$z*12)..16+(\\$z*12)+11 \\; Irssi::active_win->print(\\$x, MSGLEVEL_NEVER | MSGLEVEL_CLIENTCRAP) }";
+ DATE = "TIME";
+ DEHIGHLIGHT = "DEHILIGHT";
+ DESCRIBE = "ACTION";
+ DHL = "DEHILIGHT";
+ EXEMPTLIST = "MODE $C +e";
+ EXIT = "QUIT";
+ GOTO = "SCROLLBACK GOTO";
+ HIGHLIGHT = "HILIGHT";
+ HL = "HILIGHT";
+ HOST = "USERHOST";
+ INVITELIST = "MODE $C +I";
+ J = "JOIN";
+ K = "KICK";
+ KB = "KICKBAN";
+ KN = "KNOCKOUT";
+ LAST = "LASTLOG";
+ LEAVE = "PART";
+ M = "MSG";
+ MUB = "UNBAN *";
+ N = "NAMES";
+ NMSG = "^MSG";
+ P = "PART";
+ Q = "QUERY";
+ RESET = "SET -default";
+ RUN = "SCRIPT LOAD";
+ SAY = "MSG *";
+ SB = "SCROLLBACK";
+ SBAR = "STATUSBAR";
+ SIGNOFF = "QUIT";
+ SV = "MSG * Irssi $J ($V) - http://www.irssi.org";
+ T = "TOPIC";
+ UB = "UNBAN";
+ UMODE = "MODE $N";
+ UNSET = "SET -clear";
+ W = "WHO";
+ WC = "WINDOW CLOSE";
+ WG = "WINDOW GOTO";
+ WJOIN = "JOIN -window";
+ WI = "WHOIS";
+ WII = "WHOIS $0 $0";
+ WL = "WINDOW LIST";
+ WN = "WINDOW NEW HIDDEN";
+ WQUERY = "QUERY -window";
+ WW = "WHOWAS";
+ 1 = "WINDOW GOTO 1";
+ 2 = "WINDOW GOTO 2";
+ 3 = "WINDOW GOTO 3";
+ 4 = "WINDOW GOTO 4";
+ 5 = "WINDOW GOTO 5";
+ 6 = "WINDOW GOTO 6";
+ 7 = "WINDOW GOTO 7";
+ 8 = "WINDOW GOTO 8";
+ 9 = "WINDOW GOTO 9";
+ 10 = "WINDOW GOTO 10";
+ 11 = "WINDOW GOTO 11";
+ 12 = "WINDOW GOTO 12";
+ 13 = "WINDOW GOTO 13";
+ 14 = "WINDOW GOTO 14";
+ 15 = "WINDOW GOTO 15";
+ 16 = "WINDOW GOTO 16";
+ 17 = "WINDOW GOTO 17";
+ 18 = "WINDOW GOTO 18";
+ 19 = "WINDOW GOTO 19";
+ 20 = "WINDOW GOTO 20";
+ 21 = "WINDOW GOTO 21";
+ 22 = "WINDOW GOTO 22";
+ 23 = "WINDOW GOTO 23";
+ 24 = "WINDOW GOTO 24";
+ 25 = "WINDOW GOTO 25";
+ 26 = "WINDOW GOTO 26";
+ 27 = "WINDOW GOTO 27";
+ 28 = "WINDOW GOTO 28";
+ 29 = "WINDOW GOTO 29";
+ 30 = "WINDOW GOTO 30";
+ 31 = "WINDOW GOTO 31";
+ 32 = "WINDOW GOTO 32";
+ 33 = "WINDOW GOTO 33";
+ 34 = "WINDOW GOTO 34";
+ 35 = "WINDOW GOTO 35";
+ 36 = "WINDOW GOTO 36";
+ 37 = "WINDOW GOTO 37";
+ 38 = "WINDOW GOTO 38";
+ 39 = "WINDOW GOTO 39";
+ 40 = "WINDOW GOTO 40";
+ 41 = "WINDOW GOTO 41";
+ 42 = "WINDOW GOTO 42";
+ 43 = "WINDOW GOTO 43";
+ 44 = "WINDOW GOTO 44";
+ 45 = "WINDOW GOTO 45";
+ 46 = "WINDOW GOTO 46";
+ 47 = "WINDOW GOTO 47";
+ 48 = "WINDOW GOTO 48";
+ 49 = "WINDOW GOTO 49";
+ 50 = "WINDOW GOTO 50";
+ 51 = "WINDOW GOTO 51";
+ 52 = "WINDOW GOTO 52";
+ 53 = "WINDOW GOTO 53";
+ 54 = "WINDOW GOTO 54";
+ 55 = "WINDOW GOTO 55";
+ 56 = "WINDOW GOTO 56";
+ 57 = "WINDOW GOTO 57";
+ 58 = "WINDOW GOTO 58";
+ 59 = "WINDOW GOTO 59";
+ 60 = "WINDOW GOTO 60";
+ 61 = "WINDOW GOTO 61";
+ 62 = "WINDOW GOTO 62";
+ 63 = "WINDOW GOTO 63";
+ 64 = "WINDOW GOTO 64";
+ 65 = "WINDOW GOTO 65";
+ 66 = "WINDOW GOTO 66";
+ 67 = "WINDOW GOTO 67";
+ 68 = "WINDOW GOTO 68";
+ 69 = "WINDOW GOTO 69";
+ 70 = "WINDOW GOTO 70";
+ 71 = "WINDOW GOTO 71";
+ 72 = "WINDOW GOTO 72";
+ 73 = "WINDOW GOTO 73";
+ 74 = "WINDOW GOTO 74";
+ 75 = "WINDOW GOTO 75";
+ 76 = "WINDOW GOTO 76";
+ 77 = "WINDOW GOTO 77";
+ 78 = "WINDOW GOTO 78";
+ 79 = "WINDOW GOTO 79";
+ 80 = "WINDOW GOTO 80";
+ 81 = "WINDOW GOTO 81";
+ 82 = "WINDOW GOTO 82";
+ 83 = "WINDOW GOTO 83";
+ 84 = "WINDOW GOTO 84";
+ 85 = "WINDOW GOTO 85";
+ 86 = "WINDOW GOTO 86";
+ 87 = "WINDOW GOTO 87";
+ 88 = "WINDOW GOTO 88";
+ 89 = "WINDOW GOTO 89";
+ 90 = "WINDOW GOTO 90";
+ 91 = "WINDOW GOTO 91";
+ 92 = "WINDOW GOTO 92";
+ 93 = "WINDOW GOTO 93";
+ 94 = "WINDOW GOTO 94";
+ 95 = "WINDOW GOTO 95";
+ 96 = "WINDOW GOTO 96";
+ 97 = "WINDOW GOTO 97";
+ 98 = "WINDOW GOTO 98";
+ 99 = "WINDOW GOTO 99";
+};
+
+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 = "%9%z005fff{sb {sbnickmode $[-2]cumode}%k$N %Zeeeeee {sbumode %K$usermode} %Z005fff%0%z005f00{sbaway $A}}%9%N";
+
+
+ # treated specially .. window is printed with non-empty windows,
+ # window_empty is printed with empty windows
+ window = " %Z00af00{sb $tag/{channel $itemname} %C {sbmode $M}} %C%n ";
+ window_empty = "{sb {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
+ # Powerline
+ lag = "{sb %r%k%1 ⌚ $0 %r%0%n}";
+ act = "{sb %Zeeeeee%0%n%z005fff %F$0%F %n}";
+ more = "%c%0%n%z00af00 more ⬇ %c%0%n";
+
+
+ };
+
+ # 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"; };
+ user = { };
+ window = { };
+ window_empty = { };
+ lag = { priority = "-1"; };
+ more = { priority = "-1"; alignment = "right"; };
+ barend = { priority = "100"; alignment = "right"; };
+ otr = { };
+ usercount = { };
+ };
+ };
+
+ # 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"; };
+ topicbarend = { priority = "100"; alignment = "right"; };
+ topic = { };
+ topicempty = { };
+ };
+ };
+ awl_0 = {
+ items = {
+ barstart = { priority = "100"; };
+ awl_0 = { };
+ barend = { priority = "100"; alignment = "right"; };
+ };
+ };
+ };
+};
+settings = {
+ core = {
+ real_name = "";
+ user_name = "devi";
+ nick = "bloodstalker";
+ use_proxy = "yes";
+ proxy_address = "192.168.1.108";
+ proxy_port = "3128";
+ proxy_string = "CONNECT %s:%d HTTP/1.0\012\012";
+ proxy_string_after = "conn %s %d";
+ proxy_password = "";
+ };
+ "fe-common/core" = {
+ theme = "solarized-powerline";
+ hilight_color = "%R";
+ };
+ "fe-text" = { actlist_sort = "refnum"; };
+ "perl/core/scripts" = {
+ ### For Solarized adv_windowlist.pl script
+ awl_block = "-20";
+ awl_sbar_maxlength = "off";
+ awl_hide_empty = "yes";
+ awl_mouse = "yes";
+ awl_viewer = "no";
+ awl_maxlines = "0";
+ #fancy_abbrev = "head";
+
+ ### For Solarized trackbar.pl script
+ trackbar_style = "%B";
+ title_screen_window = "yes";
+ awl_shared_sbar = "OFF";
+ };
+};
+keyboard = (
+ { key = "meta-[M"; id = "command"; data = "mouse_xterm"; }
+);
+ignores = (
+ { level = "JOINS PARTS QUITS NICKS"; channels = ( "#go-nuts" ); },
+ { level = "JOINS PARTS QUITS NICKS"; channels = ( "#docker" ); },
+ { level = "JOINS PARTS QUITS NICKS"; channels = ( "#node.js" ); },
+ { level = "JOINS PARTS QUITS NICKS"; channels = ( "#vagrant" ); },
+ { level = "JOINS PARTS QUITS NICKS"; channels = ( "#ansible" ); },
+ { level = "JOINS PARTS QUITS NICKS"; channels = ( "#dpdk" ); },
+ { level = "JOINS PARTS QUITS NICKS"; channels = ( "#fdio-vpp" ); },
+ { level = "JOINS PARTS QUITS NICKS"; channels = ( "#alacritty" ); },
+ { level = "JOINS PARTS QUITS NICKS"; channels = ( "#osm" ); }
+);
diff --git a/irssi/irssi.sh b/irssi/irssi.sh
new file mode 100755
index 0000000..7881d46
--- /dev/null
+++ b/irssi/irssi.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env sh
+
+mkdir -p ~/.irssi/scripts/autorun
+cd ~/.irssi/scripts/autorun
+wget https://scripts.irssi.org/scripts/nickcolor.pl
+wget https://scripts.irssi.org/scripts/adv_windowlist.pl
+wget https://scripts.irssi.org/scripts/timezones.pl
+wget https://scripts.irssi.org/scripts/seen.pl
+wget https://scripts.irssi.org/scripts/colorize_nicks.pl
+wget https://scripts.irssi.org/scripts/cubes.pl
+wget https://scripts.irssi.org/scripts/dim_nicks.pl
+wget https://scripts.irssi.org/scripts/hilite_url.pl
+wget https://scripts.irssi.org/scripts/messages_bottom.pl
+wget https://scripts.irssi.org/scripts/nm2.pl
+wget https://scripts.irssi.org/scripts/savecmdhist.pl
+wget https://scripts.irssi.org/scripts/sb_position.pl
+wget https://scripts.irssi.org/scripts/trackbar.pl
+
+cp ./config ~/.irssi/config
+cp ./solarized-powerline.theme ~/.irssi/solarized-powerline.theme
+cp ./startup ~/.irssi/startup
diff --git a/irssi/solarized-powerline.theme b/irssi/solarized-powerline.theme
new file mode 100644
index 0000000..c214262
--- /dev/null
+++ b/irssi/solarized-powerline.theme
@@ -0,0 +1,419 @@
+# vim: set expandtab:
+# (Adapted from solarized-universal theme by Huy Z: https://github.com/huyz/irssi-colors-solarized)
+# Adaped by: Paul Saunders
+# later adapted by: Farzad Sadeghi https://github.com/terminaldweller
+# 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.
+
+#############################################################################
+# https://irssi.org/documentation/settings/#a_d
+
+# 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 = { "[]=" = "%_$*%_"; };
+
+abstracts = {
+ ##
+ ## generic
+ ##
+
+ # text to insert at the beginning of each non-message line
+ # %N = terminal default (e.g. white on transparent)
+ # %G = brightgreen (Solarized: base01, i.e. darkest gray)
+ #line_start = "%N%W %N";
+ line_start = "%N";
+
+ # timestamp styling, nothing by default
+ # %N%8 = reverse normal (to match line_start)
+ timestamp = "%N%k%z005f87%9$*%9%N%Z005f87%n";
+
+ # any kind of text that needs hilighting, default is to bold
+ hilight = "%_$*%_";
+
+ # any kind of error message
+ error = "%r$*%n";
+
+ # channel name is printed
+ channel = "%Z00af00$*%n";
+
+ # nick is printed
+ nick = "%Zeeeeee{nickcolor $*}";
+ mynick = "%Zeeeeee{nickcolor $*}";
+ inick = "%Zeeeeee{nickcolor $*}"; # Inverted
+ imynick = "%Zeeeeee{nickcolor $*}"; # Inverted
+
+ # nick host is printed
+ # (that's the "email" address of a user)
+ nickhost = "%Z005f5f$*";
+
+ # server name is printed
+ server = "%Z00af00$*";
+ iserver = "%9%Zeeeeee%z00af00$*%9%n";
+
+ # some kind of comment is printed
+ comment = " $*";
+
+ # reason for something is printed (part, quit, kick, ..)
+ reason = "$*";
+
+ # mode change is printed ([+o nick])
+ mode = "%N%0%p$*%n";
+
+ ##
+ ## channel specific messages
+ ##
+
+ # highlighted nick/host is printed (joins)
+ # %c = cyan (Solarized: cyan)
+ # %G = brightgreen (Solarized: base01)
+ # NOTE: %n doesn't work in irssi v0.8.15 for some reason. So we have to end with the same color as line_start
+ channick_hilight = "%Z00af00$*%G";
+ chanhost_hilight = "%Z00af00{nickhost $*}%N";
+
+ # nick/host is printed (parts, quits, etc.)
+ channick = "%Z00af00$*%G";
+ chanhost = "%Z00af5f{nickhost $*}%N";
+
+ # highlighted channel name is printed
+ # SOLARIZED: Channels are Green
+ channelhilight = "%N%0%g$*%N";
+ ichannelhilight = "%z005f87$*%n%0";
+
+ # ban/ban exception/invite list mask is printed
+ # %R = brightred (Solarized: orange)
+ # %n = return
+ ban = "%R$*%n";
+
+
+ ##
+ ## messages
+ ##
+
+ # the basic styling of how to print message, $0 = nick mode, $1 = nick
+ msgnick = "%z005f87%Zeeeeee $0%Zeeeeee{nick $1-} %Zeeeeee";
+
+ # 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
+ # %3 = yellow
+ ownmsgnick = "%z5f5fff%k{%z5f5fff%9 $0$1-%9}%N%0%Z5f5fff %Zeeeeee";
+ ownnick = "%Zeeeeee$*";
+
+ # public message in channel, $0 = nick mode, $1 = nick
+ pubmsgnick = "%z005f87%k%Zeeeeee{%Zeeeeee%z005f87msgnick $0$1-}%N%Z005f87 %n";
+ pubnick = "%Zeeeeee$*";
+
+ # public message in channel meant for me, $0 = nick mode, $1 = nick
+ # %5 = magenta
+ pubmsgmenick = "%5%k%Z0087ff{msgnick $0$1-}%N%m %n";
+ menick = "%Zeeeeee$*";
+
+ # public highlighted message in channel
+ # $0 = highlight color, $1 = nick mode, $2 = nick
+ pubmsghinick = " %z005f87%k%z005f87{%Zeeeeee%z005f87msgnick $1 %Zeeeeee$2-}%N%Z005f87 %n";
+
+ # channel name is printed with message
+ # This is printed whenever the channel name is printed for disambiguation, e.g.
+ # while there is a query in the same window. Example: <+funnyuser:#test> hello
+ msgchannel = "%z005f5f%k:$*%n";
+
+ # private message, $0 = nick, $1 = host
+ # TODO: To test for Solarized
+ privmsg = " %m$0%G<%n$1-%G>%n ";
+
+ # private message from you, $0 = "msg", $1 = target nick
+ # TODO: To test for Solarized
+ ownprivmsg = " %Z005f87$0%G<%Z005f87$1-%G>%n ";
+
+ # own private message in query
+ ownprivmsgnick = "%z5f5fff%k{%z5f5fff%9 $*%9}%N%Z5f5fff %C";
+ ownprivnick = "%k$*";
+
+ # private message in query
+ # NOTE: for some reason, we gotta handle both the nick & msg on in this line
+ privmsgnick = "%5%k{msgnick $*}%N%m %n";
+
+ ##
+ ## Actions (/ME stuff)
+ ##
+
+ # used internally by this theme
+ action_core = "%N%k %n$*";
+
+ # generic one that's used by most actions
+ action = "{action_core %_$*%n} ";
+
+ # own action, both private/public
+ ownaction = "%N%k {mynick $0}%N%C $1-";
+
+ # own action with target, both private/public
+ # NOTE: to test: /action NICK farted. (This will tell NICK that you farted)
+ # This is like a /me but only you and NICK will see
+ ownaction_target = "{action_core $0}%G:%y$1%n ";
+
+ # private action sent by others
+ # %M = brightmagenta (Solarized: violet)
+ pvtaction = "%m (*) $*%n ";
+ pvtaction_query = "{action $*}";
+
+ # public action sent by others
+ pubaction = "%N%k {nick $0}%N $1-";
+
+
+ ##
+ ## other IRC events
+ ##
+
+ # whois
+ whois = "%k%z005f87WHOIS %N%k%#%N $[8]0  %Y$1-";
+
+ # notices
+ ownnotice = "%1%k %k$0 %k%1%8%0 {ichannelhilight $1-} %k%z00af5f%N ";
+ notice = "%1%k %k$0- %r%0%N ";
+ #notice = "%1%w %W$* %k%8%n ";
+ pubnotice_channel = "{ichannelhighlight $*}";
+ #pubnotice_channel = "%G%n$*";
+ pvtnotice_host = " %k%n {hickhost $*}";
+ servernotice = "%1%k %k!$* %k%8%n ";
+
+ # CTCPs
+ ownctcp = "%k%z005f87 %k$0%G %N%Z005f87 %Z005f87$1-%G  ";
+ ctcp = "%N%k%n %Zeeeeee$*%n";
+
+ # wallops
+ wallop = "%c$*%n: ";
+ wallop_nick = "%n$*";
+ wallop_action = "%c * $*%n ";
+
+ # netsplits
+ netsplit = "%r$*%n";
+ netjoin = "%g$*%n";
+
+ # /names list
+ names_prefix = "%N%k%n";
+ names_nick = " %G%_$0%_$1-%N  ";
+ names_nick_op = " %k%_$0$_$1-%n  ";
+ names_nick_halfop = " %Y$_$0$_$1-%n  ";
+ names_nick_voice = " %C$_$0$_$1-%n  ";
+ names_users = "%k%z005f87 $* %Z005f87%0%n";
+ names_channel = " %k$*";
+
+ # DCC
+ dcc = "%N%k%n %g$*%n";
+ dccfile = "%_$*%_";
+
+ # DCC chat, own msg/action
+ dccownmsg = "[%Z005f87$0%G($1-%G)%n] ";
+ dccownnick = "%Z005f87$*%n";
+ dccownquerynick = "%c$*%n";
+ dccownaction = "{action $*}";
+ dccownaction_target = "{action_core $0}%G:%c$1%n ";
+
+ # DCC chat, others
+ dccmsg = " %g$1-%G($0%G)%n ";
+ dccquerynick = "%g$*%n";
+ dccaction = "%c (*dcc*) $*%n %|";
+
+ ##
+ ## statusbar
+ ##
+
+ # default background for all statusbars. You can also give
+ # the default foreground color for statusbar items.
+ # NOTE: if all the other overriding settings below are set, this only seems to affect
+ # the content parts of the adv_windowlist. Default seems to be blue
+ # NOTE: if not set, the default background seems to be %w%4 = white on blue
+ sb_background = "%k%z1c1c1c";
+
+ # default backround for "default" statusbar group
+ # NOTE: this impacts the statusbar of an inactive window and the edges of adv_windowlist
+ # %7 = white (wich looks gray on a regular terminal with white bg)
+ sb_default_bg = "%Z005fff";
+
+ # background for topicbar at the top (defaults to sb_default_bg)
+ sb_topic_bg = "%W%0";
+
+ # background for the statusbar of active window. You can also give
+ # the foreground color.
+ # %2 = green
+ sb_window_bg = "%k%0";
+
+ # background for prompt / input line
+ sb_prompt_bg = "%k";
+ # background for info statusbar
+ # %8 = reverse window
+ # TODO: To test for Solarized
+ sb_info_bg = "%z1c1c1c";
+
+ # text at the beginning of statusbars. sb-item already puts
+ # space there,so we don't use anything by default.
+ sbstart = "%z005f00%9";
+ # text at the end of statusbars. Use space so that it's never
+ # used for anything.
+ sbend = "%9%n";
+
+ topicsbstart = "{sbstart $*}";
+ topicsbend = "{sbend $*}";
+
+ prompt = "%9%k%z005f87$c $* %N%Z005f87%9%n ";
+
+ # This controls each part of a statusbar, including the outer brackets of adv_windowlist
+ sb = "$*";
+ # The mode is next to your NICK and the channel
+ sbmode = "%p$*%k";
+ sbaway = "%Z00af00%k%z00af00 zZzZzZzZ %Z00af00%0";
+ sbservertag = "%Z00af00 $0 %Z005f87(change with ^X)%n";
+ sbnickmode = "%Zeeeeee$0";
+
+ # activity in statusbar
+
+ # ',' separator between the window numbers
+ # %g = green (same color as the active statusbar so we dont' see it)
+ sb_act_sep = "%Z005fff+";
+ # normal text
+ # This also affects the color of the window with activity in adv_windowlist
+ sb_act_text = "%C$*";
+ # public message (ordinary messages)
+ sb_act_msg = "%c$*";
+ # hilight (when people actually chat)
+ # This also affects the color of the window with direct message in adv_windowlist
+ sb_act_hilight = "%m$*";
+ # hilight with specified color, $0 = color, $1 = text
+ sb_act_hilight_color = "%R$1-";
+
+ ### For usercount.pl script
+
+ sb_usercount = "{sb $0 users %Z005f87(%n$1-%Z005f87)}";
+ sb_uc_ircops = "%k*%n$*";
+ sb_uc_ops = "%y@%n$*";
+ sb_uc_halfops = "%p%%%n$*";
+ sb_uc_voices = "%Z005f87+%n$*";
+ sb_uc_normal = "%k %n$*";
+ sb_uc_space = "%K·%n";
+
+ ### For adv_windowlist.pl script
+
+ # Mentioned in adv_windowlist but not default_theme
+ sb_act_none = "$*";
+};
+
+formats = {
+ "fe-common/core" = {
+ daychange = " %g-----%k-%W-%n Day changed to %%D %W-%k-%g-----%n";
+ join = "%k%z00af5fJOIN %8 {ichannelhilight $2} %0%Z00d700%0 {inick $0}%0 %N%8%n%k%N {chanhost_hilight $1}";
+ line_start_irssi = "%k%zff0000IRSSI%N%Zff0000 %N";
+ new_topic = "%k%z00d700TOPIC %8 {ichannelhilight $1} by {inick $0}%8  $2";
+ nick_changed = "%k%z00d700RENAME %Z00d700%0 {nick $0} %Zff8700 {nick $1} %N%8%n%k%N";
+ part = "%k%z00d700PART %8 {ichannelhilight $2}%N %0%Z005f87 %N{inick $0}%0 %k%Zeeeeee {reason $3}";
+ quit = "%0%Z005f00%k%z005f00QUIT %N {inick $0}%0 %Zeeeeee %N%n%k%N {reason $2}";
+ your_nick_changed = "%k%z00d700RENAME %Z00d700%0 {mynick $0} %Zff8700 {mynick $1} %N%8%n%k%N";
+ };
+ "fe-common/irc" = {
+ away = "%k%z00d700AWAY %N%k%N";
+ banlist = "%p%z00d700BANS %z00d700 $[-3]0 %8 {ichannelhilight $1} %N%8%n%k%N {ban $2}";
+ banlist_long = "%p%z00d700BANS %z00d700 $[-3]0 %8 {ichannelhilight $1} {comment by {inick $3}%0%k, $4 secs ago} %N%8%n%k%N {ban $2}";
+ chanmode_change = "%k%z008700MODE %N%Z008700%N {channelhilight $0} %Zeeeeee%n {mode $1}%n by {nick $2}";
+ channel_created = "%k%N Channel {channelhilight $0} created $1";
+ channel_mode = "%k%N mode/{channelhilight $0} {mode $1}";
+ ctcp_default_reply = "%W%0%N $0- ";
+ ctcp_ping_reply = "%k%z005f87 CTCP {hilight PING} reply %n%Z005f87%N {nick $0} %y%N%n $1.$[-3.0]2 seconds ";
+ ctcp_reply = "%k%z005f87 CTCP {hilight $0} reply %n%Z005f87%N {nick $1} %y%N $2 ";
+ ctcp_reply_channel = "%k%z005f87 CTCP {hilight $0} reply %n%Z005f87%N {nick $1} %y%N {channel $3} %y%N $2";
+ ctcp_requested = "%k%z005f87%8%8 CTCP {hilight $2} from {mynick $4} %n%Z005f87%N by {hilight $0} {comment $1} %y%N $3";
+ default_event = "%N%k %N%n$1";
+ default_event_server = "%k%z00d700$0 %N%k %N%n$1";
+ ebanlist = "%p%z00d700BANS %k exception %8 {ichannelhilight $0} %N%8%n%k%N {ban $1}";
+ ebanlist_long = "%p%z00d700BANS %k exception %8 {ichannelhilight $0} {comment by {inick $2}%0%k, $3 secs ago} %N%8%n%k%N {ban $1}";
+ end_of_who = "%z00d700%kWHO %N%k%N END";
+ end_of_whois = "%z00d700%kWHOIS %N%k%N END";
+ end_of_whowas = "%z00d700%kWHOWAS %N%k%N END";
+ netsplit = "%k%1%8%8 NETSPLIT %k%0%8 {iserver $0} %z00d700%8 {iserver $1}%8 %N%8%n%k%N Quits: $2";
+ netsplit_join = "%k%1 NETSPLIT %k%8%N Joins: $0";
+ netsplit_join_more = "%k%1 NETSPLIT %k%8%N Joins: $0 (+$1 more)";
+ netsplit_more = "%k%1%8%8 NETSPLIT %k%0%8 {iserver $0} %z00d700%8 {iserver $1}%8 %N%8%n%k%N Quits: $2 (+$3 more, use /NETSPLIT to show all of them)";
+ no_topic = "%k%N No topic set for {channelhilight $0}";
+ own_ctcp = "%k%z005f87 CTCP {hilight $2-}  {inick $0} %n%Z005f87%N";
+ server_chanmode_change = "%k%1 SERVERMODE %k%8 {channelhilight $0} {mode $1} by {nick $2}";
+ topic = "%k%z00d700TOPIC %Z00d700%0%N {channel $0}%N  $1";
+ topic_info = "%k%z00d700TOPIC %Z00d700%0%N {nick $0}%N {nickhost $2}  $1";
+ unaway = "%k%z00d700AWAY %N%k%N END";
+ usermode_change = "%z008700%ZeeeeeeMODE %N%Z008700%N {mode $0}%N for %0{mynick $1}%N";
+ who = "%z00d700%kWHO %z005f87%k {inick $[!9]1} %Z005f87 %k$0 %0%g Status: $[!3]2  $[-2]3 hops %N%k%N {nickhost $4@$5} {comment $6}";
+ whois = "%z00d700%kWHOIS %N%k%n {nick $0} {nickhost $1@$2}%:{whois ircname $3}";
+ whowas = "%z00d700%kWHOWAS %N%k%n {nick $0} {nickhost $1@$2}%:{whois was $3}";
+ };
+ "Irssi::Script::adv_windowlist" = {
+ awl_display_header = "";
+ awl_display_key = " %0$N  $H$C$S %n";
+ awl_display_key_active = "%9%W%Z008700%0%8 %zeeeeee$N  $H$C$S%8 %0%8%8%9%n";
+ awl_display_key_visible = "%Z005fff %m$N %k $H$C$S %8%8%n";
+ awl_display_nokey = " %0$N  %U$C%U %n";
+ awl_display_nokey_active = "%k%z005f87 %k$N %k %U$C%U %8%8%n";
+ awl_display_nokey_visible = "%k%z5f5fff %m$N %k %U$C%U %8%8%n";
+ awl_separator = "";
+ };
+};
diff --git a/irssi/startup b/irssi/startup
new file mode 100644
index 0000000..e18f450
--- /dev/null
+++ b/irssi/startup
@@ -0,0 +1,11 @@
+/load proxy
+/SET use_proxy ON
+/SET proxy_address 192.168.1.108
+/SET proxy_port 3128
+/SET -clear proxy_string
+/SET proxy_string_after conn %s %d
+/EVAL SET proxy_string CONNECT %s:%d HTTP/1.0\n\n
+/SET -clear proxy_password
+
+/connect irc.freenode.net
+/connect OFTC