This commit is contained in:
lickthecheese 2020-04-01 20:51:16 -04:00
parent f554bfa9f7
commit 9df77bc7c4
14 changed files with 3059 additions and 107 deletions

View file

@ -29,7 +29,7 @@ MiscShowUnsafePasteDialog=FALSE
BackgroundMode=TERMINAL_BACKGROUND_TRANSPARENT
BackgroundDarkness=0.280000
ColorBackground=#000000000000
FontName=Source Code Pro 9
FontName=JetBrains Mono 9
ScrollingBar=TERMINAL_SCROLLBAR_NONE
CellWidthScale=1.050000
DropdownPosition=75
@ -38,4 +38,5 @@ DropdownHeight=53
DropdownAlwaysShowTabs=FALSE
DropdownAnimationTime=158
DropdownStatusIcon=FALSE
FontUseSystem=TRUE

247
.irssi/away.log Normal file
View file

@ -0,0 +1,247 @@
--- Log opened Fri Jul 26 16:58:32 2019
--- Log closed Sat Jul 27 09:21:10 2019
--- Log opened Sat Jul 27 20:12:38 2019
--- Log closed Sun Jul 28 13:35:20 2019
--- Log opened Fri Aug 02 08:42:31 2019
08:42 8/<g</lickthecheese_webg8/>g ehi
08:42 8/<g</lickthecheese_webg8/>g ebu'
08:42 8/<g</lickthecheese_webg8/>g eqa
--- Log closed Fri Aug 02 08:43:06 2019
--- Log opened Mon Oct 14 10:17:34 2019
--- Log closed Tue Oct 15 08:21:23 2019
--- Log opened Thu Oct 17 22:17:25 2019
--- Day changed Fri Oct 18 2019
05:58 #team: 8/<g >/jan6g8/>g elickthecheese: emojis are VERY system dependant, ST might not know how to swap to an emoji font (if you have one, even), but most should know it, also I think I remember 'em working on my system
--- Log closed Fri Oct 18 08:45:12 2019
--- Log opened Fri Oct 18 09:09:48 2019
--- Log closed Sun Oct 20 13:12:26 2019
--- Log opened Mon Oct 21 08:32:39 2019
--- Log closed Mon Oct 21 10:04:52 2019
--- Log opened Thu Oct 31 21:26:45 2019
--- Log closed Fri Nov 01 13:33:42 2019
--- Log opened Mon Dec 02 23:33:09 2019
--- Log closed Tue Dec 03 07:31:58 2019
--- Log opened Tue Dec 03 15:02:17 2019
--- Log closed Tue Dec 03 15:02:24 2019
--- Log opened Wed Dec 04 14:37:43 2019
16:14 #tildetel: 8/<g~>/catg8/>g elickthecheese - did you get it working in the end?
18:32 #meta: 8/<g >/jamiewg8/>g elickthecheese: what website are you referring to?
--- Log closed Wed Dec 04 20:33:19 2019
--- Log opened Sun Dec 08 23:36:46 2019
23:36 #bots: 8/<g >/deependg8/>g elickthecheese: wish I could.. but the vm wont let me add cpu cores while its running
--- Day changed Mon Dec 09 2019
06:48 #team: 8/<g@>/cmccabeg8/>g elickthecheese: are you talking about this? https://www.archlinux.org/news/
--- Log closed Mon Dec 09 09:36:15 2019
--- Log opened Mon Dec 09 20:18:53 2019
--- Log closed Tue Dec 10 11:41:33 2019
--- Log opened Fri Dec 27 17:55:20 2019
--- Log closed Sat Dec 28 12:31:25 2019
--- Log opened Mon Jan 06 18:29:41 2020
--- Log closed Mon Jan 06 19:24:08 2020
--- Log opened Mon Jan 06 19:48:32 2020
20:06 8/<gclickthecheeseg8/>g eHELP
20:06 8/<gclickthecheeseg8/>g eREGISTER
20:07 8/<gclickthecheeseg8/>g eREGISTER #lickthecheese lickthecheeses nice channel
20:07 8/<gclickthecheeseg8/>g eREGISTER #archlinux a nice distribution of linux
20:08 8/<gclickthecheeseg8/>g eREGISTER #arch a nice distribution of linux
20:08 8/<gclickthecheeseg8/>g eTOPIC
--- Log closed Mon Jan 06 20:09:44 2020
--- Log opened Tue Jan 07 07:39:48 2020
--- Log closed Tue Jan 07 12:16:12 2020
--- Log opened Tue Jan 07 18:25:33 2020
--- Log closed Tue Jan 07 20:48:37 2020
--- Log opened Thu Jan 16 11:32:02 2020
11:32 #team: 8/<g >/ubergeekg8/>g elickthecheese: it's as secure as the linkulator binaries are
11:33 #team: 8/<g@>/cmccabeg8/>g elickthecheese: someday that would be really cool, but we haven't tested it throughly enough yet that i would currently trust it for that.
--- Log closed Thu Jan 16 11:43:23 2020
--- Log opened Tue Jan 21 18:56:39 2020
--- Log closed Tue Jan 21 18:56:44 2020
--- Log opened Tue Jan 21 18:56:59 2020
--- Log closed Tue Jan 21 19:51:01 2020
--- Log opened Tue Jan 21 22:18:14 2020
23:24 #lickthecheese: 8/<g >/brendog8/>g elickthecheese: is ltc_discord on a server or is hosted from home?
--- Log closed Wed Jan 22 07:22:16 2020
--- Log opened Wed Jan 22 07:40:12 2020
--- Log closed Wed Jan 22 09:10:41 2020
--- Log opened Mon Feb 03 21:44:21 2020
--- Log closed Tue Feb 04 07:19:14 2020
--- Log opened Tue Feb 11 08:34:16 2020
--- Log closed Tue Feb 11 11:28:19 2020
--- Log opened Tue Mar 03 11:05:33 2020
--- Log closed Tue Mar 03 11:42:13 2020
--- Log opened Wed Mar 04 21:30:45 2020
22:44 #wilde: 8/<g >/deependg8/>g elickthecheese: the tilde.team page for you is now listed on search.tilde.club
--- Day changed Thu Mar 05 2020
01:42 8/<g</jucelodeg8/>g etest
--- Log closed Thu Mar 05 06:15:02 2020
--- Log opened Thu Mar 05 21:34:27 2020
22:01 #bots: 8/<g >/loging8/>g elickthecheese, why the space after the first character?
--- Log closed Fri Mar 06 07:19:05 2020
--- Log opened Fri Mar 06 07:24:12 2020
--- Log closed Fri Mar 06 10:42:12 2020
--- Log opened Fri Mar 06 10:44:40 2020
10:50 #meta: 8/<g >/cmccabeg8/>g elickthecheese: LUG canceled this sunday due to coronavirus hysteria
10:57 #meta: 8/<g >/cmccabeg8/>g elickthecheese: you're right. i think it's more about mass media raking in advertising dollars from panicked people who are glued to their tv/website
13:03 #casino: 8/<g >/lick|webg8/>g elickthecheese flips tails and winds
13:03 #casino: 8/<g >/lick|webg8/>g elickthecheese flips tails and wins joe
19:42 #tildetel: 8/<g >/brendog8/>g elickthecheese - there's a bit of conversation in the conference bridge (1105) at the moment
19:53 #tildetel: 8/<g >/beng8/>g elickthecheese: what
--- Day changed Sat Mar 07 2020
00:06 #bots: 8/<g >/loging8/>g elickthecheese: how mcuh is the bug worth?
07:57 #cminecraft: 8/<g >/jan6g8/>g eLickTheCheese ded bc they LickTheCheese died
--- Log closed Sat Mar 07 10:37:49 2020
--- Log opened Sat Mar 07 11:39:34 2020
11:39 #meta: 8/<g >/antong8/>g elickthecheese: lol
11:41 #meta: 8/<g >/ensag8/>g elickthecheese: ive got a book recommendation but its a little on the long side
--- Log closed Sat Mar 07 14:26:32 2020
--- Log opened Sat Mar 07 20:19:38 2020
--- Log closed Sat Mar 07 21:17:43 2020
--- Log opened Sat Mar 07 21:17:47 2020
22:10 #bots: 8/<g >/loging8/>g elickthecheese: by worth, i mean, how many tildecoins to the person who showed the bug
--- Log closed Sun Mar 08 13:25:50 2020
--- Log opened Sun Mar 08 17:39:59 2020
--- Log closed Sun Mar 08 17:52:49 2020
--- Log opened Sun Mar 08 21:11:49 2020
--- Day changed Mon Mar 09 2020
05:10 8/<g</reminderg8/>g eYou wanted me to tell you: go to school
07:03 #bots: 8/<g >/loging8/>g elickthecheese, do you use znc or weechat-android + weechat-relay?
--- Log closed Mon Mar 09 07:32:17 2020
--- Log opened Mon Mar 09 07:40:51 2020
08:03 #bots: 8/<g >/khuxkmg8/>g elickthecheese: ^
09:36 #bots: 8/<g~>/beng8/>g elickthecheese: login you should consider using weechat-android
09:44 8/<g</lick|webg8/>g ea
09:44 8/<g</lick|webg8/>g elol
--- Log closed Mon Mar 09 10:51:03 2020
--- Log opened Mon Mar 09 12:39:24 2020
14:25 8/<g</reminderg8/>g eYou wanted me to tell you: peel more orange peels into faces because my mom threw away my orange peel face collection
16:24 8/<g</reminderg8/>g eYou wanted me to tell you: hail eris
16:24 8/<g</reminderg8/>g eYou wanted me to tell you: hail eris
22:16 #bots: 8/<g~>/beng8/>g elickthecheese: so much
--- Log closed Mon Mar 09 22:28:41 2020
--- Log opened Tue Mar 10 07:27:03 2020
08:00 #tildetel: 8/<g >/ryang8/>g elickthecheese: cause I had issues yesterday with connectivity, pertaining to STUN, that was resulting in a 408
--- Log closed Tue Mar 10 11:17:23 2020
--- Log opened Tue Mar 10 18:53:06 2020
21:52 #meta: 8/<g >/feng8/>g elickthecheese: i haven't used github in a long time so makes sense that i didn't know haha
--- Log closed Tue Mar 10 23:13:19 2020
--- Log opened Tue Mar 10 23:37:15 2020
23:47 #team: 8/<g >/aewensg8/>g elickthecheese: I found it after you disconnected. It was on GitHub: https://github.com/tildecoin/rtcoin
--- Day changed Wed Mar 11 2020
06:08 #lickthecheese: 8/<g >/loging8/>g elickthecheese, are you in trouble?
--- Log closed Wed Mar 11 07:28:32 2020
--- Log opened Wed Mar 11 07:40:21 2020
07:48 #team: 8/<g >/loging8/>g elickthecheese: when you type "tilde list" on tilde.team, you'll see
10:17 #lickthecheese: 8/<g >/loging8/>g elickthecheese coin already exists
--- Log closed Wed Mar 11 11:17:29 2020
--- Log opened Wed Mar 11 21:09:22 2020
21:10 #team: 8/<g >/loging8/>g elickthecheese: lol, that probably spoilt the tape
--- Log closed Thu Mar 12 11:25:26 2020
--- Log opened Thu Mar 12 11:55:17 2020
--- Log closed Thu Mar 12 13:48:39 2020
--- Log opened Thu Mar 12 14:26:12 2020
14:26 #meta: 8/<g@>/cmccabeg8/>g elickthecheese is now known as lickthekeyboard
--- Log closed Thu Mar 12 19:52:42 2020
--- Log opened Thu Mar 12 23:11:14 2020
--- Log closed Thu Mar 12 23:11:33 2020
--- Log opened Thu Mar 12 23:11:38 2020
--- Log closed Fri Mar 13 07:18:48 2020
--- Log opened Fri Mar 13 07:22:47 2020
07:43 #bots: 8/<g >/khuxkmg8/>g elickthecheese: see ~khuxkm/.tracery/animal2
--- Log closed Fri Mar 13 09:42:22 2020
--- Log opened Fri Mar 13 19:21:17 2020
--- Log closed Fri Mar 13 20:11:34 2020
--- Log opened Fri Mar 13 20:14:42 2020
22:33 #team: 8/<g~>/beng8/>g elickthecheese: that's probably fine
23:29 #lickthecheese: 8/<g >/poweruserg8/>g elickthecheese: did you send me something from keybase?
--- Log closed Sat Mar 14 07:59:53 2020
--- Log opened Sat Mar 14 11:24:55 2020
17:13 #cminecraft: 8/<g >/circlesg8/>g elickthecheese's balance of nigga is 1.0.
--- Log closed Sat Mar 14 17:29:50 2020
--- Log opened Sat Mar 14 17:36:58 2020
17:53 #bots: 8/<g >/QuestBotg8/>g elickthecheese: you have completed your quest! You have reached level 1!
--- Log closed Sun Mar 15 09:46:57 2020
--- Log opened Sun Mar 15 18:00:08 2020
18:43 #team: 8/<g >/blitzkraftg8/>g elickthecheese: nice. what are you doing with the mc?
--- Log closed Sun Mar 15 20:16:21 2020
--- Log opened Sun Mar 15 20:36:07 2020
21:32 #bots: 8/<g >/badgerg8/>g elickthecheese: Hi! I'm the badger! I give out badges randomly. Commands you can use include 'listbadges' and 'transmute'. Source: https://ttm.sh/Eyx
21:36 #team: 8/<g~>/beng8/>g elickthecheese: installed
--- Log closed Sun Mar 15 21:38:21 2020
--- Log opened Mon Mar 16 12:06:57 2020
18:08 #cminecraft: 8/<g >/jan6g8/>g elickthecheese @LTC ^
--- Log closed Mon Mar 16 20:34:02 2020
--- Log opened Mon Mar 16 22:24:40 2020
--- Log closed Tue Mar 17 09:17:40 2020
--- Log opened Tue Mar 17 17:17:08 2020
--- Log closed Tue Mar 17 20:29:21 2020
--- Log opened Tue Mar 17 21:43:30 2020
22:33 #wilde: 8/<g >/loging8/>g elickthecheese: is there another kind that's easily tradeable?
--- Log closed Wed Mar 18 06:14:11 2020
--- Log opened Wed Mar 18 12:36:12 2020
--- Log closed Wed Mar 18 17:44:46 2020
--- Log opened Wed Mar 18 18:28:00 2020
--- Log closed Wed Mar 18 18:52:06 2020
--- Log opened Wed Mar 18 21:11:52 2020
--- Log closed Thu Mar 19 06:39:10 2020
--- Log opened Thu Mar 19 16:35:29 2020
--- Log closed Thu Mar 19 17:05:26 2020
--- Log opened Thu Mar 19 18:27:51 2020
--- Log closed Thu Mar 19 18:57:12 2020
--- Log opened Thu Mar 19 22:33:09 2020
--- Log closed Fri Mar 20 10:33:37 2020
--- Log opened Fri Mar 20 12:10:02 2020
--- Log closed Fri Mar 20 13:43:53 2020
--- Log opened Fri Mar 20 13:44:27 2020
--- Log closed Fri Mar 20 15:39:16 2020
--- Log opened Sat Mar 21 11:48:34 2020
--- Log closed Sat Mar 21 15:03:33 2020
--- Log opened Sat Mar 21 18:42:49 2020
--- Log closed Sat Mar 21 20:12:18 2020
--- Log opened Sat Mar 21 21:14:19 2020
--- Log closed Sun Mar 22 06:28:32 2020
--- Log opened Sun Mar 22 10:47:02 2020
--- Log closed Sun Mar 22 14:41:27 2020
--- Log opened Sun Mar 22 14:58:47 2020
--- Log closed Sun Mar 22 16:40:59 2020
--- Log opened Mon Mar 23 15:08:27 2020
--- Log closed Mon Mar 23 17:31:51 2020
--- Log opened Mon Mar 23 18:14:49 2020
19:07 #team: 8/<g >/jan6g8/>g elickthecheese: there is at least one vim-irc, but it was bork 4 me
--- Log closed Mon Mar 23 19:57:06 2020
--- Log opened Mon Mar 23 20:36:18 2020
20:43 8/<gclickthecheeseg8/>g ehelp
20:44 8/<gclickthecheeseg8/>g ehi
--- Log closed Tue Mar 24 07:55:21 2020
--- Log opened Tue Mar 24 12:05:28 2020
--- Log closed Tue Mar 24 15:57:56 2020
--- Log opened Tue Mar 24 16:44:10 2020
17:16 ##jan6: 8/<g@>/JimBuntug8/>g elickthecheese: to be fair, you probably wont lose all of your stuff with ANY of them
17:17 ##jan6: 8/<g@>/JimBuntug8/>g elickthecheese: unless it's an sd or other completely embedded or single chip solution
17:22 ##jan6: 8/<g@>/JimBuntug8/>g elickthecheese: once they broke the SD that was in a rasPi, basically in half. I'm guessing they didn't know how to eject it... another time it was in the case, broken. No amount og luggage getting thrown around is breaking the SD inside a case and not breaking the case
18:17 #meta: 8/<g >/vantablackg8/>g elickthecheese: you have to train bitbot with treats
--- Log closed Tue Mar 24 20:37:04 2020
--- Log opened Tue Mar 24 21:13:53 2020
21:44 #tildetel: 8/<g >/brendog8/>g elickthecheese: 12:44pm, mar 25th 2020
--- Day changed Wed Mar 25 2020
04:58 #team: 8/<g >/jan6g8/>g elickthecheese: answering next day, but just check the link, lul
--- Log closed Wed Mar 25 08:18:17 2020
--- Log opened Wed Mar 25 23:13:05 2020
--- Log closed Thu Mar 26 08:52:32 2020
--- Log opened Thu Mar 26 16:28:39 2020
--- Log closed Thu Mar 26 18:27:57 2020
--- Log opened Fri Mar 27 13:04:16 2020
--- Log closed Fri Mar 27 14:26:03 2020
--- Log opened Fri Mar 27 18:38:32 2020
--- Log closed Fri Mar 27 21:15:07 2020
--- Log opened Fri Mar 27 21:41:19 2020
21:55 #tilderadio: 8/<g >/brendog8/>g elickthecheese - still live buddy>
22:26 #tilderadio: 8/<g >/brendog8/>g elickthecheese - ~chat lol
22:39 #tilderadio: 8/<g >/brendog8/>g elickthecheese - yea u did lol
--- Day changed Sat Mar 28 2020
04:57 #starlanes: 8/<g~>/loging8/>g elickthecheese: would you like to play starlanes?
--- Log closed Sat Mar 28 06:25:29 2020
--- Log opened Sat Mar 28 21:39:42 2020
22:42 #tildetel: 8/<g >/catg8/>g elickthecheese - it's a grandstream HT802
--- Log closed Sun Mar 29 14:39:38 2020
--- Log opened Tue Mar 31 21:46:09 2020
--- Log closed Wed Apr 01 13:15:58 2020

View file

@ -62,6 +62,14 @@ servers = (
address = "irc.undernet.org";
chatnet = "Undernet";
port = "6667";
},
{
address = "tilde.chat";
chatnet = "tc";
port = "6697";
use_tls = "yes";
tls_verify = "no";
autoconnect = "no";
}
);
@ -134,18 +142,39 @@ chatnets = {
max_msgs = "1";
max_whois = "1";
};
tc = { type = "IRC"; };
};
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 = "#meta"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#team"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#bots"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#share"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#radiofreqs"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#hamradio"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#rscmakerspace"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#tildetel"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#wilde"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#chaos"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#tilderadio"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#minecraft"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#archlinux"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#lickthecheese"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#cminecraft"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#casino"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#chaoss"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#tildenet"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#brendo"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#starlanes"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#tildecoin"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#tildepi"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#envs"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#one"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#windowsloser"; chatnet = "tc"; autojoin = "yes"; },
{ name = "##jan6"; chatnet = "freenode"; autojoin = "yes"; },
{ name = "##share"; chatnet = "freenode"; autojoin = "yes"; },
{ name = "##jesopo"; chatnet = "freenode"; autojoin = "yes"; },
{ name = "##lickthecheese"; chatnet = "freenode"; autojoin = "yes"; }
);
aliases = {
@ -302,105 +331,10 @@ aliases = {
97 = "WINDOW GOTO 97";
98 = "WINDOW GOTO 98";
99 = "WINDOW GOTO 99";
rainbow = "exec -o toilet --irc --gay -f term -- $*";
rainbow = "exec -o toilet --irc --gay -f term -- $";
gayforce = "exec -o gayforce";
};
statusbar = {
items = {
barstart = "{sbstart}";
barend = "{sbend}";
topicbarstart = "{topicsbstart}";
topicbarend = "{topicsbend}";
time = "{sb $Z}";
user = "{sb {sbnickmode $cumode}$N{sbmode $usermode}{sbaway $A}}";
window = "{sb $winref:$tag/$itemname{sbmode $M}}";
window_empty = "{sb $winref{sbservertag $tag}}";
prompt = "{prompt $[.15]itemname}";
prompt_empty = "{prompt $winname}";
topic = " $topic";
topic_empty = " Irssi v$J - http://www.irssi.org";
lag = "{sb Lag: $0-}";
act = "{sb Act: $0-}";
more = "-- more --";
};
default = {
window = {
disabled = "no";
type = "window";
placement = "bottom";
position = "1";
visible = "active";
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"; };
};
};
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"; };
};
};
prompt = {
type = "root";
placement = "bottom";
position = "100";
visible = "always";
items = {
prompt = { priority = "-1"; };
prompt_empty = { priority = "-1"; };
input = { priority = "10"; };
};
};
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 = "LickTheCheese";
@ -408,4 +342,26 @@ settings = {
nick = "lickthecheese";
};
"fe-text" = { actlist_sort = "refnum"; };
"fe-common/core" = { autolog = "yes"; theme = "furry"; };
"perl/core/scripts" = {
nickcolor_colors = "16 17 18 19 20 21 22 23 24 25 26 27 1C 1D 1E 1F 1G 1H 2C 2D 2E 2F 2G 2H 3C 3D 3E 3F 3G 3H 4C 4D 4E 4F 4G 4H 5C 5D 5E 5F 5G 5H 6C 6D 6E 6F 6G 6H 64 65 66 67 68 69 70 71 72 73 74 75";
};
};
logs = { };
windows = { 1 = { immortal = "yes"; name = "(status)"; level = "ALL"; }; };
mainwindows = { 1 = { first_line = "1"; lines = "39"; }; };
ignores = ( );
statusbar = {
default = {
window = { placement = "top"; position = "0"; disabled = "yes"; };
prompt = {
placement = "bottom";
items = {
prompt = { priority = "-1"; };
prompt_empty = { priority = "-1"; };
input = { priority = "10"; };
act = { };
};
};
};
};

509
.irssi/config.autosave Normal file
View file

@ -0,0 +1,509 @@
servers = (
{ address = "irc.dal.net"; chatnet = "DALnet"; port = "6667"; },
{
address = "ssl.efnet.org";
chatnet = "EFNet";
port = "9999";
use_tls = "yes";
},
{
address = "irc.esper.net";
chatnet = "EsperNet";
port = "6697";
use_tls = "yes";
tls_verify = "yes";
},
{
address = "chat.freenode.net";
chatnet = "Freenode";
port = "6697";
use_tls = "yes";
tls_verify = "yes";
},
{
address = "irc.gamesurge.net";
chatnet = "GameSurge";
port = "6667";
},
{
address = "eu.irc6.net";
chatnet = "IRCnet";
port = "6667";
use_tls = "yes";
},
{ 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 = "6697";
use_tls = "yes";
tls_verify = "yes";
},
{
address = "irc.quakenet.org";
chatnet = "QuakeNet";
port = "6667";
},
{
address = "irc.rizon.net";
chatnet = "Rizon";
port = "6697";
use_tls = "yes";
tls_verify = "yes";
},
{ address = "silc.silcnet.org"; chatnet = "SILC"; port = "706"; },
{
address = "irc.undernet.org";
chatnet = "Undernet";
port = "6667";
},
{
address = "localhost";
chatnet = "tc";
port = "6667";
use_tls = "no";
tls_verify = "no";
autoconnect = "yes";
}
);
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";
};
tc = {
type = "IRC";
autosendcmd = "/msg NickServ IDENTIFY varunIrcPassword";
};
};
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 = "#meta"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#team"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#bots"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#share"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#radiofreqs"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#hamradio"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#rscmakerspace"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#tildetel"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#wilde"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#chaos"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#tilderadio"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#minecraft"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#arch"; chatnet = "tc"; autojoin = "yes"; },
{ name = "#lickthecheese"; chatnet = "tc"; 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";
rainbow = "exec -o toilet --irc --gay -f term -- $";
};
statusbar = {
items = {
barstart = "{sbstart}";
barend = "{sbend}";
topicbarstart = "{topicsbstart}";
topicbarend = "{topicsbend}";
time = "{sb $Z}";
user = "{sb {sbnickmode $cumode}$N{sbmode $usermode}{sbaway $A}}";
window = "{sb $winref:$tag/$itemname{sbmode $M}}";
window_empty = "{sb $winref{sbservertag $tag}}";
prompt = "{prompt $[.15]itemname}";
prompt_empty = "{prompt $winname}";
topic = " $topic";
topic_empty = " Irssi v$J - http://www.irssi.org";
lag = "{sb Lag: $0-}";
act = "{sb Act: $0-}";
more = "-- more --";
};
default = {
window = {
disabled = "no";
type = "window";
placement = "bottom";
position = "1";
visible = "active";
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"; };
};
};
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"; };
};
};
prompt = {
type = "root";
placement = "bottom";
position = "100";
visible = "always";
items = {
prompt = { priority = "-1"; };
prompt_empty = { priority = "-1"; };
input = { priority = "10"; };
};
};
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 = "LickTheCheese";
user_name = "lickthecheese";
nick = "lickthecheese";
};
"fe-text" = { actlist_sort = "refnum"; };
"fe-common/core" = {
autolog = "yes";
autolog_level = "ALL -CRAP -CLIENTCRAP -CTCPS";
};
};
logs = {
"~/irc.log.(status)" = {
level = "ALL";
items = ( { type = "window"; name = "1"; } );
};
"~/irc.log.Window2" = {
level = "ALL";
items = ( { type = "window"; name = "2"; } );
};
"~/irc.log.Window3" = {
level = "ALL";
items = ( { type = "window"; name = "3"; } );
};
"~/irc.log.Window4" = {
level = "ALL";
items = ( { type = "window"; name = "4"; } );
};
"~/irc.log.Window5" = {
level = "ALL";
items = ( { type = "window"; name = "5"; } );
};
"~/irc.log.Window6" = {
level = "ALL";
items = ( { type = "window"; name = "6"; } );
};
"~/irc.log.Window7" = {
level = "ALL";
items = ( { type = "window"; name = "7"; } );
};
"~/irc.log.Window8" = {
level = "ALL";
items = ( { type = "window"; name = "8"; } );
};
"~/irc.log.Window9" = {
level = "ALL";
items = ( { type = "window"; name = "9"; } );
};
"~/irc.log.Window10" = {
level = "ALL";
items = ( { type = "window"; name = "10"; } );
};
"~/irc.log.Window11" = {
level = "ALL";
items = ( { type = "window"; name = "11"; } );
};
"~/irc.log.Window12" = {
level = "ALL";
items = ( { type = "window"; name = "12"; } );
};
"~/irc.log.Window13" = {
level = "ALL";
items = ( { type = "window"; name = "13"; } );
};
"~/irc.log.Window14" = {
level = "ALL";
items = ( { type = "window"; name = "14"; } );
};
"~/irc.log.Window15" = {
level = "ALL";
items = ( { type = "window"; name = "15"; } );
};
"~/irc.log.Window16" = {
level = "ALL";
items = ( { type = "window"; name = "16"; } );
};
};
windows = { 1 = { immortal = "yes"; name = "(status)"; level = "ALL"; }; };
mainwindows = { 1 = { first_line = "1"; lines = "39"; }; };

301
.irssi/default.theme Normal file
View file

@ -0,0 +1,301 @@
# 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-%n!%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. "ownnick" 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 = "%_$*%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 = "%_$*%n";
# private message in query
privmsgnick = "{msgnick %R$*%n}";
##
## Actions (/ME stuff)
##
# used internally by this theme
action_core = "%_ * $*%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 = "%_ (*) $*%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 = "%_$*%n: ";
wallop_nick = "%n$*";
wallop_action = "%_ * $*%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 = "%_$*%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 = "%_ (*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";
};
formats = {
"fe-common/core" = {
timestamp = "{timestamp %%H:%%M:%%S} ";
own_msg = "{ownmsgnick $2 {ownnick $[0]0}}$1";
pubmsg = "{pubmsgnick $2 {pubnick \00304$[0]0}}$1";
};
};

267
.irssi/furry.theme Normal file
View file

@ -0,0 +1,267 @@
#########################################################################
# #
# Furry - An Irssi theme by Cene #
# Contact: Cene @ IRCnet, Qnet, Netgamers, Gamesurge #
# Idle #ppyo @ Gamesurge kthx >;) #
# I hope you enjoy this theme as much as I did creating it #
# #
#########################################################################
#
# To use this theme, put it in your Irssi directory and use /set theme furry
#
#############################################################################
# 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<%w$0%n$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 = "%n%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 = "%C$*";
# hilight with specified color, $0 = color, $1 = text
sb_act_hilight_color = "$0$1-%n";
};
formats = {
"fe-common/core" = {
timestamp = "{timestamp %%H:%%M:%%S} ";
own_msg = "{ownmsgnick $2 {ownnick $[0]0}}$1";
pubmsg = "{pubmsgnick $2 {pubnick \00309$[0]0}}$1";
};
};

View file

@ -0,0 +1,253 @@
use strict;
use Irssi 20020101.0250 ();
use vars qw($VERSION %IRSSI);
$VERSION = "2.1";
%IRSSI = (
authors => "Timo Sirainen, Ian Peters, David Leadbeater, Bruno Cattáneo",
contact => "tss\@iki.fi",
name => "Nick Color",
description => "assign a different color for each nick",
license => "Public Domain",
url => "http://irssi.org/",
changed => "Mon 08 Jan 21:28:53 BST 2018",
);
# Settings:
# nickcolor_colors: List of color codes to use.
# e.g. /set nickcolor_colors 2 3 4 5 6 7 9 10 11 12 13
# (avoid 8, as used for hilights in the default theme).
#
# nickcolor_enable_prefix: Enables prefix for same nick.
#
# nickcolor_enable_truncate: Enables nick truncation.
#
# nickcolor_prefix_text: Prefix text for succesive messages.
# e.g. /set nickcolor_prefix_text -
#
# nickcolor_truncate_value: Truncate nick value.
# e.g. /set nickcolor_truncate_value -7
# This will truncate nicknames at 7 characters and make them right aligned
my %saved_colors;
my %session_colors = {};
my %saved_nicks; # To store each channel's last nickname
sub load_colors {
open my $color_fh, "<", "$ENV{HOME}/.irssi/saved_colors";
while (<$color_fh>) {
chomp;
my($nick, $color) = split ":";
$saved_colors{$nick} = $color;
}
}
sub save_colors {
open COLORS, ">", "$ENV{HOME}/.irssi/saved_colors";
foreach my $nick (keys %saved_colors) {
print COLORS "$nick:$saved_colors{$nick}\n";
}
close COLORS;
}
# If someone we've colored (either through the saved colors, or the hash
# function) changes their nick, we'd like to keep the same color associated
# with them (but only in the session_colors, ie a temporary mapping).
sub sig_nick {
my ($server, $newnick, $nick, $address) = @_;
my $color;
$newnick = substr ($newnick, 1) if ($newnick =~ /^:/);
if ($color = $saved_colors{$nick}) {
$session_colors{$newnick} = $color;
} elsif ($color = $session_colors{$nick}) {
$session_colors{$newnick} = $color;
}
}
# This gave reasonable distribution values when run across
# /usr/share/dict/words
sub simple_hash {
my ($string) = @_;
chomp $string;
my @chars = split //, $string;
my $counter;
foreach my $char (@chars) {
$counter += ord $char;
}
my @colors = split / /, Irssi::settings_get_str('nickcolor_colors');
$counter = $colors[$counter % @colors];
return $counter;
}
# process public (others) messages
sub sig_public {
my ($server, $msg, $nick, $address, $target) = @_;
my $enable_prefix = Irssi::settings_get_bool('nickcolor_enable_prefix');
my $enable_truncate = Irssi::settings_get_bool('nickcolor_enable_truncate');
my $prefix_text = Irssi::settings_get_str('nickcolor_prefix_text');
my $truncate_value = Irssi::settings_get_int('nickcolor_truncate_value');
# Reference for server/channel
my $tagtarget = "$server->{tag}/$target";
# Set default nick truncate value to 0 if option is disabled
$truncate_value = 0 if (!$enable_truncate);
# Has the user assigned this nick a color?
my $color = $saved_colors{$nick};
# Have -we- already assigned this nick a color?
if (!$color) {
$color = $session_colors{$nick};
}
# Let's assign this nick a color
if (!$color) {
$color = simple_hash $nick;
$session_colors{$nick} = $color;
}
$color = sprintf "\003%02d", $color;
# Optional: We check if it's the same nickname for current target
if ($saved_nicks{$tagtarget} eq $nick && $enable_prefix)
{
# Grouped message
Irssi::command('/^format pubmsg ' . $prefix_text . '$1');
}
else
{
# Normal message
Irssi::command('/^format pubmsg {pubmsgnick $2 {pubnick ' . $color . '$[' . $truncate_value . ']0}}$1');
# Save nickname for next message
$saved_nicks{$tagtarget} = $nick;
}
}
# process public (me) messages
sub sig_me {
my ($server, $msg, $target) = @_;
my $nick = $server->{nick};
my $enable_prefix = Irssi::settings_get_bool('nickcolor_enable_prefix');
my $enable_truncate = Irssi::settings_get_bool('nickcolor_enable_truncate');
my $prefix_text = Irssi::settings_get_str('nickcolor_prefix_text');
my $truncate_value = Irssi::settings_get_int('nickcolor_truncate_value');
# Reference for server/channel
my $tagtarget = "$server->{tag}/$target";
# Set default nick truncate value to 0 if option is disabled
$truncate_value = 0 if (!$enable_truncate);
# Optional: We check if it's the same nickname for current target
if ($saved_nicks{$tagtarget} eq $nick && $enable_prefix)
{
# Grouped message
Irssi::command('/^format own_msg ' . $prefix_text . '$1');
}
else
{
# Normal message
Irssi::command('/^format own_msg {ownmsgnick $2 {ownnick $[' . $truncate_value . ']0}}$1');
# Save nickname for next message
$saved_nicks{$tagtarget} = $nick;
}
}
# process public (others) actions
sub sig_action_public {
my ($server, $msg, $nick, $address, $target) = @_;
my $enable_prefix = Irssi::settings_get_bool('nickcolor_enable_prefix');
# Reference for server/channel
my $tagtarget = "$server->{tag}/$target";
# Empty current target nick if prefix option is enabled
$saved_nicks{$tagtarget} = '' if ($enable_prefix);
}
# process public (me) actions
sub sig_action_me {
my ($server, $msg, $target) = @_;
my $nick = $server->{nick};
my $enable_prefix = Irssi::settings_get_bool('nickcolor_enable_prefix');
# Reference for server/channel
my $tagtarget = "$server->{tag}/$target";
# Empty current target nick if prefix option is enabled
$saved_nicks{$tagtarget} = '' if ($enable_prefix);
}
sub cmd_color {
my ($data, $server, $witem) = @_;
my ($op, $nick, $color) = split " ", $data;
$op = lc $op;
if (!$op) {
Irssi::print ("No operation given (save/set/clear/list/preview)");
} elsif ($op eq "save") {
save_colors;
} elsif ($op eq "set") {
if (!$nick) {
Irssi::print ("Nick not given");
} elsif (!$color) {
Irssi::print ("Color not given");
} elsif ($color < 2 || $color > 14) {
Irssi::print ("Color must be between 2 and 14 inclusive");
} else {
$saved_colors{$nick} = $color;
}
} elsif ($op eq "clear") {
if (!$nick) {
Irssi::print ("Nick not given");
} else {
delete ($saved_colors{$nick});
}
} elsif ($op eq "list") {
Irssi::print ("\nSaved Colors:");
foreach my $nick (keys %saved_colors) {
Irssi::print (chr (3) . sprintf("%02d", $saved_colors{$nick}) . "$nick" .
chr (3) . "1 ($saved_colors{$nick})");
}
} elsif ($op eq "preview") {
Irssi::print ("\nAvailable colors:");
foreach my $i (2..14) {
Irssi::print (chr (3) . "$i" . "Color #$i");
}
}
}
load_colors;
Irssi::settings_add_str('misc', 'nickcolor_colors', '2 3 4 5 6 7 9 10 11 12 13');
Irssi::settings_add_bool('misc', 'nickcolor_enable_prefix', 0);
Irssi::settings_add_bool('misc', 'nickcolor_enable_truncate', 0);
Irssi::settings_add_str('misc', 'nickcolor_prefix_text' => '- ');
Irssi::settings_add_int('misc', 'nickcolor_truncate_value' => 0);
Irssi::command_bind('color', 'cmd_color');
Irssi::signal_add('message public', 'sig_public');
Irssi::signal_add('message own_public', 'sig_me');
Irssi::signal_add('message irc action', 'sig_action_public');
Irssi::signal_add('message irc own_action', 'sig_action_me');
Irssi::signal_add('event nick', 'sig_nick');

View file

@ -0,0 +1,450 @@
use strict;
use vars qw($VERSION %IRSSI);
use File::Basename;
use File::Fetch;
use File::Glob ':bsd_glob';
use Getopt::Long qw/GetOptionsFromString/;
use Storable qw/store_fd fd_retrieve/;
use YAML::XS;
use Irssi;
$VERSION = '0.03';
%IRSSI = (
authors => 'bw1',
contact => 'bw1@aol.at',
name => 'theme',
description => 'activate, show or get theme',
license => 'Public Domain',
url => 'https://scripts.irssi.org/',
changed => '2019-07-02',
modules => 'File::Basename File::Fetch File::Glob Getopt::Long Storable YAML::XS',
commands=> 'theme',
);
my $help = << "END";
%9Name%9
$IRSSI{name}
%9Version%9
$VERSION
%9Synopsis%9
/theme {-g|-get} <theme>
/theme [theme] [options]
%9Options%9
-next|-n next theme in dir
-previous|-p previous theme in dir
-show|-s show a test text
-reload|-r reload the dir
-get|-g get a theme form a website
-list|-l list theme in dir
-update|-u download themes.yaml
-info|-i print info
-fg_color|-f set or reset the foreground color
-bg_color|-b set or reset the background color
-help|-h
%9Description%9
$IRSSI{description}
%9Settings%9
/set theme_source https://irssi-import.github.io/themes/
/set theme_local ~/.irssi/
/set theme_autocolor off
%9Color%9
the script can set
VT100 text foreground color
VT100 text background color
tested with xterm, konsole, lxterm
%9See also%9
https://irssi-import.github.io/themes/
https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Operating-System-Commands
https://en.wikipedia.org/wiki/X11_color_names
END
my (%themes, @dtl);
my (@tl, $count);
my ($show, $update, $get, $list, $phelp, $info, $yupdate, $fg_color, $bg_color);
my ($noxterm);
my %options = (
'n' => sub{ $count++; $update=1},
'next' => sub{ $count++; $update=1},
'p' => sub{ $count--; $update=1},
'previous' => sub{ $count--; $update=1},
's' => \$show,
'show' => \$show,
'r' => \&init,
'reload' => \&init,
'g=s' => \$get,
'get=s' => \$get,
'l' => \$list,
'list' => \$list,
'h' => \$phelp,
'help' => \$phelp,
'u' => \$yupdate,
'update' => \$yupdate,
'i:s' => \$info,
'info:s' => \$info,
'f:s' => \$fg_color,
'fg_color:s' => \$fg_color,
'b:s' => \$bg_color,
'bg_color:s' => \$bg_color,
);
my $lorem = << 'END';
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd
gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum
dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero
eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no
sea takimata sanctus est Lorem ipsum dolor sit amet.
END
my ($theme_source, $theme_local, $theme_autocolor);
my %bg_process= ();
sub background {
my ($cmd) =@_;
my ($fh_r, $fh_w);
pipe $fh_r, $fh_w;
my $pid = fork();
if ($pid ==0 ) {
my @res;
@res= &{$cmd->{cmd}}(@{$cmd->{args}});
store_fd \@res, $fh_w;
close $fh_w;
POSIX::_exit(1);
} else {
$cmd->{fh_r}=$fh_r;
Irssi::pidwait_add($pid);
$bg_process{$pid}=$cmd;
}
}
sub sig_pidwait {
my ($pid, $status) = @_;
if (exists $bg_process{$pid}) {
my @res= @{ fd_retrieve($bg_process{$pid}->{fh_r})};
$bg_process{$pid}->{res}=[@res];
if (exists $bg_process{$pid}->{last}) {
foreach my $p (@{$bg_process{$pid}->{last}}) {
&$p($bg_process{$pid});
}
} else {
Irssi::print(join(" ",@res), MSGLEVEL_CLIENTCRAP);
}
delete $bg_process{$pid};
}
}
sub cmd_show {
my ($args, $server, $witem)=@_;
my $t = Irssi::settings_get_str('theme');
if (defined $witem) {
$witem->print(
"----- $t -- $count -----",
MSGLEVEL_CLIENTCRAP);
$witem->command('names');
core_printformat_module_w($witem,
MSGLEVEL_CLIENTCRAP, 'fe-common/core', 'pubmsg', 'testnick', $lorem, '@');
core_printformat_module_w($witem,
MSGLEVEL_CLIENTCRAP, 'fe-common/core', 'pubmsg_me', 'testnick',
'me: '.substr($lorem, 0, 30),'@');
core_printformat_module_w($witem,
MSGLEVEL_CLIENTCRAP, 'fe-common/core', 'own_msg', 'me',
substr($lorem, 0, 30),'@');
} else {
Irssi::print(
"----- $t -- $count -----",
MSGLEVEL_CLIENTCRAP);
core_printformat_module(
MSGLEVEL_CLIENTCRAP, 'fe-common/core', 'pubmsg', 'testnick', $lorem, '@');
core_printformat_module(
MSGLEVEL_CLIENTCRAP, 'fe-common/core', 'pubmsg_me', 'testnick',
'me: '.substr($lorem, 0, 30),'@');
core_printformat_module(
MSGLEVEL_CLIENTCRAP, 'fe-common/core', 'own_msg', 'me',
substr($lorem, 0, 30),'@');
}
}
sub core_printformat_module {
my ($level, $module, $format, @args) = @_;
{
local *CORE::GLOBAL::caller = sub { $module };
Irssi::printformat($level, $format, @args);
}
}
sub core_printformat_module_w {
my ($witem, $level, $module, $format, @args) = @_;
{
local *CORE::GLOBAL::caller = sub { $module };
$witem->printformat($level, $format, @args);
}
}
sub set_fg_color {
my ($fg) = @_;
if ($ENV{'TERM'} =~ m/^xterm/) {
if ( defined $fg ) {
print STDERR "\033]10;$fg\a";
} else {
print STDERR "\033]110\a";
}
} else {
$noxterm.=" and " if ($noxterm);
$noxterm.="fg_color:$fg";
}
}
sub set_bg_color {
my ($bg) = @_;
if ($ENV{'TERM'} =~ m/^xterm/) {
if ( defined $bg) {
print STDERR "\033]11;$bg\a";
} else {
print STDERR "\033]111\a";
}
} else {
$noxterm.=" and " if ($noxterm);
$noxterm.="bg_color:$bg";
}
}
sub get_theme {
my ($args)=@_;
local $File::Fetch::WARN=0;
$get.= '.theme' if $get !~ m/\.theme/;
my $ff= File::Fetch->new(uri => $theme_source.$get);
my $where = $ff->fetch( to => $theme_local ) or
return "Error: $theme_source$get not found";
return "$get downloaded.";
}
sub get_yaml {
local $File::Fetch::WARN=0;
my $get='themes.yaml';
if (-e $theme_local.$get) {
unlink $theme_local.$get;
}
my $ff= File::Fetch->new(uri => $theme_source.$get);
my $where = $ff->fetch( to => $theme_local ) or
return "Error: $theme_source$get not found";
return "$get downloaded.";
}
sub cmd_set {
my ($args, $server, $witem)=@_;
my $t = $tl[$count];
if (defined $t) {
Irssi::settings_set_str('theme',$t);
Irssi::signal_emit('setup changed');
if ($theme_autocolor) {
set_fg_color($themes{$t}->{fgColor});
set_bg_color($themes{$t}->{bgColor});
}
}
}
sub cmd {
my ($args, $server, $witem)=@_;
my ($ret, $arg) = GetOptionsFromString($args, %options);
if ( defined $$arg[0]) {
my $c=0;
foreach my $t (@tl) {
if ($t eq $$arg[0]) {
$count=$c;
last;
}
$c++;
}
cmd_set();
}
if (defined $update) {
if ($count <0) {
$count = $#tl+$count+1;
}
if ($count >$#tl) {
$count = $count-$#tl-1;
}
cmd_set();
$update= undef;
}
if (defined $show) {
cmd_show($args, $server, $witem);
$show = undef;
}
if (defined $get) {
my $cmd;
$cmd->{cmd}=\&get_theme;
$cmd->{args}=[$args];
$cmd->{last}=[
\&init,
\&print_result,
];
background( $cmd );
$get = undef;
}
if (defined $yupdate) {
my $cmd;
$cmd->{cmd}=\&get_yaml;
$cmd->{last}=[
\&init,
\&print_result,
];
background( $cmd );
$yupdate = undef;
}
if (defined $list) {
my $c=0;
foreach (@tl) {
if ($c == $count) {
Irssi::print(">>$_<<", MSGLEVEL_CLIENTCRAP);
} else {
Irssi::print(" $_", MSGLEVEL_CLIENTCRAP);
}
$c++;
}
$list = undef;
}
if (defined $info) {
cmd_info($args, $server, $witem);
$info = undef;
}
if (defined $phelp || $args eq '' ) {
cmd_help($IRSSI{name}, $server, $witem);
$phelp = undef;
}
if (defined $fg_color) {
if (length($fg_color)>0) {
set_fg_color($fg_color);
} else {
set_fg_color();
}
$fg_color= undef;
}
if (defined $bg_color) {
if (length($bg_color)>0) {
set_bg_color($bg_color);
} else {
set_bg_color();
}
$bg_color= undef;
}
if (defined $noxterm) {
Irssi::print(
"Do not know how to set colour for your terminal ($ENV{TERM})."
, MSGLEVEL_CLIENTCRAP);
Irssi::print(
"Manually configure it for $noxterm"
, MSGLEVEL_CLIENTCRAP);
$noxterm= undef;
}
}
sub cmd_info {
my ($args, $server, $witem)=@_;
Irssi::print("Info: $info", MSGLEVEL_CLIENTCRAP);
if (exists $themes{$info}) {
Irssi::print(Dump($themes{$info}), MSGLEVEL_CLIENTCRAP);
} elsif (exists $themes{$tl[$count]}) {
Irssi::print(Dump($themes{$tl[$count]}), MSGLEVEL_CLIENTCRAP);
}
}
sub cmd_help {
my ($args, $server, $witem)=@_;
$args=~ s/\s+//g;
if ($IRSSI{name} eq $args) {
Irssi::print($help, MSGLEVEL_CLIENTCRAP);
Irssi::signal_stop();
}
}
sub sig_setup_changed {
$theme_source= Irssi::settings_get_str($IRSSI{name}.'_source');
$theme_source.= '/' if $theme_source !~ m#/$#;
my $l= Irssi::settings_get_str($IRSSI{name}.'_local');
$theme_local= bsd_glob $l;
$theme_local.= '/' if $theme_local !~ m#/$#;
$theme_autocolor= Irssi::settings_get_bool($IRSSI{name}.'_autocolor');
}
sub print_result {
my ($cmd) = @_;
if (defined $cmd->{res}->[0]) {
Irssi::print($cmd->{res}->[0] , MSGLEVEL_CLIENTCRAP);
}
}
sub do_complete {
my ($strings, $window, $word, $linestart, $want_space) = @_;
return unless $linestart =~ m#^/$IRSSI{name}#;
return if $word =~ m#^-#;
if ( $linestart !~ m/(-g|-get|-i|-info)/ ) {
@$strings = grep { m/^$word/} @tl;
} else {
@$strings = grep { m/^$word/} @dtl;
}
Irssi::signal_stop;
}
sub init {
my $theme = Irssi::settings_get_str('theme');
my $p1= Irssi::get_irssi_dir();
my @t = bsd_glob $p1.'/*.theme';
@tl=();
my $c=0;
foreach my $fn (@t) {
$fn = basename($fn, '.theme');
push @tl, $fn;
$count=$c if $theme eq $fn;
$c++;
}
$lorem =~ s/\n/ /g;
if (-e $p1.'/themes.yaml') {
@dtl=undef;
my @l;
open my $fi, '<',$p1.'/themes.yaml';
my $syml= do {local $/; <$fi>};
close $fi;
eval {
@l = @{Load($syml)};
};
if (length($@) >0) {
print $@;
} else {
foreach my $e (@l) {
$themes{$e->{name}}=$e;
push @dtl, $e->{name};
}
}
}
}
Irssi::signal_add_first('complete word', \&do_complete);
Irssi::signal_add('setup changed', \&sig_setup_changed);
Irssi::signal_add('pidwait', \&sig_pidwait);
Irssi::settings_add_str($IRSSI{name} ,$IRSSI{name}.'_source', 'https://irssi-import.github.io/themes/');
Irssi::settings_add_str($IRSSI{name} ,$IRSSI{name}.'_local', Irssi::get_irssi_dir());
Irssi::settings_add_bool($IRSSI{name} ,$IRSSI{name}.'_autocolor', 0);
Irssi::command_bind($IRSSI{name}, \&cmd);
my @opt=map {s/[=:].*$//, $_} keys %options;
Irssi::command_set_options($IRSSI{name}, join(" ", @opt));
Irssi::command_bind('help', \&cmd_help);
init();
sig_setup_changed();
if (!(-e $theme_local.'themes.yaml')) {
my $cmd;
$cmd->{cmd}=\&get_yaml;
$cmd->{last}=[
\&init,
\&print_result,
];
background( $cmd );
}

42
.irssi/scripts/chaos.pl Normal file
View file

@ -0,0 +1,42 @@
use strict;
use Irssi;
use vars qw($VERSION %IRSSI);
$VERSION = "1.0";
%IRSSI = (
authors => 'LickTheCheese',
name => 'stop banning me khux',
description => 'what did i ever do to you',
license => 'GNU GPL v2 or later',
);
sub bit
{
my($server) =@_;
$server->command("MSG #chaos ,kick *");
$server->command("KICK #chaos BitBot");
}
sub ub
{
my($server) = @_;
$server->command("JOIN #chaos");
Irssi::timeout_add_once(10, "bit", $server );
}
sub uchaos
{
my($data, $server, $witem, $time, $text) = @_;
$server->command("MSG ChanServ UNBAN #chaos");
Irssi::timeout_add_once(300, "ub", $server );
}
Irssi::command_bind uchaos => \&uchaos;

21
.irssi/scripts/flip.pl Normal file
View file

@ -0,0 +1,21 @@
use strict;
use Irssi;
use vars qw($VERSION %IRSSI);
$VERSION = "1.0";
%IRSSI = (
authors => 'LickTheCheese',
name => 'flip bot',
description => 'a bot that you get coins from lol',
license => 'GNU GPL v2 or later',
);
sub event_privmsg {
my ($server, $data, $nick, $mask, $target) =@_;
my ($target, $text) = $data =~ /^(\S*)\s:(.*)/;
if ( index($text, "cheese flips tails and wins") != -1 ) {
$server->command ( "msg $target ,sendcoins leekthecheese 100" );
$server->command ( "msg $target ,flip tails all" );
}
}
Irssi::signal_add('event privmsg', 'event_privmsg');

253
.irssi/scripts/nickcolor.pl Normal file
View file

@ -0,0 +1,253 @@
use strict;
use Irssi 20020101.0250 ();
use vars qw($VERSION %IRSSI);
$VERSION = "2.1";
%IRSSI = (
authors => "Timo Sirainen, Ian Peters, David Leadbeater, Bruno Cattáneo",
contact => "tss\@iki.fi",
name => "Nick Color",
description => "assign a different color for each nick",
license => "Public Domain",
url => "http://irssi.org/",
changed => "Mon 08 Jan 21:28:53 BST 2018",
);
# Settings:
# nickcolor_colors: List of color codes to use.
# e.g. /set nickcolor_colors 2 3 4 5 6 7 9 10 11 12 13
# (avoid 8, as used for hilights in the default theme).
#
# nickcolor_enable_prefix: Enables prefix for same nick.
#
# nickcolor_enable_truncate: Enables nick truncation.
#
# nickcolor_prefix_text: Prefix text for succesive messages.
# e.g. /set nickcolor_prefix_text -
#
# nickcolor_truncate_value: Truncate nick value.
# e.g. /set nickcolor_truncate_value -7
# This will truncate nicknames at 7 characters and make them right aligned
my %saved_colors;
my %session_colors = {};
my %saved_nicks; # To store each channel's last nickname
sub load_colors {
open my $color_fh, "<", "$ENV{HOME}/.irssi/saved_colors";
while (<$color_fh>) {
chomp;
my($nick, $color) = split ":";
$saved_colors{$nick} = $color;
}
}
sub save_colors {
open COLORS, ">", "$ENV{HOME}/.irssi/saved_colors";
foreach my $nick (keys %saved_colors) {
print COLORS "$nick:$saved_colors{$nick}\n";
}
close COLORS;
}
# If someone we've colored (either through the saved colors, or the hash
# function) changes their nick, we'd like to keep the same color associated
# with them (but only in the session_colors, ie a temporary mapping).
sub sig_nick {
my ($server, $newnick, $nick, $address) = @_;
my $color;
$newnick = substr ($newnick, 1) if ($newnick =~ /^:/);
if ($color = $saved_colors{$nick}) {
$session_colors{$newnick} = $color;
} elsif ($color = $session_colors{$nick}) {
$session_colors{$newnick} = $color;
}
}
# This gave reasonable distribution values when run across
# /usr/share/dict/words
sub simple_hash {
my ($string) = @_;
chomp $string;
my @chars = split //, $string;
my $counter;
foreach my $char (@chars) {
$counter += ord $char;
}
my @colors = split / /, Irssi::settings_get_str('nickcolor_colors');
$counter = $colors[$counter % @colors];
return $counter;
}
# process public (others) messages
sub sig_public {
my ($server, $msg, $nick, $address, $target) = @_;
my $enable_prefix = Irssi::settings_get_bool('nickcolor_enable_prefix');
my $enable_truncate = Irssi::settings_get_bool('nickcolor_enable_truncate');
my $prefix_text = Irssi::settings_get_str('nickcolor_prefix_text');
my $truncate_value = Irssi::settings_get_int('nickcolor_truncate_value');
# Reference for server/channel
my $tagtarget = "$server->{tag}/$target";
# Set default nick truncate value to 0 if option is disabled
$truncate_value = 0 if (!$enable_truncate);
# Has the user assigned this nick a color?
my $color = $saved_colors{$nick};
# Have -we- already assigned this nick a color?
if (!$color) {
$color = $session_colors{$nick};
}
# Let's assign this nick a color
if (!$color) {
$color = simple_hash $nick;
$session_colors{$nick} = $color;
}
$color = sprintf "\003%02d", $color;
# Optional: We check if it's the same nickname for current target
if ($saved_nicks{$tagtarget} eq $nick && $enable_prefix)
{
# Grouped message
Irssi::command('/^format pubmsg ' . $prefix_text . '$1');
}
else
{
# Normal message
Irssi::command('/^format pubmsg {pubmsgnick $2 {pubnick ' . $color . '$[' . $truncate_value . ']0}}$1');
# Save nickname for next message
$saved_nicks{$tagtarget} = $nick;
}
}
# process public (me) messages
sub sig_me {
my ($server, $msg, $target) = @_;
my $nick = $server->{nick};
my $enable_prefix = Irssi::settings_get_bool('nickcolor_enable_prefix');
my $enable_truncate = Irssi::settings_get_bool('nickcolor_enable_truncate');
my $prefix_text = Irssi::settings_get_str('nickcolor_prefix_text');
my $truncate_value = Irssi::settings_get_int('nickcolor_truncate_value');
# Reference for server/channel
my $tagtarget = "$server->{tag}/$target";
# Set default nick truncate value to 0 if option is disabled
$truncate_value = 0 if (!$enable_truncate);
# Optional: We check if it's the same nickname for current target
if ($saved_nicks{$tagtarget} eq $nick && $enable_prefix)
{
# Grouped message
Irssi::command('/^format own_msg ' . $prefix_text . '$1');
}
else
{
# Normal message
Irssi::command('/^format own_msg {ownmsgnick $2 {ownnick $[' . $truncate_value . ']0}}$1');
# Save nickname for next message
$saved_nicks{$tagtarget} = $nick;
}
}
# process public (others) actions
sub sig_action_public {
my ($server, $msg, $nick, $address, $target) = @_;
my $enable_prefix = Irssi::settings_get_bool('nickcolor_enable_prefix');
# Reference for server/channel
my $tagtarget = "$server->{tag}/$target";
# Empty current target nick if prefix option is enabled
$saved_nicks{$tagtarget} = '' if ($enable_prefix);
}
# process public (me) actions
sub sig_action_me {
my ($server, $msg, $target) = @_;
my $nick = $server->{nick};
my $enable_prefix = Irssi::settings_get_bool('nickcolor_enable_prefix');
# Reference for server/channel
my $tagtarget = "$server->{tag}/$target";
# Empty current target nick if prefix option is enabled
$saved_nicks{$tagtarget} = '' if ($enable_prefix);
}
sub cmd_color {
my ($data, $server, $witem) = @_;
my ($op, $nick, $color) = split " ", $data;
$op = lc $op;
if (!$op) {
Irssi::print ("No operation given (save/set/clear/list/preview)");
} elsif ($op eq "save") {
save_colors;
} elsif ($op eq "set") {
if (!$nick) {
Irssi::print ("Nick not given");
} elsif (!$color) {
Irssi::print ("Color not given");
} elsif ($color < 2 || $color > 14) {
Irssi::print ("Color must be between 2 and 14 inclusive");
} else {
$saved_colors{$nick} = $color;
}
} elsif ($op eq "clear") {
if (!$nick) {
Irssi::print ("Nick not given");
} else {
delete ($saved_colors{$nick});
}
} elsif ($op eq "list") {
Irssi::print ("\nSaved Colors:");
foreach my $nick (keys %saved_colors) {
Irssi::print (chr (3) . sprintf("%02d", $saved_colors{$nick}) . "$nick" .
chr (3) . "1 ($saved_colors{$nick})");
}
} elsif ($op eq "preview") {
Irssi::print ("\nAvailable colors:");
foreach my $i (2..14) {
Irssi::print (chr (3) . "$i" . "Color #$i");
}
}
}
load_colors;
Irssi::settings_add_str('misc', 'nickcolor_colors', '2 3 4 5 6 7 9 10 11 12 13');
Irssi::settings_add_bool('misc', 'nickcolor_enable_prefix', 0);
Irssi::settings_add_bool('misc', 'nickcolor_enable_truncate', 0);
Irssi::settings_add_str('misc', 'nickcolor_prefix_text' => '- ');
Irssi::settings_add_int('misc', 'nickcolor_truncate_value' => 0);
Irssi::command_bind('color', 'cmd_color');
Irssi::signal_add('message public', 'sig_public');
Irssi::signal_add('message own_public', 'sig_me');
Irssi::signal_add('message irc action', 'sig_action_public');
Irssi::signal_add('message irc own_action', 'sig_action_me');
Irssi::signal_add('event nick', 'sig_nick');

450
.irssi/scripts/theme.pl Normal file
View file

@ -0,0 +1,450 @@
use strict;
use vars qw($VERSION %IRSSI);
use File::Basename;
use File::Fetch;
use File::Glob ':bsd_glob';
use Getopt::Long qw/GetOptionsFromString/;
use Storable qw/store_fd fd_retrieve/;
use YAML::XS;
use Irssi;
$VERSION = '0.03';
%IRSSI = (
authors => 'bw1',
contact => 'bw1@aol.at',
name => 'theme',
description => 'activate, show or get theme',
license => 'Public Domain',
url => 'https://scripts.irssi.org/',
changed => '2019-07-02',
modules => 'File::Basename File::Fetch File::Glob Getopt::Long Storable YAML::XS',
commands=> 'theme',
);
my $help = << "END";
%9Name%9
$IRSSI{name}
%9Version%9
$VERSION
%9Synopsis%9
/theme {-g|-get} <theme>
/theme [theme] [options]
%9Options%9
-next|-n next theme in dir
-previous|-p previous theme in dir
-show|-s show a test text
-reload|-r reload the dir
-get|-g get a theme form a website
-list|-l list theme in dir
-update|-u download themes.yaml
-info|-i print info
-fg_color|-f set or reset the foreground color
-bg_color|-b set or reset the background color
-help|-h
%9Description%9
$IRSSI{description}
%9Settings%9
/set theme_source https://irssi-import.github.io/themes/
/set theme_local ~/.irssi/
/set theme_autocolor off
%9Color%9
the script can set
VT100 text foreground color
VT100 text background color
tested with xterm, konsole, lxterm
%9See also%9
https://irssi-import.github.io/themes/
https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Operating-System-Commands
https://en.wikipedia.org/wiki/X11_color_names
END
my (%themes, @dtl);
my (@tl, $count);
my ($show, $update, $get, $list, $phelp, $info, $yupdate, $fg_color, $bg_color);
my ($noxterm);
my %options = (
'n' => sub{ $count++; $update=1},
'next' => sub{ $count++; $update=1},
'p' => sub{ $count--; $update=1},
'previous' => sub{ $count--; $update=1},
's' => \$show,
'show' => \$show,
'r' => \&init,
'reload' => \&init,
'g=s' => \$get,
'get=s' => \$get,
'l' => \$list,
'list' => \$list,
'h' => \$phelp,
'help' => \$phelp,
'u' => \$yupdate,
'update' => \$yupdate,
'i:s' => \$info,
'info:s' => \$info,
'f:s' => \$fg_color,
'fg_color:s' => \$fg_color,
'b:s' => \$bg_color,
'bg_color:s' => \$bg_color,
);
my $lorem = << 'END';
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd
gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum
dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero
eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no
sea takimata sanctus est Lorem ipsum dolor sit amet.
END
my ($theme_source, $theme_local, $theme_autocolor);
my %bg_process= ();
sub background {
my ($cmd) =@_;
my ($fh_r, $fh_w);
pipe $fh_r, $fh_w;
my $pid = fork();
if ($pid ==0 ) {
my @res;
@res= &{$cmd->{cmd}}(@{$cmd->{args}});
store_fd \@res, $fh_w;
close $fh_w;
POSIX::_exit(1);
} else {
$cmd->{fh_r}=$fh_r;
Irssi::pidwait_add($pid);
$bg_process{$pid}=$cmd;
}
}
sub sig_pidwait {
my ($pid, $status) = @_;
if (exists $bg_process{$pid}) {
my @res= @{ fd_retrieve($bg_process{$pid}->{fh_r})};
$bg_process{$pid}->{res}=[@res];
if (exists $bg_process{$pid}->{last}) {
foreach my $p (@{$bg_process{$pid}->{last}}) {
&$p($bg_process{$pid});
}
} else {
Irssi::print(join(" ",@res), MSGLEVEL_CLIENTCRAP);
}
delete $bg_process{$pid};
}
}
sub cmd_show {
my ($args, $server, $witem)=@_;
my $t = Irssi::settings_get_str('theme');
if (defined $witem) {
$witem->print(
"----- $t -- $count -----",
MSGLEVEL_CLIENTCRAP);
$witem->command('names');
core_printformat_module_w($witem,
MSGLEVEL_CLIENTCRAP, 'fe-common/core', 'pubmsg', 'testnick', $lorem, '@');
core_printformat_module_w($witem,
MSGLEVEL_CLIENTCRAP, 'fe-common/core', 'pubmsg_me', 'testnick',
'me: '.substr($lorem, 0, 30),'@');
core_printformat_module_w($witem,
MSGLEVEL_CLIENTCRAP, 'fe-common/core', 'own_msg', 'me',
substr($lorem, 0, 30),'@');
} else {
Irssi::print(
"----- $t -- $count -----",
MSGLEVEL_CLIENTCRAP);
core_printformat_module(
MSGLEVEL_CLIENTCRAP, 'fe-common/core', 'pubmsg', 'testnick', $lorem, '@');
core_printformat_module(
MSGLEVEL_CLIENTCRAP, 'fe-common/core', 'pubmsg_me', 'testnick',
'me: '.substr($lorem, 0, 30),'@');
core_printformat_module(
MSGLEVEL_CLIENTCRAP, 'fe-common/core', 'own_msg', 'me',
substr($lorem, 0, 30),'@');
}
}
sub core_printformat_module {
my ($level, $module, $format, @args) = @_;
{
local *CORE::GLOBAL::caller = sub { $module };
Irssi::printformat($level, $format, @args);
}
}
sub core_printformat_module_w {
my ($witem, $level, $module, $format, @args) = @_;
{
local *CORE::GLOBAL::caller = sub { $module };
$witem->printformat($level, $format, @args);
}
}
sub set_fg_color {
my ($fg) = @_;
if ($ENV{'TERM'} =~ m/^xterm/) {
if ( defined $fg ) {
print STDERR "\033]10;$fg\a";
} else {
print STDERR "\033]110\a";
}
} else {
$noxterm.=" and " if ($noxterm);
$noxterm.="fg_color:$fg";
}
}
sub set_bg_color {
my ($bg) = @_;
if ($ENV{'TERM'} =~ m/^xterm/) {
if ( defined $bg) {
print STDERR "\033]11;$bg\a";
} else {
print STDERR "\033]111\a";
}
} else {
$noxterm.=" and " if ($noxterm);
$noxterm.="bg_color:$bg";
}
}
sub get_theme {
my ($args)=@_;
local $File::Fetch::WARN=0;
$get.= '.theme' if $get !~ m/\.theme/;
my $ff= File::Fetch->new(uri => $theme_source.$get);
my $where = $ff->fetch( to => $theme_local ) or
return "Error: $theme_source$get not found";
return "$get downloaded.";
}
sub get_yaml {
local $File::Fetch::WARN=0;
my $get='themes.yaml';
if (-e $theme_local.$get) {
unlink $theme_local.$get;
}
my $ff= File::Fetch->new(uri => $theme_source.$get);
my $where = $ff->fetch( to => $theme_local ) or
return "Error: $theme_source$get not found";
return "$get downloaded.";
}
sub cmd_set {
my ($args, $server, $witem)=@_;
my $t = $tl[$count];
if (defined $t) {
Irssi::settings_set_str('theme',$t);
Irssi::signal_emit('setup changed');
if ($theme_autocolor) {
set_fg_color($themes{$t}->{fgColor});
set_bg_color($themes{$t}->{bgColor});
}
}
}
sub cmd {
my ($args, $server, $witem)=@_;
my ($ret, $arg) = GetOptionsFromString($args, %options);
if ( defined $$arg[0]) {
my $c=0;
foreach my $t (@tl) {
if ($t eq $$arg[0]) {
$count=$c;
last;
}
$c++;
}
cmd_set();
}
if (defined $update) {
if ($count <0) {
$count = $#tl+$count+1;
}
if ($count >$#tl) {
$count = $count-$#tl-1;
}
cmd_set();
$update= undef;
}
if (defined $show) {
cmd_show($args, $server, $witem);
$show = undef;
}
if (defined $get) {
my $cmd;
$cmd->{cmd}=\&get_theme;
$cmd->{args}=[$args];
$cmd->{last}=[
\&init,
\&print_result,
];
background( $cmd );
$get = undef;
}
if (defined $yupdate) {
my $cmd;
$cmd->{cmd}=\&get_yaml;
$cmd->{last}=[
\&init,
\&print_result,
];
background( $cmd );
$yupdate = undef;
}
if (defined $list) {
my $c=0;
foreach (@tl) {
if ($c == $count) {
Irssi::print(">>$_<<", MSGLEVEL_CLIENTCRAP);
} else {
Irssi::print(" $_", MSGLEVEL_CLIENTCRAP);
}
$c++;
}
$list = undef;
}
if (defined $info) {
cmd_info($args, $server, $witem);
$info = undef;
}
if (defined $phelp || $args eq '' ) {
cmd_help($IRSSI{name}, $server, $witem);
$phelp = undef;
}
if (defined $fg_color) {
if (length($fg_color)>0) {
set_fg_color($fg_color);
} else {
set_fg_color();
}
$fg_color= undef;
}
if (defined $bg_color) {
if (length($bg_color)>0) {
set_bg_color($bg_color);
} else {
set_bg_color();
}
$bg_color= undef;
}
if (defined $noxterm) {
Irssi::print(
"Do not know how to set colour for your terminal ($ENV{TERM})."
, MSGLEVEL_CLIENTCRAP);
Irssi::print(
"Manually configure it for $noxterm"
, MSGLEVEL_CLIENTCRAP);
$noxterm= undef;
}
}
sub cmd_info {
my ($args, $server, $witem)=@_;
Irssi::print("Info: $info", MSGLEVEL_CLIENTCRAP);
if (exists $themes{$info}) {
Irssi::print(Dump($themes{$info}), MSGLEVEL_CLIENTCRAP);
} elsif (exists $themes{$tl[$count]}) {
Irssi::print(Dump($themes{$tl[$count]}), MSGLEVEL_CLIENTCRAP);
}
}
sub cmd_help {
my ($args, $server, $witem)=@_;
$args=~ s/\s+//g;
if ($IRSSI{name} eq $args) {
Irssi::print($help, MSGLEVEL_CLIENTCRAP);
Irssi::signal_stop();
}
}
sub sig_setup_changed {
$theme_source= Irssi::settings_get_str($IRSSI{name}.'_source');
$theme_source.= '/' if $theme_source !~ m#/$#;
my $l= Irssi::settings_get_str($IRSSI{name}.'_local');
$theme_local= bsd_glob $l;
$theme_local.= '/' if $theme_local !~ m#/$#;
$theme_autocolor= Irssi::settings_get_bool($IRSSI{name}.'_autocolor');
}
sub print_result {
my ($cmd) = @_;
if (defined $cmd->{res}->[0]) {
Irssi::print($cmd->{res}->[0] , MSGLEVEL_CLIENTCRAP);
}
}
sub do_complete {
my ($strings, $window, $word, $linestart, $want_space) = @_;
return unless $linestart =~ m#^/$IRSSI{name}#;
return if $word =~ m#^-#;
if ( $linestart !~ m/(-g|-get|-i|-info)/ ) {
@$strings = grep { m/^$word/} @tl;
} else {
@$strings = grep { m/^$word/} @dtl;
}
Irssi::signal_stop;
}
sub init {
my $theme = Irssi::settings_get_str('theme');
my $p1= Irssi::get_irssi_dir();
my @t = bsd_glob $p1.'/*.theme';
@tl=();
my $c=0;
foreach my $fn (@t) {
$fn = basename($fn, '.theme');
push @tl, $fn;
$count=$c if $theme eq $fn;
$c++;
}
$lorem =~ s/\n/ /g;
if (-e $p1.'/themes.yaml') {
@dtl=undef;
my @l;
open my $fi, '<',$p1.'/themes.yaml';
my $syml= do {local $/; <$fi>};
close $fi;
eval {
@l = @{Load($syml)};
};
if (length($@) >0) {
print $@;
} else {
foreach my $e (@l) {
$themes{$e->{name}}=$e;
push @dtl, $e->{name};
}
}
}
}
Irssi::signal_add_first('complete word', \&do_complete);
Irssi::signal_add('setup changed', \&sig_setup_changed);
Irssi::signal_add('pidwait', \&sig_pidwait);
Irssi::settings_add_str($IRSSI{name} ,$IRSSI{name}.'_source', 'https://irssi-import.github.io/themes/');
Irssi::settings_add_str($IRSSI{name} ,$IRSSI{name}.'_local', Irssi::get_irssi_dir());
Irssi::settings_add_bool($IRSSI{name} ,$IRSSI{name}.'_autocolor', 0);
Irssi::command_bind($IRSSI{name}, \&cmd);
my @opt=map {s/[=:].*$//, $_} keys %options;
Irssi::command_set_options($IRSSI{name}, join(" ", @opt));
Irssi::command_bind('help', \&cmd_help);
init();
sig_setup_changed();
if (!(-e $theme_local.'themes.yaml')) {
my $cmd;
$cmd->{cmd}=\&get_yaml;
$cmd->{last}=[
\&init,
\&print_result,
];
background( $cmd );
}

200
.irssi/themes.yaml Normal file
View file

@ -0,0 +1,200 @@
---
# add your theme at the end
- { name: h3rbz, by: h3rbz, bgColor: black, fgColor: white}
- { name: spring, by: Myrtti, bgColor: "#cdf9b4", fgColor: black }
- { name: dark_winter, by: Myrtti, bgColor: "#f4c6e8", fgColor: black }
- { name: elite, by: mrblackker, bgColor: black, fgColor: gray50 }
- { name: revolutionary, by: rolle , bgColor: black, fgColor: gray50}
- { name: revolutionaryv2, by: rolle, bgColor: black, fgColor: gray }
- { name: revolutionaryv3, by: rolle, bgColor: black, fgColor: gray }
- { name: liszt, by: fliszt, bgColor: black, fgColor: gray }
- { name: screwer-redux, by: keeb, bgColor: '#555015', fgColor: gray50 }
- { name: greenbox, by: Ir0n1E, bgColor: black, fgColor: gray }
- { name: doom, by: saketzu, bgColor: black, fgColor: gray }
- { name: soppa, by: rolle, bgColor: black, fgColor: gray30 }
- { name: envy, by: rolle, bgColor: black, fgColor: gray }
- { name: aka, by: curson, bgColor: black, fgColor: gray }
- { name: lighty, by: pulk, bgColor: black, fgColor: white }
- { name: mxl, by: mxl, download_format: tar.gz }
- { name: pandemonium, by: tri, bgColor: black, fgColor: gray }
- { name: redhead, by: _dave, bgColor: gray10, fgColor: gray }
- { name: purplechat, by: _dave, bgColor: black, fgColor: gray }
- { name: syntax, by: _dave, bgColor: gray10, fgColor: gray }
- { name: yellowsyntax, by: _dave, bgColor: black, fgColor: gray }
- { name: evowhite, by: Ville Myllymäki, bgColor: gray80, fgColor: black }
- { name: initrd, by: initrd, bgColor: black, fgColor: gray }
- { name: artificial-soul, by: ismaell, bgColor: black, fgColor: gray }
- { name: furry, by: Cenne, bgColor: '#3c3c3c', fgColor: gray90 }
- { name: more_readable, by: WildFlame, bgColor: black, fgColor: gray70 }
- { name: japsu, by: Japsu, bgColor: black, fgColor: gray70 }
- { name: scaleddown, by: _dave, bgColor: black, fgColor: gray70 }
- { name: xchat2, by: _dave, bgColor: gray10, fgColor: gray80 }
- { name: greenedge, by: _dave, bgColor: gray10, fgColor: gray80 }
- { name: tugg, by: tugg, bgColor: '#372112', fgColor: white }
- { name: mursu, by: Anfar, download_format: zip }
- { name: trakhel, by: anonymous, bgColor: white, fgColor: gray70 }
- { name: pyhy, by: pyhy, bgColor: black, fgColor: gray60 }
- { name: swehack, by: nocturnal, bgColor: black, fgColor: gray60 }
- { name: lenten, by: jasee, bgColor: black, fgColor: gray60 }
- { name: simplicity, by: opqdonut, bgColor: white, fgColor: black }
- { name: hrncek, by: hrncek, bgColor: black, fgColor: gray60 }
- { name: insane, by: roy, bgColor: black, fgColor: gray60 }
- { name: kurja-round, by: Yaakov, bgColor: '#0e151c', fgColor: gray80 }
- { name: nitz, by: Nitz, bgColor: black, fgColor: gray80 }
- { name: oscar, by: px, bgColor: black, fgColor: gray60 }
- { name: lt, by: by LinuxTux, bgColor: '#0c1b35', fgColor: white }
- { name: diskreet, by: bracket, bgColor: white, fgColor: gray60 }
- { name: spookydoom, by: yawgm8th, bgColor: black, fgColor: gray60 }
- { name: tzu, by: Tzunamii, bgColor: black, fgColor: gray70 }
- { name: rain, by: dana, bgColor: '#40424e', fgColor: white }
- { name: greyed-out, by: bluet, bgColor: black, fgColor: white }
- { name: dma147, by: dma147, download_format: tar.bz2 }
- { name: murf, by: Harmen, bgColor: black, fgColor: gray70 }
- { name: bw-wb-ryb, by: Nico, bgColor: black, fgColor: white }
# fg is set to black. the image has bg black
- { name: n, by: nikt, bgColor: gray, fgColor: gray40 }
- { name: elpi, by: anonymous, bgColor: black, fgColor: gray80 }
- { name: mithru, by: avu, bgColor: gray10, fgColor: gray90 }
- { name: mork, by: Sho, bgColor: black, fgColor: gray70 }
- { name: tonisepro, by: Tonise, bgColor: black, fgColor: green }
- { name: mosdef, by: deadcow, bgColor: black, fgColor: white }
- { name: rolle, by: rolle, bgColor: black, fgColor: gray40 }
- { name: parenthetical, by: dwu, bgColor: black, fgColor: gray70 }
- { name: dbm, by: dbmathis, bgColor: black, fgColor: gray70 }
- { name: c0ders, by: PCrazee, bgColor: white, fgColor: black }
- { name: design, by: awad, bgColor: black, fgColor: gray50 }
- { name: madcow, by: dubkat, bgColor: black, fgColor: gray50 }
- { name: lyynx, by: LyyNx, bgColor: '#263541', fgColor: white }
- { name: kompakt, by: rm, bgColor: black, fgColor: white }
- { name: evilkat, by: dubkat, bgColor: black, fgColor: gray70 }
- { name: screwer, by: ak5, bgColor: '#585516', fgColor: gray50 }
- { name: xchat, by: _dave, bgColor: gray10, fgColor: gray70 }
- { name: cyanic, by: bracket, bgColor: black, fgColor: gray70 }
- { name: stx, by: stx, bgColor: '#633408', fgColor: gray50 }
- { name: trax, by: opqdonut, bgColor: black, fgColor: gray80 }
- { name: fluxmod, by: ikaro, bgColor: '#254a17', fgColor: gray70 }
- { name: industrial, by: blaze, bgColor: black, fgColor: gray80 }
- { name: agon, by: agon, bgColor: '#293c42', fgColor: gray70 }
- { name: ksiadz, by: ksiadz, bgColor: '#16202b', fgColor: '#18b2b2' }
- { name: hv, by: cubik, bgColor: black, fgColor: gray70 }
- { name: defacto, by: statico, bgColor: black, fgColor: gray80 }
- { name: tinylajs, by: tewmten, bgColor: black, fgColor: white }
- { name: roses, by: Myrtti, bgColor: black, fgColor: gray70 }
- { name: vt510+xterm, by: TauPan, bgColor: gray80, fgColor: gray30 }
- { name: spot, by: dana, bgColor: '#001120' , fgColor: white }
- { name: sfc1337, by: souleman, bgColor: black, fgColor: green }
- { name: mazii, by: mazii, bgColor: '#37250b', fgColor: gray90 }
- { name: telix, by: bufh, bgColor: '#0f1519', fgColor: gray90 }
- { name: sfcblue, by: souleman, bgColor: '#000039', fgColor: gray90 }
- { name: skeita, by: petrucci, bgColor: black, fgColor: gray80 }
- { name: lime, by: erc, bgColor: gray20, fgColor: gray80 }
- { name: skan, by: skanZoft, bgColor: black, fgColor: gray70 }
- { name: neutralorange, by: Marquz, bgColor: black, fgColor: gray80 }
# fg is set to black. the image has bg black
- { name: bestican, by: alexar, bgColor: gray, fgColor: gray20 }
- { name: ion_mod, by: McGovern, bgColor: '#080408', fgColor: gray60 }
- { name: lemac-pl, by: Lemac, bgColor: black, fgColor: gray50 }
- { name: crap, by: McGovern, bgColor: black, fgColor: gray60 }
- { name: orb, by: eks, download_format: tbz2 }
- { name: bluu, by: HiFi, bgColor: black, fgColor: gray80 }
- { name: evolution, by: McPolo, bgColor: black, fgColor: gray70 }
- { name: lemac, by: lemac, bgColor: black, fgColor: gray70 }
- { name: tanke, by: Tanke, bgColor: gray10, fgColor: gray80 }
- { name: sputnik, by: Tanke, bgColor: black, fgColor: white }
- { name: kaer-2, by: kaer, bgColor: black, fgColor: gray80 }
- { name: hellfire, by: Anzuhan, bgColor: black, fgColor: gray80 }
- { name: angelic, by: ArcAngel, download_link: angelic4.4.tar.gz }
- { name: sux, by: Aleksandr, bgColor: '#0f2946', fgColor: gray90 }
- { name: cross, by: cross, format: gif, bgColor: black, fgColor: gray70 }
- { name: pikkuh, by: pikku-h, bgColor: black, fgColor: gray60 }
- { name: epic, by: andrey, format: gif, bgColor: white, fgColor: black }
- { name: lesscolors, by: dt, bgColor: black, fgColor: gray80 }
- { name: generane, by: generane, bgColor: '#282725', fgColor: gray70 }
- { name: qlth, by: defrag, bgColor: '#000031', fgColor: gray90 }
- { name: elho, by: elho, download_link: irssi-elho.theme-1.3.tar.gz }
- { name: kaer, by: kaer, bgColor: black, fgColor: gray60 }
- { name: taliz, by: taliz, download_format: tgz }
- { name: cananal, by: "^Faust^", bgColor: black, fgColor: cyan }
- { name: mine, by: BoBB, bgColor: gray70, fgColor: gray20 }
- { name: ea1, by: EckigesAuge, bgColor: gray30, fgColor: gray80 }
- { name: rettoscopia, by: "^Faust^", bgColor: black, fgColor: gray70 }
- { name: splitfire, by: ccr, bgColor: black, fgColor: gray80 }
- { name: oxynox, by: ataxic, bgColor: black, fgColor: gray70 }
- { name: kurja, by: renni, bgColor: '#1b1b00' , fgColor: gray90 }
- { name: xmas, by: Charn, bgColor: '#540000', fgColor: gray70 }
- { name: lilah, by: ladydana, bgColor: '#400040', fgColor: gray80 }
# fg is set to black. the image has bg black
- { name: void, by: fahren, bgColor: gray50, fgColor: gray20 }
- { name: greenSCPleo, by: "}{pt0", bgColor: black, fgColor: green }
- { name: ectobar, by: lude, bgColor: '#17192d', fgColor: gray70 }
- { name: liten, by: liten, bgColor: black, fgColor: gray80 }
- { name: en, by: en, format: gif, bgColor: black, fgColor: gray70 }
- { name: lemmu, by: Hydra, format: gif, bgColor: black, fgColor: gray70 }
- { name: litE, by: smoku, format: gif, bgColor: black, fgColor: gray70 }
- { name: foxmask, by: foxmask, bgColor: white, fgColor: black }
- { name: madeye, by: Svarre, format: gif, bgColor: black, fgColor: gray80 }
- { name: laaama-2, by: laaama, bgColor: '#230101', fgColor: gray80 }
- { name: darksystem, by: source, bgColor: black, fgColor: gray60 }
# fg is set to black. the image has bg black
- { name: magick, by: md, bgColor: gray80, fgColor: gray50 }
- { name: huara, by: geel, bgColor: black, fgColor: gray70 }
- { name: bork, by: fraki, bgColor: '#001c44', fgColor: gray80 }
- { name: salsa, by: xfesty, bgColor: black, fgColor: gray70 }
- { name: mrooveq, by: mrooveq, format: gif, bgColor: black, fgColor: gray70 }
- { name: chaves, by: "Florindo'Admim", bgColor: '#212c31', fgColor: gray90 }
- { name: asyura, by: rxcv, bgColor: black, fgColor: white }
- { name: quubba, by: quubba, bgColor: black, fgColor: gray60 }
- { name: simpleii, by: six, bgColor: black, fgColor: white }
- { name: hagge, by: hagge, bgColor: black, fgColor: gray90 }
- { name: clean, by: sabi, bgColor: white, fgColor: black }
- { name: pgreen, by: gs, bgColor: black, fgColor: gray90 }
- { name: mirkk32, by: hygge, bgColor: '#f6f6f6', fgColor: black }
- { name: garden, by: godog, bgColor: black, fgColor: gray70 }
- { name: stevee, by: stevee, bgColor: black, fgColor: gray70 }
- { name: IamCyan, by: marmot, bgColor: gray20, fgColor: gray80 }
- { name: ash, by: Little Dragon, bgColor: black, fgColor: gray70 }
- { name: misso, by: misso, bgColor: black, fgColor: gray60 }
- { name: easyeye, by: Kuma, bgColor: black, fgColor: gray70 }
- { name: swift, by: swift, bgColor: black, fgColor: gray70 }
- { name: osbxwannabe, by: SpamapS, bgColor: black, fgColor: gray70 }
- { name: eon, by: eon, bgColor: '#03146c', fgColor: gray70 }
- { name: foo, by: shagr, bgColor: '#282f3f', fgColor: gray70 }
- { name: dot, by: Han, download_format: tgz }
- { name: elf, by: ElectricElf, download_format: tgz }
- { name: quux, by: zhafte, bgColor: '#394563', fgColor: gray70 }
# fg is set to black. the image has bg black
- { name: pasce, by: soulis, bgColor: gray70, fgColor: gray20 }
- { name: jokx, by: "jok'x", bgColor: black, fgColor: green }
- { name: ocean, by: tjamtjam, format: gif, bgColor: black, fgColor: gray70 }
# fg is set to black. the image has bg black
- { name: greenish, by: geel, bgColor: grey70, fgColor: gray20 }
- { name: ski, by: skijk, bgColor: gray10, fgColor: gray80 }
- { name: ion, by: Ion, bgColor: black, fgColor: blue }
- { name: hnsk, by: hnsk, format: gif, bgColor: black, fgColor: gray70 }
- { name: shrike, by: Shrike, bgColor: black, fgColor: gray70 }
- { name: relaxed, by: Shruuf, bgColor: black, fgColor: gray60 }
- { name: gothic, by: benny, bgColor: black, fgColor: gray70 }
- { name: ekh, by: ekh, bgColor: black, fgColor: gray90 }
# fg is set to black. the image has bg black
- { name: simple, by: geel, bgColor: dark orange, fgColor: gray50 }
- { name: daywalker, by: The_1, format: gif, bgColor: black, fgColor: gray50 }
- { name: whitespace, by: Lanze, bgColor: black, fgColor: gray60 }
# fg is set to black. the image has bg black
- { name: chill, by: soulis, bgColor: gray50, fgColor: gray20 }
- { name: zng, by: ZaNaGa, bgColor: black, fgColor: gray80 }
- { name: maria7, by: Zoey, format: gif, download_format: tgz }
- { name: shruuf, by: Shruuf, bgColor: black, fgColor: gray50 }
- { name: white, by: "???", screenshot: white.jpg, comment: 'theme with white background', bgColor: gray95, fgColor: black }
- { name: naula, by: naula, bgColor: black, fgColor: dark orange }
- { name: thirdeye, by: salo, bgColor: black, fgColor: gray80 }
- { name: laaama, by: laaama, bgColor: black, fgColor: gray60 }
- { name: zhafte, by: zhafte, format: gif, bgColor: black, fgColor: gray60 }
- { name: BitchX, by: "???", comment: 'BitchX look', bgColor: black, fgColor: gray60 }
- { name: jsuvanto, by: JSuvanto, format: gif, bgColor: black, fgColor: gray60 }
- { name: mutru, by: Mutru, bgColor: black, fgColor: gray70 }
- { name: mika, by: "[Mika]", format: gif, bgColor: black, fgColor: gray70 }
- { name: koivula, by: Koivula, format: gif, bgColor: black, fgColor: gray80 }
- { name: green, by: greeny, format: gif, bgColor: black, fgColor: gray80 }
- { name: crystal, by: kesara, bgColor: black, fgColor: gray60 }
- { name: pipeline, by: haro, comment: "<a href=\"https://github.com/hastinbe/irssi-theme-pipeline\">README</a>", bgColor: black, fgColor: gray60 }
# Add your theme before this comment!

2
.vimrc
View file

@ -7,12 +7,14 @@ command Tmomc :r ~/Documents/templates/chapter.mom
command Tmomg :r ~/Documents/templates/general.mom
command Tmomr :r ~/Documents/templates/recipe.mom
command Tmome :r ~/Documents/templates/english.mom
command Tmd :r ~/Documents/templates/md.html
" run groff+refer on file
:command Groff !p="%"; refer -PS -e -p ~/Documents/bib ${p::-4}.mom | groff -mom -Tpdf > ${p::-4}.pdf
:command Grofft !p="%"; refer -PS -e -p ~/Documents/bib ${p::-4}.mom | groff -mom -T ascii > ${p::-4}.txt
:command Man !p="%"; groff -man -T ascii ${p::-4}.man > ${p::-4}.txt
:command Md !p="%"; cmark --unsafe ${p::-3}.md | h2p - ${p::-3}.pdf
" nice line numbers
set number