diff options
author | terminaldweller <thabogre@gmail.com> | 2021-05-14 18:14:50 +0000 |
---|---|---|
committer | terminaldweller <thabogre@gmail.com> | 2021-05-14 18:14:50 +0000 |
commit | 6e528248414e330c9e25e81596ab47b8b8a5b701 (patch) | |
tree | e1aa41a7f3198eeac187e6177ec7d4a33db229d3 /irssi | |
download | scripts-6e528248414e330c9e25e81596ab47b8b8a5b701.tar.gz scripts-6e528248414e330c9e25e81596ab47b8b8a5b701.zip |
first commitmaster
Diffstat (limited to '')
-rw-r--r-- | irssi/config | 449 | ||||
-rwxr-xr-x | irssi/irssi.sh | 21 | ||||
-rw-r--r-- | irssi/solarized-powerline.theme | 419 | ||||
-rw-r--r-- | irssi/startup | 11 |
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%z00af5fJOIN %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 |