about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBen Harris <ben@tilde.team>2022-05-12 14:12:46 -0400
committerBen Harris <ben@tilde.team>2022-05-12 14:12:46 -0400
commitf5d04cb608bdf8ac5dd03e2c562d1d009c7a1220 (patch)
tree9674b12d8e19c5f422b5200196e86a031c37101b
parent96eb5a5cc27317edec343401f04793f0416bb99f (diff)
a bunch of random stuff
-rw-r--r--fish/.config/fish/fish_variables1
-rw-r--r--git/.gitconfig2
-rw-r--r--git/.gitignore1
m---------vim/.vim/bundle/vim-airline0
m---------vim/.vim/bundle/vim-fugitive0
m---------vim/.vim/bundle/vim-gitgutter0
-rw-r--r--weechat/.weechat/irc.conf68
-rw-r--r--weechat/.weechat/plugins.conf3
-rw-r--r--weechat/.weechat/python/autojoinem.py401
l---------weechat/.weechat/python/autoload/autojoinem.py1
l---------weechat/.weechat/python/autoload/weestats.py1
-rw-r--r--weechat/.weechat/python/weestats.py156
-rw-r--r--weechat/.weechat/relay.conf3
-rw-r--r--weechat/.weechat/trigger.conf26
-rw-r--r--weechat/.weechat/weechat.conf2
15 files changed, 191 insertions, 474 deletions
diff --git a/fish/.config/fish/fish_variables b/fish/.config/fish/fish_variables
index b3140f9..51e536c 100644
--- a/fish/.config/fish/fish_variables
+++ b/fish/.config/fish/fish_variables
@@ -34,4 +34,5 @@ SETUVAR fish_pager_color_completion:normal
 SETUVAR fish_pager_color_description:B3A06D\x1eyellow
 SETUVAR fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
 SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
+SETUVAR fish_pager_color_selected_background:\x2dr
 SETUVAR fisher_dependency_count:bass\x1edone\x1egetopts\x1egitignore\x1ehumanize_duration\x1envm\x1espin
diff --git a/git/.gitconfig b/git/.gitconfig
index becf13d..32b93e7 100644
--- a/git/.gitconfig
+++ b/git/.gitconfig
@@ -52,3 +52,5 @@
 	conflictstyle = diff3
 [mergetool]
 	prompt = false
+[core]
+	excludesfile = /home/ben/.gitignore
diff --git a/git/.gitignore b/git/.gitignore
new file mode 100644
index 0000000..224e7f0
--- /dev/null
+++ b/git/.gitignore
@@ -0,0 +1 @@
+.pc/
diff --git a/vim/.vim/bundle/vim-airline b/vim/.vim/bundle/vim-airline
-Subproject be5bda1f1dbfa4e36b2adabaf3f423adfa66c33
+Subproject c4655701431a9c79704c827fd88a4783ec94687
diff --git a/vim/.vim/bundle/vim-fugitive b/vim/.vim/bundle/vim-fugitive
-Subproject b7287bd5421da62986d9abf9131509b2c9f918e
+Subproject f529acef74b4266d94f22414c60b4a8930c1e0f
diff --git a/vim/.vim/bundle/vim-gitgutter b/vim/.vim/bundle/vim-gitgutter
-Subproject 988a6dbad9a9777cd94aab18ba7821a41068685
+Subproject 719d4ec06a0fb0aa9f1dfaebcf4f9691e8dc3f7
diff --git a/weechat/.weechat/irc.conf b/weechat/.weechat/irc.conf
index 8d2716d..df5e2f7 100644
--- a/weechat/.weechat/irc.conf
+++ b/weechat/.weechat/irc.conf
@@ -127,6 +127,7 @@ anti_flood_prio_high = 2
 anti_flood_prio_low = 2
 autoconnect = on
 autojoin = ""
+autojoin_dynamic = on
 autoreconnect = on
 autoreconnect_delay = 10
 autorejoin = off
@@ -149,7 +150,7 @@ nicks_alternate = on
 notify = ""
 password = ""
 proxy = ""
-realname = "Ben Harris"
+realname = "ben"
 sasl_fail = continue
 sasl_key = ""
 sasl_mechanism = plain
@@ -197,7 +198,8 @@ tilde.local_hostname
 tilde.usermode
 tilde.command = "/msg operserv login ${sec.data.pass};/msg idlerpg_bot login wowbagger ${sec.data.idlerpgpass}"
 tilde.command_delay = 25
-tilde.autojoin = "#.tilde,#ZfA,#allhandsactive,#anelki,#ascii.town,#aussie,#bots,#bungame,#cactus,#club,#cosmic,#counting-meta,#ctrl-c,#deutsch,#downgrade,#envs_german,#espanol,#factorio,#fr,#gemini,#gopher,#helpdesk,#idlerpg,#institute,#linux,#meta,#minecraft,#music,#netnews,#nsfw,#opers,#politics,#programming,#projects,#remotes.club,#secret-sudoers,#sus,#team,#texto-plano,#theasylum,#thunix,#tilde.zone-admin,#tildebot,#tilderadio,#tilderadio-djs,#tildetel,#tildeverse,#town,#vim,#wiki,#zfa"
+tilde.autojoin = "#.tilde,#ZfA,#adventofcode,#allhandsactive,#anelki,#ascii.town,#aussie,#binary-counting,#bots,#club,#cosmic,#counting,#covid19,#ctrl-c,#dotnet,#earthward,#espanol,#fr,#gemini,#gopher,#helpdesk,#linux,#math,#meta,#minecraft,#netnews,#nsfw,#opers,#rw.rs,#secret-sudoers,#southlondon,#team,#thunix,#tilde.zone-admin,#tildebot,#tildenet,#tilderadio,#tilderadio-djs,#tildetel,#topm,#town,#vim,#wiki,#xinu,#zfa"
+tilde.autojoin_dynamic
 tilde.autorejoin
 tilde.autorejoin_delay
 tilde.connection_timeout
@@ -241,7 +243,8 @@ hashbang.local_hostname
 hashbang.usermode
 hashbang.command
 hashbang.command_delay
-hashbang.autojoin = "#!opers,#!social"
+hashbang.autojoin = "#!,#!opers,#!social"
+hashbang.autojoin_dynamic
 hashbang.autorejoin
 hashbang.autorejoin_delay
 hashbang.connection_timeout
@@ -285,7 +288,8 @@ town.local_hostname
 town.usermode
 town.command
 town.command_delay
-town.autojoin = "#admins,#announcements,#bots,#counting,#counting-meta,#tildetown"
+town.autojoin = "#admins,#adventofcode,#announcements,#bots,#counting,#tildetown"
+town.autojoin_dynamic
 town.autorejoin
 town.autorejoin_delay
 town.connection_timeout
@@ -374,6 +378,7 @@ sdf.usermode
 sdf.command
 sdf.command_delay
 sdf.autojoin = "#sdf,#spanish"
+sdf.autojoin_dynamic
 sdf.autorejoin
 sdf.autorejoin_delay
 sdf.connection_timeout
@@ -418,6 +423,7 @@ darwin.usermode
 darwin.command
 darwin.command_delay
 darwin.autojoin = "#darwin"
+darwin.autojoin_dynamic
 darwin.autorejoin = on
 darwin.autorejoin_delay
 darwin.connection_timeout
@@ -461,7 +467,8 @@ oftc.local_hostname
 oftc.usermode
 oftc.command
 oftc.command_delay
-oftc.autojoin = "#bitlbee,#debian-devel,#fish"
+oftc.autojoin = "#bitlbee,#debian-devel,#fish,#salsa"
+oftc.autojoin_dynamic
 oftc.autorejoin
 oftc.autorejoin_delay
 oftc.connection_timeout
@@ -506,6 +513,7 @@ blinkenshell.usermode
 blinkenshell.command
 blinkenshell.command_delay
 blinkenshell.autojoin = "#blinkenshell"
+blinkenshell.autojoin_dynamic
 blinkenshell.autorejoin
 blinkenshell.autorejoin_delay
 blinkenshell.connection_timeout
@@ -550,6 +558,7 @@ inspircd.usermode
 inspircd.command
 inspircd.command_delay
 inspircd.autojoin = "#inspircd"
+inspircd.autojoin_dynamic
 inspircd.autorejoin
 inspircd.autorejoin_delay
 inspircd.connection_timeout
@@ -594,6 +603,7 @@ slashnet.usermode
 slashnet.command = "/ns identify ${sec.data.slashnetpass}"
 slashnet.command_delay
 slashnet.autojoin = "#gtlug"
+slashnet.autojoin_dynamic
 slashnet.autorejoin
 slashnet.autorejoin_delay
 slashnet.connection_timeout
@@ -652,50 +662,6 @@ bitlbee.notify
 bitlbee.split_msg_max_length
 bitlbee.charset_message
 bitlbee.default_chantypes
-pine.addresses = "irc.pine64.org"
-pine.proxy
-pine.ipv6
-pine.ssl
-pine.ssl_cert
-pine.ssl_password
-pine.ssl_priorities
-pine.ssl_dhkey_size
-pine.ssl_fingerprint
-pine.ssl_verify
-pine.password
-pine.capabilities
-pine.sasl_mechanism
-pine.sasl_username = "ben"
-pine.sasl_password = "${sec.data.pinepass}"
-pine.sasl_key
-pine.sasl_timeout
-pine.sasl_fail
-pine.autoconnect
-pine.autoreconnect
-pine.autoreconnect_delay
-pine.nicks
-pine.nicks_alternate
-pine.username
-pine.realname
-pine.local_hostname
-pine.usermode
-pine.command
-pine.command_delay
-pine.autojoin = "#Pine64"
-pine.autorejoin
-pine.autorejoin_delay
-pine.connection_timeout
-pine.anti_flood_prio_high
-pine.anti_flood_prio_low
-pine.away_check
-pine.away_check_max_nicks
-pine.msg_kick
-pine.msg_part
-pine.msg_quit
-pine.notify
-pine.split_msg_max_length
-pine.charset_message
-pine.default_chantypes
 libera.addresses = "irc.us.libera.chat/6697"
 libera.proxy
 libera.ipv6
@@ -769,7 +735,8 @@ ergo.local_hostname
 ergo.usermode
 ergo.command
 ergo.command_delay
-ergo.autojoin = "#chat,#ergo"
+ergo.autojoin = "#ergo"
+ergo.autojoin_dynamic
 ergo.autorejoin
 ergo.autorejoin_delay
 ergo.connection_timeout
@@ -814,6 +781,7 @@ pisslocal.usermode
 pisslocal.command = "/oper ben ${sec.data.pissnetoper}"
 pisslocal.command_delay
 pisslocal.autojoin = "#opers,#pissnet,#services"
+pisslocal.autojoin_dynamic
 pisslocal.autorejoin
 pisslocal.autorejoin_delay
 pisslocal.connection_timeout
diff --git a/weechat/.weechat/plugins.conf b/weechat/.weechat/plugins.conf
index f6c286a..c24c677 100644
--- a/weechat/.weechat/plugins.conf
+++ b/weechat/.weechat/plugins.conf
@@ -57,7 +57,6 @@ python.apply_corrections.message_limit = "2"
 python.apply_corrections.print_format = "[nick]: [corrected]"
 python.apply_corrections.print_limit = "1"
 python.autojoin.autosave = "off"
-python.autojoinem.sorted = "on"
 python.autosavekey.add = "on"
 python.autosavekey.mute = "off"
 python.autosavekey.secure = "on"
@@ -65,7 +64,7 @@ python.buffer_autoclose.age_limit = "30"
 python.buffer_autoclose.ignore = "bitlbee.maddie"
 python.buffer_autoclose.interval = "1"
 python.check_license = "off"
-python.completion.replace_values = "shrug=>¯\_(ツ)_/¯;;wiki=>https://tilde.team/wiki/;;sword=>o()xxxx[{::::::::::::::::::::::::::::::::::>;;lenny=>( ͡° ͜ʖ ͡°);;byobu=>https://superuser.com/a/423397/866501;;fg=>(☞゚ヮ゚)☞;;huh=>(-_-)ゞ゛;;tablefix=>┬─┬ノ( º _ ºノ);;weedoc=>https://weechat.org/files/doc/stable/weechat_user.en.html;;weekeys=>https://weechat.org/files/doc/stable/weechat_user.en.html#key_bindings;;denko=>(´・ω・`);;yuno=>ლ(́ಠ◞益◟ಠ‵ლ);;tf=>(ノಥ益ಥ)ノ彡┻━┻;;tb=>┬─┬ノ( º _ ºノ);;ducc=>・゜゜・。。・゜゜\_o< QUACK!;;wat=>https://bhh.sh/wat.jpg;;matrix=>https://www.moparisthebest.com/images/xmpp-vs-matrix.jpg;;servers=>https://tilde.wiki/wiki/User:Ben/Servers"
+python.completion.replace_values = "shrug=>¯\_(ツ)_/¯;;wiki=>https://tilde.team/wiki/;;sword=>o()xxxx[{::::::::::::::::::::::::::::::::::>;;lenny=>( ͡° ͜ʖ ͡°);;byobu=>https://superuser.com/a/423397/866501;;fg=>(☞゚ヮ゚)☞;;huh=>(-_-)ゞ゛;;tablefix=>┬─┬ノ( º _ ºノ);;weedoc=>https://weechat.org/files/doc/stable/weechat_user.en.html;;weekeys=>https://weechat.org/files/doc/stable/weechat_user.en.html#key_bindings;;denko=>(´・ω・`);;yuno=>ლ(́ಠ◞益◟ಠ‵ლ);;tf=>(ノಥ益ಥ)ノ彡┻━┻;;tb=>┬─┬ノ( º _ ºノ);;ducc=>・゜゜・。。・゜゜\_o< QUACK!;;wat=>https://bhh.sh/wat.jpg;;matrix=>https://www.moparisthebest.com/images/xmpp-vs-matrix.jpg;;servers=>https://tilde.wiki/wiki/User:Ben/Servers;;nft=>https://youtu.be/YQ_xWvX1n9g"
 python.go.auto_jump = "off"
 python.go.buffer_number = "on"
 python.go.color_name = "black,cyan"
diff --git a/weechat/.weechat/python/autojoinem.py b/weechat/.weechat/python/autojoinem.py
deleted file mode 100644
index a32eb2e..0000000
--- a/weechat/.weechat/python/autojoinem.py
+++ /dev/null
@@ -1,401 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# Copyright (c) 2013-2020 by nils_2 <weechatter@arcor.de>
-#
-# add/del channel(s) to/from autojoin option
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-# idea by azizLIGHTS
-#
-# 2020-10-20: nils_2, (freenode.#weechat)
-#       0.7 : fix problem with empty fields (reported by MutantMummy: https://github.com/weechat/scripts/issues/438)
-# 2017-01-06: nils_2, (freenode.#weechat)
-#       0.6 : fix problem with non existing server (reported by Niols)
-# 2016-12-19: nils_2, (freenode.#weechat)
-#       0.5 : fix problem with empty autojoin (reported by Caelum)
-# 2016-06-05: nils_2, (freenode.#weechat)
-#       0.4 : make script python3 compatible
-# 2015-11-14: nils_2, (freenode.#weechat)
-#       0.3 : fix: problem with (undef) option
-# 2014-01-19: nils_2, (freenode.#weechat)
-#       0.2 : fix: adding keys to already existing keys failed
-# 2013-12-22: nils_2, (freenode.#weechat)
-#       0.1 : initial release
-#
-# requires: WeeChat version 0.3.x
-#
-# Development is currently hosted at
-# https://github.com/weechatter/weechat-scripts
-
-try:
-    import weechat,re
-
-except Exception:
-    print("This script must be run under WeeChat.")
-    print("Get WeeChat now at: http://www.weechat.org/")
-    quit()
-
-SCRIPT_NAME     = "autojoinem"
-SCRIPT_AUTHOR   = "nils_2 <weechatter@arcor.de>"
-SCRIPT_VERSION  = "0.7"
-SCRIPT_LICENSE  = "GPL"
-SCRIPT_DESC     = "add/del channel(s) to/from autojoin option"
-
-OPTIONS         = { 'sorted'        : ('off','channels will be sorted in autojoin-option. if autojoin-option contains channel-keys, this option will be ignored.'),
-                  }
-
-def add_autojoin_cmd_cb(data, buffer, args):
-    if args == "":                                                                              # no args given. quit
-        return weechat.WEECHAT_RC_OK
-
-    argv = args.strip().split(' ')
-
-    # remove empty fields
-    argv2 = [feld for feld in argv if feld != '']
-    argv = argv2
-
-#    if (len(argv) <= 1):
-#        weechat.prnt(buffer,"%s%s: too few arguments." % (weechat.prefix('error'),SCRIPT_NAME))
-#        return weechat.WEECHAT_RC_OK
-
-    server = weechat.buffer_get_string(buffer, 'localvar_server')                               # current server
-    channel = weechat.buffer_get_string(buffer, 'localvar_channel')                             # current channel
-    buf_type = weechat.buffer_get_string(buffer, 'localvar_type')
-
-    # only "add <servername>" given by user
-    if (len(argv) == 2):
-        weechat.prnt(buffer,"%s%s: invalid number of arguments." % (weechat.prefix('error'),SCRIPT_NAME))
-        return weechat.WEECHAT_RC_OK
-
-    # '-key' keyword in command line?
-    if '-key' in argv:
-        found_key_word = argv.index('-key')
-        key_words = argv[int(found_key_word)+1:]
-        # don't use "-key" in argv
-        argv = argv[:int(found_key_word)]
-
-    # ADD argument
-    if (argv[0].lower() == 'add'):
-        # add current channel to autojoin. Only option "add" was given..
-        if (len(argv) == 1):
-            if server == "" or channel == "" or server == channel or buf_type == "" or buf_type != 'channel':
-                weechat.prnt(buffer,"%s%s: current buffer is not a channel buffer." % (weechat.prefix('error'),SCRIPT_NAME))
-                return weechat.WEECHAT_RC_OK
-            list_of_channels, list_of_current_keys = get_autojoin_list(buffer,server)
-            # no channels in option!
-            if list_of_channels == 1 and list_of_current_keys == 1:
-                ptr_config_autojoin = weechat.config_get('irc.server.%s.autojoin' % server)
-                rc = weechat.config_option_set(ptr_config_autojoin,channel,1)
-                return weechat.WEECHAT_RC_OK
-            if channel in list_of_channels:
-                weechat.prnt(buffer,"%s%s: channel '%s' already in autojoin for server '%s'" % (weechat.prefix("error"),SCRIPT_NAME,channel,server))
-            else:
-                # first char of channel '#' ?
-                if channel[0] == '#':
-                    if '-key' in args and len(key_words) > 1:
-                        weechat.prnt(buffer,"%s%s: too many key(s) for given channel(s) " % (weechat.prefix('error'),SCRIPT_NAME))
-                        return weechat.WEECHAT_RC_OK
-                    elif '-key' in args and len(key_words) == 1:
-                        list_of_channels.insert(0,channel)
-                        list_of_current_keys = ','.join(key_words)
-                        # strip leading ','
-                        if list_of_current_keys[0] == ',':
-                            list_of_current_keys = list_of_current_keys.lstrip(',')
-                    else:
-                        list_of_channels.append(channel)
-
-                    if not set_autojoin_list(server,list_of_channels, list_of_current_keys):
-                        weechat.prnt(buffer,"%s%s: set new value for option failed..." % (weechat.prefix('error'),SCRIPT_NAME))
-        # server and channels given by user
-        elif (len(argv) >= 3):
-            server = argv[1]
-            list_of_channels = argv[2:]
-            if '-key' in args and len(list_of_channels) < len(key_words):
-                weechat.prnt(buffer,"%s%s: too many key(s) for given channel(s) " % (weechat.prefix('error'),SCRIPT_NAME))
-                return weechat.WEECHAT_RC_OK
-
-            list_of_current_channels,list_of_current_keys = get_autojoin_list(buffer,server)
-            # autojoin option is empty
-            if list_of_current_channels == 1:
-                # no channel -> no key!
-                list_of_current_keys = ""
-                if '-key' in args:
-                    list_of_current_keys = ','.join(key_words)
-                    # strip leading ','
-                    if list_of_current_keys[0] == ',':
-                        list_of_current_keys = list_of_current_keys.lstrip(',')
-                if not set_autojoin_list(server,list_of_channels, list_of_current_keys):
-                    weechat.prnt(buffer,"%s%s: set new value for option failed..." % (weechat.prefix('error'),SCRIPT_NAME))
-            else:
-                if '-key' in args:
-                    j = 0
-                    new_keys = []
-                    list_of_new_keys = []
-                    for i in list_of_channels:
-                        if i not in list_of_current_channels and j <= len(key_words):
-#                            weechat.prnt(buffer,"channel: %s, channel key is: '%s'" % (i,key_words[j]))
-                            list_of_current_channels.insert(j,i)
-                            new_keys.insert(j,key_words[j])
-                        j += 1
-                    missing_channels = list_of_current_channels
-                    list_of_new_keys = ','.join(new_keys)
-                    if list_of_current_keys:
-                        list_of_current_keys = list_of_new_keys + ',' + list_of_current_keys
-                    else:
-                        list_of_current_keys = list_of_new_keys
-                    # strip leading ','
-                    if list_of_current_keys[0] == ',':
-                        list_of_current_keys = list_of_current_keys.lstrip(',')
-                else:
-                    # check given channels with channels already set in option
-                    missing_channels = get_difference(list_of_channels,list_of_current_channels)
-                    missing_channels = list_of_current_channels + missing_channels
-
-                if not set_autojoin_list(server,missing_channels, list_of_current_keys):
-                    weechat.prnt(buffer,"%s%s: set new value for option failed..." % (weechat.prefix('error'),SCRIPT_NAME))
-        return weechat.WEECHAT_RC_OK
-
-    # DEL argument
-    if (argv[0].lower() == 'del'):
-        # del current channel from autojoin. Only option "del" was given..
-        if (len(argv) == 1):
-            if server == "" or channel == "" or server == channel or buf_type == "" or buf_type != 'channel':
-                weechat.prnt(buffer,"%s%s: current buffer is not a channel buffer." % (weechat.prefix('error'),SCRIPT_NAME))
-                return weechat.WEECHAT_RC_OK
-            list_of_channels, list_of_keys = get_autojoin_list(buffer,server)
-            # no channels in option, nothing to delete
-            if list_of_channels == 1 and list_of_current_keys == 1:
-                return weechat.WEECHAT_RC_OK
-            if channel not in list_of_channels:
-                weechat.prnt(buffer,"%s%s: channel '%s' not found in autojoin for server '%s'" % (weechat.prefix("error"),SCRIPT_NAME,channel,server))
-                return weechat.WEECHAT_RC_OK
-            else:
-                # first char of channel '#' ?
-                if channel[0] == '#':
-                    channel_key_index = list_of_channels.index(channel)
-                    if not list_of_keys:
-                        list_of_channels.remove(list_of_channels[channel_key_index])
-                        list_of_current_keys = ''
-                    else:
-                        list_of_keys_tup = list_of_keys.split(",")
-                        list_of_current_keys = list_of_keys
-                        # channel does not have a key (position of channel > number of keys!)
-                        if channel_key_index + 1 > len(list_of_keys_tup):
-                            list_of_channels.remove(list_of_channels[channel_key_index])
-                        # remove channel and key from autjoin option
-                        else:
-                            list_of_channels.remove(list_of_channels[channel_key_index])
-                            list_of_keys_tup.remove(list_of_keys_tup[channel_key_index])
-                            # does a key exists, after removing?
-                            if len(list_of_keys_tup) > 0:
-                                list_of_current_keys = ','.join(list_of_keys_tup)
-                                # strip leading ','
-                                if list_of_current_keys[0] == ',':
-                                    list_of_current_keys = list_of_current_keys.lstrip(',')
-                            else:   # all keys deleted
-                                list_of_current_keys = ''
-
-                    # unset option if everything is gone.
-                    if not list_of_channels and not list_of_current_keys:
-                        ptr_config_autojoin = weechat.config_get('irc.server.%s.autojoin' % server)
-                        if ptr_config_autojoin:
-                            rc = weechat.config_option_unset(ptr_config_autojoin)
-                        return weechat.WEECHAT_RC_OK
-                    
-                    if not set_autojoin_list(server,list_of_channels, list_of_current_keys):
-                        weechat.prnt(buffer,"%s%s: set new value for option failed..." % (weechat.prefix('error'),SCRIPT_NAME))
-
-        # server and channels given by user
-        elif (len(argv) >= 3):
-            server = argv[1]
-            list_of_current_channels,list_of_current_keys = get_autojoin_list(buffer,server)
-
-            # autojoin option is empty
-            if list_of_current_channels == 1:
-                weechat.prnt(buffer,"%s%s: nothing to delete..." % (weechat.prefix('error'),SCRIPT_NAME))
-                return weechat.WEECHAT_RC_OK
-            else:
-                list_of_channels = args.split(" ")[2:]
-                if list_of_current_keys:
-                    list_of_current_keys_tup = list_of_current_keys.split(",")
-                else:
-                    list_of_current_keys_tup = ''
-
-                for i in list_of_channels:
-                    # check if given channel is in list of options
-                    if not i in list_of_current_channels:
-                        continue
-                    channel_key_index = list_of_current_channels.index(i)
-                    # channel does not have a key (position of channel > number of keys!)
-                    if channel_key_index + 1 > len(list_of_current_keys_tup):
-                        list_of_current_channels.remove(i)
-#                        if len(list_of_current_channels) <= 0:
-#                            list_of_current_channels = ''
-                    else: # remove channel and key from autjoin option
-                        list_of_current_channels.remove(i)
-                        list_of_current_keys_tup.remove(list_of_current_keys_tup[channel_key_index])
-                        # does an key exists, after removing?
-                        if len(list_of_current_keys_tup) > 0:
-                            list_of_current_keys = ','.join(list_of_current_keys_tup)
-                            # strip leading ','
-                            if list_of_current_keys[0] == ',':
-                                list_of_current_keys = list_of_current_keys.lstrip(',')
-                        else:   # all keys deleted
-                            list_of_current_keys = ''
-
-#                for j in list_of_current_channels:
-#                    weechat.prnt(buffer,"chan:%s" % j)
-#                for j in list_of_current_keys_tup:
-#                    weechat.prnt(buffer,"key :%s" % j)
-
-                # unset option if everything is gone.
-                if not list_of_current_channels and not list_of_current_keys:
-                    ptr_config_autojoin = weechat.config_get('irc.server.%s.autojoin' % server)
-                    if ptr_config_autojoin:
-                        rc = weechat.config_option_unset(ptr_config_autojoin)
-                    return weechat.WEECHAT_RC_OK
-
-                if not set_autojoin_list(server,list_of_current_channels, list_of_current_keys):
-                    weechat.prnt(buffer,"%s%s: set new value for option failed..." % (weechat.prefix('error'),SCRIPT_NAME))
-
-    return weechat.WEECHAT_RC_OK
-
-def get_difference(list1, list2):
-    return list(set(list1).difference(set(list2)))
-
-# returns a list of channels and a list of keys
-# 1 = something failed, 0 = channel found
-def get_autojoin_list(buffer,server):
-    ptr_config_autojoin = weechat.config_get('irc.server.%s.autojoin' % server)
-    # option not found! server does not exist
-    if not ptr_config_autojoin:
-        weechat.prnt("","%s%s: server '%s' does not exist." % (weechat.prefix('error'),SCRIPT_NAME,server))
-        return 1,1
-
-    # get value from autojoin option
-    channels = weechat.config_string(ptr_config_autojoin)
-    if not channels:
-        return 1,1
-
-    # check for keys
-    if len(re.findall(r" ", channels)) == 0:
-        list_of_channels = channels.split(",")
-        list_of_keys = []
-    elif len(re.findall(r" ", channels)) == 1:
-        list_of_channels2,list_of_keys = channels.split(" ")
-        list_of_channels = list_of_channels2.split(",")
-    else:
-        weechat.prnt("","%s%s: irc.server.%s.autojoin not valid..." % (weechat.prefix('error'),SCRIPT_NAME,server))
-        return 1,1
-
-    return list_of_channels, list_of_keys
-
-def set_autojoin_list(server,list_of_channels, list_of_keys):
-    ptr_config_autojoin = weechat.config_get('irc.server.%s.autojoin' % server)
-    if not ptr_config_autojoin:
-        return 0
-
-    if OPTIONS['sorted'].lower() == 'on' and not list_of_keys:
-        # no keys, sort the channel-list
-        channels = '%s' % ','.join(sorted(list_of_channels))
-    else:
-        # don't sort channel-list with given key
-        channels = '%s' % ','.join(list_of_channels)
-
-    # strip leading ','
-    if channels[0] == ',':
-        channels = channels.lstrip(',')
-
-    # add keys to list of channels
-    if list_of_keys:
-        channels = '%s %s' % (channels,list_of_keys)
-
-    rc = weechat.config_option_set(ptr_config_autojoin,channels,1)
-    if not rc:
-        return 0
-    return 1
-
-def autojoinem_completion_cb(data, completion_item, buffer, completion):
-#    server = weechat.buffer_get_string(buffer, 'localvar_server')                               # current buffer
-    input_line = weechat.buffer_get_string(buffer, 'input')
-
-    # get information out of the input_line
-    argv = input_line.strip().split(" ",3)
-    if (len(argv) >= 3 and argv[1] == 'del'):
-        server = argv[2]
-
-    list_of_channels,list_of_keys = get_autojoin_list(buffer,server)
-    if list_of_channels == 1:
-        return weechat.WEECHAT_RC_OK
-
-    if (len(argv) >= 4 and argv[1] == 'del'):
-        list_of_current_channels = argv[3].split(' ')
-        missing_channels = get_difference(list_of_channels,list_of_current_channels)
-        if not missing_channels:
-            return weechat.WEECHAT_RC_OK
-        list_of_channels = missing_channels
-
-    for i, elem in enumerate(list_of_channels):
-        weechat.hook_completion_list_add(completion, list_of_channels[i], 0, weechat.WEECHAT_LIST_POS_END)
-    return weechat.WEECHAT_RC_OK
-# ================================[ weechat options & description ]===============================
-def init_options():
-    for option,value in OPTIONS.items():
-        weechat.config_set_desc_plugin(option, '%s (default: "%s")' % (value[1], value[0]))
-        if not weechat.config_is_set_plugin(option):
-            weechat.config_set_plugin(option, value[0])
-            OPTIONS[option] = value[0]
-        else:
-            OPTIONS[option] = weechat.config_get_plugin(option)
-
-def toggle_refresh(pointer, name, value):
-    global OPTIONS
-    option = name[len('plugins.var.python.' + SCRIPT_NAME + '.'):]        # get optionname
-    OPTIONS[option] = value                                               # save new value
-    return weechat.WEECHAT_RC_OK
-# ================================[ main ]===============================
-if __name__ == "__main__":
-    if weechat.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION, SCRIPT_LICENSE, SCRIPT_DESC, '', ''):
-        version = weechat.info_get("version_number", "") or 0
-        weechat.hook_command(SCRIPT_NAME,SCRIPT_DESC,
-                             'add <server> [<channel1>[ <channel2>...]] | [-key <channelkey> [<channelkey>...]] ||'
-                             'del <server> [<channel1>[ <channel2>...]]',
-                             'add <server> <channel>: add channel to irc.server.<servername>.autojoin\n'
-                             '     -key <channelkey>: name of channelkey\n'
-                             'del <server> <channel>: del channel from irc.server.<servername>.autojoin\n'
-                             '\n'
-                             'Examples:\n'
-                             ' add current channel to corresponding server option:\n'
-                             '  /' + SCRIPT_NAME + ' add\n'
-                             ' add all channels from all server to corresponding server option:\n'
-                             '  /allchan /' + SCRIPT_NAME + ' add\n'
-                             ' add channel #weechat to autojoin option on server freenode:\n'
-                             '  /' + SCRIPT_NAME + ' add freenode #weechat\n'
-                             ' add channel #weechat and #weechat-de to autojoin option on server freenode, with channel key for channel #weechat:\n'
-                             '  /' + SCRIPT_NAME + ' add freenode #weechat #weechat-de -key my_channel_key\n'
-                             ' del channels #weechat and #weechat-de from autojoin option on server freenode:\n'
-                             '  /' + SCRIPT_NAME + ' del freenode #weechat #weechat-de',
-                             'add %(irc_servers) %(irc_server_channels)|%*||'
-                             'del %(irc_servers) %(plugin_autojoinem)|%*',
-                             'add_autojoin_cmd_cb', '')
-
-        init_options()
-        weechat.hook_completion('plugin_autojoinem', 'autojoin_completion', 'autojoinem_completion_cb', '')
-        weechat.hook_config('plugins.var.python.' + SCRIPT_NAME + '.*', 'toggle_refresh', '')
-
-#        if int(version) >= 0x00030600:
-#        else:
-#            weechat.prnt("","%s%s %s" % (weechat.prefix("error"),SCRIPT_NAME,": needs version 0.3.6 or higher"))
-#            weechat.command("","/wait 1ms /python unload %s" % SCRIPT_NAME)
diff --git a/weechat/.weechat/python/autoload/autojoinem.py b/weechat/.weechat/python/autoload/autojoinem.py
deleted file mode 120000
index 26c508c..0000000
--- a/weechat/.weechat/python/autoload/autojoinem.py
+++ /dev/null
@@ -1 +0,0 @@
-../autojoinem.py
\ No newline at end of file
diff --git a/weechat/.weechat/python/autoload/weestats.py b/weechat/.weechat/python/autoload/weestats.py
new file mode 120000
index 0000000..203f3ad
--- /dev/null
+++ b/weechat/.weechat/python/autoload/weestats.py
@@ -0,0 +1 @@
+../weestats.py
\ No newline at end of file
diff --git a/weechat/.weechat/python/weestats.py b/weechat/.weechat/python/weestats.py
new file mode 100644
index 0000000..ab21135
--- /dev/null
+++ b/weechat/.weechat/python/weestats.py
@@ -0,0 +1,156 @@
+# -*- coding: utf-8 -*-
+#
+# weestats.py, version 0.2 for WeeChat version 0.3
+# Latest development version: https://github.com/FiXato/weechat_scripts
+#
+# Inserts some statistics into your input field about the buffers/windows
+#  you have open.
+# Example: 151 buffers (46 merged): 135 channels, 9 servers, 3 queries,
+#  1 script, 1 python, 1 perl, 1 core; 3 windows
+#
+## History:
+#
+### 2012-03-29: FiXato:
+# * version 0.1: initial release.
+#     * Display a count of all the different buffers you have open.
+#     * Display a count of all the open windows.
+# * version 0.2: Getting the splits.
+#     * Displays the how many vertical and horizontal windows.
+#       (not quite sure if my approximation is correct though..)
+#     * Fixed possible memleak (forgot to free an infolist)
+### 2015-05-02: arza:
+# * version 0.3:
+#     * handle non-#-channels
+#     * numerical sort for buffer info
+#     * moved window split info to option -split
+#     * simplified the output
+### 2019-07-05: Sébastien Helleu:
+# * version 0.4:
+#     * make script compatible with Python 3
+#
+## Acknowledgements:
+# * Sebastien "Flashcode" Helleu, for developing the kick-ass chat/IRC
+#    client WeeChat
+#
+## TODO:
+#   - Add more statistics, such as:
+#     - average and total history lines.
+#     - average and total topic/title lengths
+#     - how many are displayed in a window
+#
+## Copyright (c) 2012 Filip H.F. "FiXato" Slagter,
+#   <FiXato+WeeChat [at] Gmail [dot] com>
+#   https://google.com/profiles/FiXato
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be
+# included in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+
+from __future__ import print_function
+
+SCRIPT_NAME     = "weestats"
+SCRIPT_AUTHOR   = "Filip H.F. 'FiXato' Slagter <fixato [at] gmail [dot] com>"
+SCRIPT_VERSION  = "0.4"
+SCRIPT_LICENSE  = "MIT"
+SCRIPT_DESC     = "Useless statistics about your open buffers and windows"
+SCRIPT_COMMAND  = "weestats"
+SCRIPT_CLOSE_CB = "close_cb"
+
+import_ok = True
+
+try:
+  import weechat as w
+except ImportError:
+  print("This script must be run under WeeChat.")
+  import_ok = False
+
+def close_cb(*kwargs):
+  return w.WEECHAT_RC_OK
+
+def command_main(data, buffer, args):
+  infolist = w.infolist_get("buffer", "", "")
+  buffer_groups = {}
+  results = []
+  buffer_count = 0
+  merge_count = 0
+  numbers = set()
+  while w.infolist_next(infolist):
+    bplugin = w.infolist_string(infolist, "plugin_name")
+    bname = w.infolist_string(infolist, "name")
+    bpointer = w.infolist_pointer(infolist, "pointer")
+    bnumber = w.infolist_integer(infolist, "number")
+    btype = w.buffer_get_string(bpointer, 'localvar_type')
+    if not bnumber in numbers:
+      numbers.add(bnumber)
+    else:
+      merge_count += 1
+
+    if btype == 'server':
+      bdesc = 'servers'
+    elif btype == 'channel':
+      bdesc = 'channels'
+    elif btype == 'private':
+      bdesc = 'queries'
+    else:
+      bdesc = bplugin
+
+    buffer_groups.setdefault(bdesc,[]).append({'name': bname, 'pointer': bpointer})
+
+  w.infolist_free(infolist)
+
+  infolist = w.infolist_get("window", "", "")
+  windows_v = set()
+  windows_h = set()
+  windows = set()
+  while w.infolist_next(infolist):
+    window = w.infolist_pointer(infolist, "pointer")
+    window_w = w.infolist_integer(infolist, "width_pct")
+    window_h = w.infolist_integer(infolist, "height_pct")
+    windows.add(window)
+    if window_h == 100 and window_w != 100:
+      windows_v.add(window)
+    elif window_w == 100 and window_h != 100:
+      windows_h.add(window)
+    #else: #both 100%, thus no splits
+  w.infolist_free(infolist)
+
+  window_count = len(windows)
+
+  for desc, buffers in buffer_groups.items():
+    buffer_count += len(buffers)
+    results.append('%i %s' % (len(buffers), desc))
+
+  buffer_stats = ', '.join(sorted(results, key = lambda item: (int(item.partition(' ')[0]) if item[0].isdigit() else float('inf'), item),reverse=True)) # descending numerical sort of strings
+  stats_string = '%i buffers (%i merged): %s; %i windows' % (buffer_count, merge_count, buffer_stats, window_count)
+  if '-split' in args:
+    stats_string += ": %i vertically / %i horizontally split" % (len(windows_v), len(windows_h))
+  w.command("", "/input insert %s" % stats_string)
+  return w.WEECHAT_RC_OK
+
+if __name__ == "__main__" and import_ok:
+  if w.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION,
+                      SCRIPT_LICENSE, SCRIPT_DESC, SCRIPT_CLOSE_CB, ""):
+
+    w.hook_command(SCRIPT_COMMAND,
+                          SCRIPT_DESC,
+                          "-split",
+                          "Inserts useless statistics about your open buffers and windows into your input line.\n"
+                          "-split: Include information about window splits.",
+                          "-split",
+                          "command_main", "")
diff --git a/weechat/.weechat/relay.conf b/weechat/.weechat/relay.conf
index c44c952..c80263c 100644
--- a/weechat/.weechat/relay.conf
+++ b/weechat/.weechat/relay.conf
@@ -30,7 +30,7 @@ allowed_ips = ""
 auth_timeout = 60
 bind_address = ""
 clients_purge_delay = 0
-compression_level = 6
+compression = 20
 ipv6 = on
 max_clients = 5
 nonce_size = 16
@@ -55,7 +55,6 @@ backlog_time_format = "[%H:%M] "
 commands = ""
 
 [port]
-ipv4.irc = 6666
 
 [path]
 unix.weechat = "%h/relay_socket"
diff --git a/weechat/.weechat/trigger.conf b/weechat/.weechat/trigger.conf
index b07e4ee..1a30c24 100644
--- a/weechat/.weechat/trigger.conf
+++ b/weechat/.weechat/trigger.conf
@@ -25,22 +25,6 @@ trigger = green
 trigger_disabled = red
 
 [trigger]
-autojoin.arguments = "*,irc_in_join"
-autojoin.command = "/autojoinem add ${server} ${channel};/mute save"
-autojoin.conditions = ""
-autojoin.enabled = on
-autojoin.hook = signal
-autojoin.post_action = none
-autojoin.regex = ""
-autojoin.return_code = ok
-autopart.arguments = "*,irc_in_part"
-autopart.command = "/autojoinem del ${server} ${channel};/mute save"
-autopart.conditions = ""
-autopart.enabled = on
-autopart.hook = signal
-autopart.post_action = none
-autopart.regex = ""
-autopart.return_code = ok
 beep.arguments = ""
 beep.command = "/print -beep"
 beep.conditions = "${tg_highlight} || ${tg_msg_pv}"
@@ -55,8 +39,16 @@ cmd_pass.conditions = ""
 cmd_pass.enabled = on
 cmd_pass.hook = modifier
 cmd_pass.post_action = none
-cmd_pass.regex = "==^((/(msg|m|quote) +nickserv +(id|identify|register|ghost +[^ ]+|release +[^ ]+|regain +[^ ]+) +)|/oper +[^ ]+ +|/quote +pass +|/set +[^ ]*password[^ ]* +|/secure +(passphrase|decrypt|set +[^ ]+) +)(.*)==${re:1}${hide:*,${re:+}}"
+cmd_pass.regex = "==^((/(msg|m|quote) +(-server +[^ ]+ +)?nickserv +(id|identify|set +password|ghost +[^ ]+|release +[^ ]+|regain +[^ ]+|recover +[^ ]+|setpass +[^ ]+) +)|/oper +[^ ]+ +|/quote +pass +|/secure +(passphrase|decrypt|set +[^ ]+) +)(.*)==${re:1}${hide:*,${re:+}}"
 cmd_pass.return_code = ok
+cmd_pass_register.arguments = "5000|input_text_display;5000|history_add;5000|irc_command_auth"
+cmd_pass_register.command = ""
+cmd_pass_register.conditions = ""
+cmd_pass_register.enabled = on
+cmd_pass_register.hook = modifier
+cmd_pass_register.post_action = none
+cmd_pass_register.regex = "==^(/(msg|m|quote) +(-server +[^ ]+ +)?nickserv +register +)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}"
+cmd_pass_register.return_code = ok
 greentext.arguments = "weechat_print"
 greentext.command = ""
 greentext.conditions = "${tg_message_nocolor} =~ ^>[^:._]"
diff --git a/weechat/.weechat/weechat.conf b/weechat/.weechat/weechat.conf
index 498e243..b3baefb 100644
--- a/weechat/.weechat/weechat.conf
+++ b/weechat/.weechat/weechat.conf
@@ -243,7 +243,6 @@ proxy_curl = ""
 
 [plugin]
 autoload = "*"
-debug = off
 extension = ".so,.dll"
 path = "%h/plugins"
 save_config_on_unload = on
@@ -371,6 +370,7 @@ default.window = "3;1;0;0;core;weechat"
 default.current = on
 
 [notify]
+irc.server.liberta.casa = highlight
 irc.server.pisslocal = none
 irc.server.tilde = highlight
 perl.highmon = none