diff --git a/weechat/.weechat/alias.conf b/weechat/.weechat/alias.conf
index 3d1626a..ee1e0f2 100644
--- a/weechat/.weechat/alias.conf
+++ b/weechat/.weechat/alias.conf
@@ -6,49 +6,50 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
+config_version = 2
+
[cmd]
alis = "/msg alis list $*"
bc = "/exec -sh -o echo "$*" | bc"
-BEEP = "print -beep"
-BYE = "quit"
-C = "buffer close"
-CHAT = "dcc chat"
-CL = "buffer clear"
-CLOSE = "buffer close"
+beep = "print -beep"
+bye = "quit"
+c = "buffer close"
+chat = "dcc chat"
+cl = "buffer clear"
+close = "buffer close"
cso = "cs op $channel"
emoji = "exec -o python3 -c "print(__import__(\"emoji\").emojize(\"$*\", use_aliases=True))""
factor = "/exec -sh -o factor $1 | cut -d" " -f 2,3 | tr " " ",""
-IG = "ignore"
-J = "join"
-K = "kick"
-KB = "kickban"
-LEAVE = "part"
-lenny = "/msg $channel ( ͡° ͜ʖ ͡°)"
-M = "msg"
-MSGBUF = "command -buffer $1 * /input send $2-"
-MUB = "unban *"
-N = "names"
+ig = "ignore"
+j = "join"
+k = "kick"
+kb = "kickban"
+leave = "part"
+m = "msg"
+msgbuf = "command -buffer $1 * /input send $2-"
+mub = "unban *"
+n = "names"
ni = "/ns info =$1;/buffer server.libera"
pbcmd = "/exec -o -sh $* | pb"
py = "/exec -o python3 -c "print($*)""
-Q = "query"
+q = "query"
rainbow = "/exec -o toilet --irc --gay -f term -- $*"
-REDRAW = "window refresh"
-SAY = "msg *"
-SLAP = "me slaps $1 around a bit with a large trout"
-T = "topic"
-UB = "unban"
-UMODE = "mode $nick"
+redraw = "window refresh"
+say = "msg *"
+slap = "me slaps $1 around a bit with a large trout"
+t = "topic"
+ub = "unban"
+umode = "mode $nick"
unscramble = "/exec -sh -o curl -s "http://anagramica.com/best/$*" | jq -r '.best[0]'"
-V = "command core version"
-W = "who"
-WC = "window merge"
-WI = "whois"
-WII = "whois $1 $1"
-WW = "whowas"
+v = "command core version"
+w = "who"
+wc = "window merge"
+wi = "whois"
+wii = "whois $1 $1"
+ww = "whowas"
[completion]
-MSGBUF = "%(buffers_plugins_names)"
+msgbuf = "%(buffers_plugins_names)"
diff --git a/weechat/.weechat/autosort.conf b/weechat/.weechat/autosort.conf
index 32da340..85abbe2 100644
--- a/weechat/.weechat/autosort.conf
+++ b/weechat/.weechat/autosort.conf
@@ -6,7 +6,7 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
[sorting]
diff --git a/weechat/.weechat/buffer_autoset.conf b/weechat/.weechat/buffer_autoset.conf
index 62739a6..f00b61c 100644
--- a/weechat/.weechat/buffer_autoset.conf
+++ b/weechat/.weechat/buffer_autoset.conf
@@ -6,7 +6,7 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
[look]
diff --git a/weechat/.weechat/buflist.conf b/weechat/.weechat/buflist.conf
index 5707640..a1a83f9 100644
--- a/weechat/.weechat/buflist.conf
+++ b/weechat/.weechat/buflist.conf
@@ -6,7 +6,7 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
[look]
diff --git a/weechat/.weechat/charset.conf b/weechat/.weechat/charset.conf
index f9c9d46..0cf83fa 100644
--- a/weechat/.weechat/charset.conf
+++ b/weechat/.weechat/charset.conf
@@ -6,7 +6,7 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
[default]
diff --git a/weechat/.weechat/colorize_nicks.conf b/weechat/.weechat/colorize_nicks.conf
index 6216125..60e27da 100644
--- a/weechat/.weechat/colorize_nicks.conf
+++ b/weechat/.weechat/colorize_nicks.conf
@@ -6,7 +6,7 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
[look]
diff --git a/weechat/.weechat/exec.conf b/weechat/.weechat/exec.conf
index 5d44149..9e387c1 100644
--- a/weechat/.weechat/exec.conf
+++ b/weechat/.weechat/exec.conf
@@ -6,7 +6,7 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
[command]
diff --git a/weechat/.weechat/fifo.conf b/weechat/.weechat/fifo.conf
index ee18e2f..c88a1ef 100644
--- a/weechat/.weechat/fifo.conf
+++ b/weechat/.weechat/fifo.conf
@@ -6,7 +6,7 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
[file]
diff --git a/weechat/.weechat/fset.conf b/weechat/.weechat/fset.conf
index 1b52d85..682eef1 100644
--- a/weechat/.weechat/fset.conf
+++ b/weechat/.weechat/fset.conf
@@ -6,7 +6,7 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
[look]
@@ -20,7 +20,7 @@ scroll_horizontal = 10
show_plugins_desc = off
sort = "~name"
unmarked_string = " "
-use_color_value = off
+use_color_value = on
use_keys = on
use_mute = off
@@ -32,10 +32,14 @@ option1 = ""
option2 = "${marked} ${name} ${type} ${value2}${newline} ${empty_name} ${_default_value}${color:darkgray} -- ${min}..${max}${newline} ${empty_name} ${description}"
[color]
+allowed_values = default
+allowed_values_selected = white
+color_name = 246
+color_name_selected = default
default_value = default
default_value_selected = white
-description = default
-description_selected = white
+description = 242
+description_selected = default
file = default
file_changed = brown
file_changed_selected = yellow
@@ -47,10 +51,10 @@ help_quotes = darkgray
help_values = default
index = cyan
index_selected = lightcyan
-line_marked_bg1 = default
-line_marked_bg2 = default
-line_selected_bg1 = blue
-line_selected_bg2 = red
+line_marked_bg1 = 17
+line_marked_bg2 = 17
+line_selected_bg1 = 24
+line_selected_bg2 = 24
marked = brown
marked_selected = yellow
max = default
@@ -58,7 +62,7 @@ max_selected = white
min = default
min_selected = white
name = default
-name_changed = brown
+name_changed = 185
name_changed_selected = yellow
name_selected = white
option = default
@@ -84,13 +88,13 @@ title_current_option = lightcyan
title_filter = yellow
title_marked_options = lightgreen
title_sort = white
-type = green
-type_selected = lightgreen
+type = 138
+type_selected = 216
unmarked = default
unmarked_selected = white
-value = cyan
-value_changed = brown
+value = 38
+value_changed = 185
value_changed_selected = yellow
-value_selected = lightcyan
+value_selected = 159
value_undef = magenta
value_undef_selected = lightmagenta
diff --git a/weechat/.weechat/irc.conf b/weechat/.weechat/irc.conf
index ba4b372..47d2428 100644
--- a/weechat/.weechat/irc.conf
+++ b/weechat/.weechat/irc.conf
@@ -6,9 +6,11 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
+config_version = 5
+
[look]
buffer_open_before_autojoin = on
buffer_open_before_join = off
@@ -27,23 +29,33 @@ display_ctcp_unknown = on
display_extended_join = on
display_host_join = on
display_host_join_local = on
+display_host_notice = on
display_host_quit = on
+display_host_wallops = on
display_join_message = "329,332,333,366"
display_old_topic = on
display_pv_away_once = on
display_pv_back = on
+display_pv_nick_change = on
display_pv_warning_address = off
highlight_channel = "$nick"
highlight_pv = "$nick"
highlight_server = "$nick"
highlight_tags_restrict = "irc_privmsg,irc_notice"
+ignore_tag_messages = off
item_channel_modes_hide_args = "k"
item_display_server = buffer_plugin
item_nick_modes = on
item_nick_prefix = on
join_auto_add_chantype = off
+list_buffer = on
+list_buffer_format_export = "${name} (${users}): "${topic}""
+list_buffer_scroll_horizontal = 10
+list_buffer_sort = "~name2"
+list_buffer_topic_strip_colors = on
msgbuffer_fallback = current
new_channel_position = none
+new_list_position = none
new_pv_position = none
nick_completion_smart = speakers
nick_mode = both
@@ -54,6 +66,7 @@ notice_welcome_redirect = on
notice_welcome_tags = ""
notify_tags_ison = "notify_message"
notify_tags_whois = "notify_message"
+open_pv_buffer_echo_msg = on
part_closes_buffer = off
pv_buffer = independent
pv_tags = "notify_private"
@@ -68,6 +81,7 @@ smart_filter_join_unmask = 30
smart_filter_mode = "+"
smart_filter_nick = on
smart_filter_quit = on
+smart_filter_setname = on
temporary_servers = off
topic_strip_colors = off
typing_status_nicks = on
@@ -75,26 +89,29 @@ typing_status_self = off
[color]
input_nick = lightcyan
-item_channel_modes = lightcyan
item_lag_counting = default
item_lag_finished = 130
item_nick_modes = lightgreen
item_tls_version_deprecated = yellow
item_tls_version_insecure = red
item_tls_version_ok = green
+list_buffer_line_selected = white
+list_buffer_line_selected_bg = 24
message_account = cyan
message_chghost = brown
message_join = green
message_kick = red
message_quit = red
+message_setname = brown
mirc_remap = "1,-1:darkgray"
-nick_prefixes = "q:lightred;a:lightcyan;o:lightgreen;h:lightmagenta;v:yellow;*:lightblue"
+nick_prefixes = "y:lightred;q:lightred;a:lightcyan;o:lightgreen;h:lightmagenta;v:yellow;*:lightblue"
notice = green
reason_kick = default
-reason_quit = default
+reason_quit = 244
+term_remap = "0,-1:darkgray"
topic_current = default
-topic_new = white
-topic_old = default
+topic_new = 36
+topic_old = 244
[network]
autoreconnect_delay_growing = 2
@@ -105,7 +122,7 @@ colors_send = on
lag_check = 60
lag_max = 1800
lag_min_show = 500
-lag_reconnect = 0
+lag_reconnect = 300
lag_refresh_interval = 1
notify_check_ison = 1
notify_check_whois = 5
@@ -120,13 +137,15 @@ whois = current
pronouns = "he/him"
[ignore]
+ignore = libera;*;^saslserv$
+ignore = libera;#libera-audit;^operserv$
[server_default]
addresses = ""
-anti_flood_prio_high = 2
-anti_flood_prio_low = 2
+anti_flood = 2000
autoconnect = on
autojoin = ""
+autojoin_delay = 0
autojoin_dynamic = on
autoreconnect = on
autoreconnect_delay = 10
@@ -140,7 +159,7 @@ command = ""
command_delay = 0
connection_timeout = 60
default_chantypes = "#&"
-ipv6 = off
+ipv6 = disable
local_hostname = ""
msg_kick = ""
msg_part = "ping me anyways i guess"
@@ -151,6 +170,7 @@ notify = ""
password = ""
proxy = ""
realname = "ben"
+registered_mode = "r"
sasl_fail = continue
sasl_key = ""
sasl_mechanism = plain
@@ -158,13 +178,13 @@ sasl_password = ""
sasl_timeout = 15
sasl_username = ""
split_msg_max_length = 512
-ssl = off
-ssl_cert = "%h/ssl/benharri.pem"
-ssl_dhkey_size = 2048
-ssl_fingerprint = ""
-ssl_password = ""
-ssl_priorities = "NORMAL"
-ssl_verify = on
+tls = off
+tls_cert = "%h/ssl/benharri.pem"
+tls_dhkey_size = 2048
+tls_fingerprint = ""
+tls_password = ""
+tls_priorities = "NORMAL"
+tls_verify = on
usermode = ""
username = "${env:USER}"
@@ -172,13 +192,13 @@ username = "${env:USER}"
tilde.addresses = "tilde.chat/6697"
tilde.proxy
tilde.ipv6
-tilde.ssl = on
-tilde.ssl_cert
-tilde.ssl_password
-tilde.ssl_priorities
-tilde.ssl_dhkey_size
-tilde.ssl_fingerprint
-tilde.ssl_verify
+tilde.tls = on
+tilde.tls_cert
+tilde.tls_password
+tilde.tls_priorities
+tilde.tls_dhkey_size
+tilde.tls_fingerprint
+tilde.tls_verify
tilde.password
tilde.capabilities
tilde.sasl_mechanism
@@ -196,15 +216,15 @@ tilde.username
tilde.realname
tilde.local_hostname
tilde.usermode
+tilde.command_delay
tilde.command = "/msg idlerpg_bot login wowbagger ${sec.data.idlerpgpass}"
-tilde.command_delay = 25
-tilde.autojoin = "#.tilde,#adventofcode,#allhandsactive,#anelki,#ascii.town,#aussie,#binary-counting,#bots,#club,#cosmic,#counting,#covid19,#ctrl-c,#dotnet,#earthward,#espanol,#fr,#gemini,#gopher,#helpdesk,#idlerpg,#linux,#logarion,#math,#meta,#midgard,#minecraft,#netnews,#nsfw,#opers,#rw.rs,#secret-sudoers,#selfhosting,#southlondon,#team,#thunix,#tilde.zone-admin,#tildebot,#tildenet,#tilderadio,#tilderadio-djs,#tildetel,#topm,#town,#vim,#wiki,#xinu,#ZfA,#tilde.green,#tildeverse,#nl"
+tilde.autojoin_delay
+tilde.autojoin = "#opers,#.tilde,#adventofcode,#anelki,#ascii.town,#aussie,#binary-counting,#bots,#club,#cosmic,#counting,#covid19,#fr,#gemini,#gopher,#helpdesk,#idlerpg,#linux,#meta,#midgard,#netnews,#nsfw,#rw.rs,#secret-sudoers,#selfhosting,#team,#tilde.zone-admin,#tildebot,#tilderadio,#tilderadio-djs,#tildetel,#topm,#town,#vim,#wiki,#tilde.green,#tildeverse,#pink,#politics,#tilde.zone,#institute,#ctrl-c,#music,#zine"
tilde.autojoin_dynamic
tilde.autorejoin
tilde.autorejoin_delay
tilde.connection_timeout
-tilde.anti_flood_prio_high
-tilde.anti_flood_prio_low
+tilde.anti_flood
tilde.away_check
tilde.away_check_max_nicks
tilde.msg_kick
@@ -214,16 +234,17 @@ tilde.notify
tilde.split_msg_max_length
tilde.charset_message
tilde.default_chantypes
+tilde.registered_mode
hashbang.addresses = "irc.hashbang.sh/6697"
hashbang.proxy
hashbang.ipv6
-hashbang.ssl = on
-hashbang.ssl_cert
-hashbang.ssl_password
-hashbang.ssl_priorities
-hashbang.ssl_dhkey_size
-hashbang.ssl_fingerprint
-hashbang.ssl_verify
+hashbang.tls = on
+hashbang.tls_cert
+hashbang.tls_password
+hashbang.tls_priorities
+hashbang.tls_dhkey_size
+hashbang.tls_fingerprint
+hashbang.tls_verify
hashbang.password
hashbang.capabilities
hashbang.sasl_mechanism = external
@@ -241,15 +262,15 @@ hashbang.username
hashbang.realname
hashbang.local_hostname
hashbang.usermode
-hashbang.command
hashbang.command_delay
+hashbang.command
+hashbang.autojoin_delay
hashbang.autojoin = "#!,#!opers,#!social"
hashbang.autojoin_dynamic
hashbang.autorejoin
hashbang.autorejoin_delay
hashbang.connection_timeout
-hashbang.anti_flood_prio_high
-hashbang.anti_flood_prio_low
+hashbang.anti_flood
hashbang.away_check
hashbang.away_check_max_nicks
hashbang.msg_kick
@@ -259,16 +280,17 @@ hashbang.notify
hashbang.split_msg_max_length
hashbang.charset_message
hashbang.default_chantypes
+hashbang.registered_mode
town.addresses = "localhost/2345"
town.proxy
town.ipv6
-town.ssl
-town.ssl_cert
-town.ssl_password
-town.ssl_priorities
-town.ssl_dhkey_size
-town.ssl_fingerprint
-town.ssl_verify
+town.tls
+town.tls_cert
+town.tls_password
+town.tls_priorities
+town.tls_dhkey_size
+town.tls_fingerprint
+town.tls_verify
town.password
town.capabilities
town.sasl_mechanism
@@ -286,15 +308,15 @@ town.username = "benharri"
town.realname
town.local_hostname
town.usermode
-town.command
town.command_delay
-town.autojoin = "#admins,#adventofcode,#announcements,#bots,#counting,#tildetown"
+town.command
+town.autojoin_delay
+town.autojoin = "#announcements,#bots,#counting,#tildetown"
town.autojoin_dynamic
town.autorejoin
town.autorejoin_delay
town.connection_timeout
-town.anti_flood_prio_high
-town.anti_flood_prio_low
+town.anti_flood
town.away_check
town.away_check_max_nicks
town.msg_kick
@@ -304,16 +326,17 @@ town.notify
town.split_msg_max_length
town.charset_message
town.default_chantypes
+town.registered_mode
esper.addresses = "irc.esper.net/6697"
esper.proxy
esper.ipv6
-esper.ssl = on
-esper.ssl_cert
-esper.ssl_password
-esper.ssl_priorities
-esper.ssl_dhkey_size
-esper.ssl_fingerprint
-esper.ssl_verify
+esper.tls = on
+esper.tls_cert
+esper.tls_password
+esper.tls_priorities
+esper.tls_dhkey_size
+esper.tls_fingerprint
+esper.tls_verify
esper.password
esper.capabilities
esper.sasl_mechanism
@@ -331,15 +354,15 @@ esper.username = "benharri"
esper.realname
esper.local_hostname
esper.usermode
-esper.command
esper.command_delay
+esper.command
+esper.autojoin_delay
esper.autojoin = "#factorio,#lobby"
esper.autojoin_dynamic
esper.autorejoin
esper.autorejoin_delay
esper.connection_timeout
-esper.anti_flood_prio_high
-esper.anti_flood_prio_low
+esper.anti_flood
esper.away_check
esper.away_check_max_nicks
esper.msg_kick
@@ -349,61 +372,17 @@ esper.notify
esper.split_msg_max_length
esper.charset_message
esper.default_chantypes
-sdf.addresses = "localhost/2346"
-sdf.proxy
-sdf.ipv6
-sdf.ssl
-sdf.ssl_cert
-sdf.ssl_password
-sdf.ssl_priorities
-sdf.ssl_dhkey_size
-sdf.ssl_fingerprint
-sdf.ssl_verify
-sdf.password
-sdf.capabilities
-sdf.sasl_mechanism
-sdf.sasl_username
-sdf.sasl_password
-sdf.sasl_key
-sdf.sasl_timeout
-sdf.sasl_fail
-sdf.autoconnect = on
-sdf.autoreconnect
-sdf.autoreconnect_delay
-sdf.nicks = "benharri"
-sdf.nicks_alternate
-sdf.username = "benharri"
-sdf.realname
-sdf.local_hostname
-sdf.usermode
-sdf.command
-sdf.command_delay
-sdf.autojoin = "#sdf,#spanish"
-sdf.autojoin_dynamic
-sdf.autorejoin
-sdf.autorejoin_delay
-sdf.connection_timeout
-sdf.anti_flood_prio_high
-sdf.anti_flood_prio_low
-sdf.away_check
-sdf.away_check_max_nicks
-sdf.msg_kick
-sdf.msg_part
-sdf.msg_quit
-sdf.notify
-sdf.split_msg_max_length
-sdf.charset_message
-sdf.default_chantypes
+esper.registered_mode
darwin.addresses = "irc.darwin.network/6698"
darwin.proxy
darwin.ipv6
-darwin.ssl = on
-darwin.ssl_cert
-darwin.ssl_password
-darwin.ssl_priorities
-darwin.ssl_dhkey_size
-darwin.ssl_fingerprint
-darwin.ssl_verify
+darwin.tls = on
+darwin.tls_cert
+darwin.tls_password
+darwin.tls_priorities
+darwin.tls_dhkey_size
+darwin.tls_fingerprint
+darwin.tls_verify
darwin.password
darwin.capabilities
darwin.sasl_mechanism = external
@@ -421,15 +400,15 @@ darwin.username
darwin.realname
darwin.local_hostname
darwin.usermode
-darwin.command
darwin.command_delay
+darwin.command
+darwin.autojoin_delay
darwin.autojoin = "#darwin"
darwin.autojoin_dynamic
darwin.autorejoin = on
darwin.autorejoin_delay
darwin.connection_timeout
-darwin.anti_flood_prio_high
-darwin.anti_flood_prio_low
+darwin.anti_flood
darwin.away_check
darwin.away_check_max_nicks
darwin.msg_kick
@@ -439,16 +418,17 @@ darwin.notify
darwin.split_msg_max_length
darwin.charset_message
darwin.default_chantypes
+darwin.registered_mode
oftc.addresses = "irc4.oftc.net/6697"
oftc.proxy
oftc.ipv6
-oftc.ssl = on
-oftc.ssl_cert
-oftc.ssl_password
-oftc.ssl_priorities
-oftc.ssl_dhkey_size
-oftc.ssl_fingerprint
-oftc.ssl_verify
+oftc.tls = on
+oftc.tls_cert
+oftc.tls_password
+oftc.tls_priorities
+oftc.tls_dhkey_size
+oftc.tls_fingerprint
+oftc.tls_verify
oftc.password
oftc.capabilities
oftc.sasl_mechanism
@@ -466,15 +446,15 @@ oftc.username
oftc.realname
oftc.local_hostname
oftc.usermode
-oftc.command
oftc.command_delay
-oftc.autojoin = "#bitlbee,#debian-devel,#debian-www,#fish,#salsa,#tilde.team"
+oftc.command
+oftc.autojoin_delay
+oftc.autojoin = "#bitlbee,#debian-devel,#fish,#salsa,#tilde.team"
oftc.autojoin_dynamic
oftc.autorejoin
oftc.autorejoin_delay
oftc.connection_timeout
-oftc.anti_flood_prio_high
-oftc.anti_flood_prio_low
+oftc.anti_flood
oftc.away_check
oftc.away_check_max_nicks
oftc.msg_kick
@@ -484,16 +464,17 @@ oftc.notify
oftc.split_msg_max_length
oftc.charset_message
oftc.default_chantypes
+oftc.registered_mode
blinkenshell.addresses = "irc.blinkenshell.org/6697"
blinkenshell.proxy
blinkenshell.ipv6
-blinkenshell.ssl = on
-blinkenshell.ssl_cert
-blinkenshell.ssl_password
-blinkenshell.ssl_priorities
-blinkenshell.ssl_dhkey_size
-blinkenshell.ssl_fingerprint
-blinkenshell.ssl_verify
+blinkenshell.tls = on
+blinkenshell.tls_cert
+blinkenshell.tls_password
+blinkenshell.tls_priorities
+blinkenshell.tls_dhkey_size
+blinkenshell.tls_fingerprint
+blinkenshell.tls_verify
blinkenshell.password
blinkenshell.capabilities
blinkenshell.sasl_mechanism
@@ -511,15 +492,15 @@ blinkenshell.username
blinkenshell.realname
blinkenshell.local_hostname
blinkenshell.usermode
-blinkenshell.command
blinkenshell.command_delay
+blinkenshell.command
+blinkenshell.autojoin_delay
blinkenshell.autojoin = "#blinkenshell"
blinkenshell.autojoin_dynamic
blinkenshell.autorejoin
blinkenshell.autorejoin_delay
blinkenshell.connection_timeout
-blinkenshell.anti_flood_prio_high
-blinkenshell.anti_flood_prio_low
+blinkenshell.anti_flood
blinkenshell.away_check
blinkenshell.away_check_max_nicks
blinkenshell.msg_kick
@@ -529,16 +510,17 @@ blinkenshell.notify
blinkenshell.split_msg_max_length
blinkenshell.charset_message
blinkenshell.default_chantypes
+blinkenshell.registered_mode
inspircd.addresses = "irc.inspircd.org"
inspircd.proxy
inspircd.ipv6
-inspircd.ssl
-inspircd.ssl_cert
-inspircd.ssl_password
-inspircd.ssl_priorities
-inspircd.ssl_dhkey_size
-inspircd.ssl_fingerprint
-inspircd.ssl_verify
+inspircd.tls
+inspircd.tls_cert
+inspircd.tls_password
+inspircd.tls_priorities
+inspircd.tls_dhkey_size
+inspircd.tls_fingerprint
+inspircd.tls_verify
inspircd.password
inspircd.capabilities
inspircd.sasl_mechanism
@@ -556,15 +538,15 @@ inspircd.username
inspircd.realname
inspircd.local_hostname
inspircd.usermode
-inspircd.command
inspircd.command_delay
+inspircd.command
+inspircd.autojoin_delay
inspircd.autojoin = "#inspircd"
inspircd.autojoin_dynamic
inspircd.autorejoin
inspircd.autorejoin_delay
inspircd.connection_timeout
-inspircd.anti_flood_prio_high
-inspircd.anti_flood_prio_low
+inspircd.anti_flood
inspircd.away_check
inspircd.away_check_max_nicks
inspircd.msg_kick
@@ -574,16 +556,17 @@ inspircd.notify
inspircd.split_msg_max_length
inspircd.charset_message
inspircd.default_chantypes
+inspircd.registered_mode
slashnet.addresses = "us.slashnet.org"
slashnet.proxy
slashnet.ipv6
-slashnet.ssl
-slashnet.ssl_cert
-slashnet.ssl_password
-slashnet.ssl_priorities
-slashnet.ssl_dhkey_size
-slashnet.ssl_fingerprint
-slashnet.ssl_verify
+slashnet.tls
+slashnet.tls_cert
+slashnet.tls_password
+slashnet.tls_priorities
+slashnet.tls_dhkey_size
+slashnet.tls_fingerprint
+slashnet.tls_verify
slashnet.password
slashnet.capabilities
slashnet.sasl_mechanism
@@ -601,15 +584,15 @@ slashnet.username
slashnet.realname
slashnet.local_hostname
slashnet.usermode
-slashnet.command = "/ns identify ${sec.data.slashnetpass}"
slashnet.command_delay
+slashnet.command = "/ns identify ${sec.data.slashnetpass}"
+slashnet.autojoin_delay
slashnet.autojoin = "#gtlug"
slashnet.autojoin_dynamic
slashnet.autorejoin
slashnet.autorejoin_delay
slashnet.connection_timeout
-slashnet.anti_flood_prio_high
-slashnet.anti_flood_prio_low
+slashnet.anti_flood
slashnet.away_check
slashnet.away_check_max_nicks
slashnet.msg_kick
@@ -619,21 +602,22 @@ slashnet.notify
slashnet.split_msg_max_length
slashnet.charset_message
slashnet.default_chantypes
+slashnet.registered_mode
bitlbee.addresses = "localhost"
bitlbee.proxy
bitlbee.ipv6
-bitlbee.ssl
-bitlbee.ssl_cert
-bitlbee.ssl_password
-bitlbee.ssl_priorities
-bitlbee.ssl_dhkey_size
-bitlbee.ssl_fingerprint
-bitlbee.ssl_verify
+bitlbee.tls
+bitlbee.tls_cert
+bitlbee.tls_password
+bitlbee.tls_priorities
+bitlbee.tls_dhkey_size
+bitlbee.tls_fingerprint
+bitlbee.tls_verify
bitlbee.password
bitlbee.capabilities
bitlbee.sasl_mechanism
-bitlbee.sasl_username = "ben"
-bitlbee.sasl_password = "${sec.data.pass}"
+bitlbee.sasl_username
+bitlbee.sasl_password
bitlbee.sasl_key
bitlbee.sasl_timeout
bitlbee.sasl_fail
@@ -646,15 +630,15 @@ bitlbee.username
bitlbee.realname
bitlbee.local_hostname
bitlbee.usermode
-bitlbee.command
bitlbee.command_delay
+bitlbee.command = "/msg &bitlbee identify ${sec.data.bitlbeepass}"
+bitlbee.autojoin_delay
bitlbee.autojoin
bitlbee.autojoin_dynamic = off
bitlbee.autorejoin
bitlbee.autorejoin_delay
bitlbee.connection_timeout
-bitlbee.anti_flood_prio_high
-bitlbee.anti_flood_prio_low
+bitlbee.anti_flood
bitlbee.away_check
bitlbee.away_check_max_nicks
bitlbee.msg_kick
@@ -664,16 +648,17 @@ bitlbee.notify
bitlbee.split_msg_max_length
bitlbee.charset_message
bitlbee.default_chantypes
+bitlbee.registered_mode
libera.addresses = "irc.us.libera.chat/6697"
libera.proxy
libera.ipv6
-libera.ssl = on
-libera.ssl_cert
-libera.ssl_password
-libera.ssl_priorities
-libera.ssl_dhkey_size
-libera.ssl_fingerprint
-libera.ssl_verify
+libera.tls = on
+libera.tls_cert
+libera.tls_password
+libera.tls_priorities
+libera.tls_dhkey_size
+libera.tls_fingerprint
+libera.tls_verify
libera.password = "ben:${sec.data.liberapass}"
libera.capabilities
libera.sasl_mechanism
@@ -690,15 +675,13 @@ libera.nicks_alternate
libera.username
libera.realname
libera.local_hostname
-libera.usermode = "+w"
-libera.command = "/challenge ${server} ben ${sec.data.challengepass}"
+libera.usermode = "+ws +FZbcdfksuxy"
libera.command_delay
libera.autojoin = "#!,##Ben,##crustaceans,##ircv3-chat,##oodnet,##proxmox,#among-sus,#bitbot,#ergo.chat,#fosshost,#fosshost-volunteers,#gitea,#gopher,#gophernicus,#hetzner,#ircpuzzles,#irctokens,#libera-communities,#libera-dev,#lobsters,#mastodon,#ovh,#sr.ht,#sr.ht.watercooler,#tilde.team,#tildeverse,#weechat,#weechat-android"
libera.autorejoin
libera.autorejoin_delay
libera.connection_timeout
-libera.anti_flood_prio_high = 0
-libera.anti_flood_prio_low = 0
+libera.anti_flood
libera.away_check
libera.away_check_max_nicks
libera.msg_kick
@@ -708,16 +691,17 @@ libera.notify
libera.split_msg_max_length
libera.charset_message
libera.default_chantypes
+libera.registered_mode
ergo.addresses = "irc.ergo.chat/6697"
ergo.proxy
ergo.ipv6
-ergo.ssl = on
-ergo.ssl_cert
-ergo.ssl_password
-ergo.ssl_priorities
-ergo.ssl_dhkey_size
-ergo.ssl_fingerprint
-ergo.ssl_verify
+ergo.tls = on
+ergo.tls_cert
+ergo.tls_password
+ergo.tls_priorities
+ergo.tls_dhkey_size
+ergo.tls_fingerprint
+ergo.tls_verify
ergo.password
ergo.capabilities
ergo.sasl_mechanism = external
@@ -735,15 +719,15 @@ ergo.username
ergo.realname
ergo.local_hostname
ergo.usermode
-ergo.command
ergo.command_delay
+ergo.command
+ergo.autojoin_delay
ergo.autojoin = "#ergo"
ergo.autojoin_dynamic
ergo.autorejoin
ergo.autorejoin_delay
ergo.connection_timeout
-ergo.anti_flood_prio_high
-ergo.anti_flood_prio_low
+ergo.anti_flood
ergo.away_check
ergo.away_check_max_nicks
ergo.msg_kick
@@ -753,61 +737,17 @@ ergo.notify
ergo.split_msg_max_length
ergo.charset_message
ergo.default_chantypes
-pisslocal.addresses = "localhost/6668"
-pisslocal.proxy
-pisslocal.ipv6
-pisslocal.ssl
-pisslocal.ssl_cert
-pisslocal.ssl_password
-pisslocal.ssl_priorities
-pisslocal.ssl_dhkey_size
-pisslocal.ssl_fingerprint
-pisslocal.ssl_verify
-pisslocal.password
-pisslocal.capabilities
-pisslocal.sasl_mechanism
-pisslocal.sasl_username
-pisslocal.sasl_password
-pisslocal.sasl_key
-pisslocal.sasl_timeout
-pisslocal.sasl_fail
-pisslocal.autoconnect
-pisslocal.autoreconnect
-pisslocal.autoreconnect_delay
-pisslocal.nicks
-pisslocal.nicks_alternate
-pisslocal.username
-pisslocal.realname
-pisslocal.local_hostname
-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
-pisslocal.anti_flood_prio_high
-pisslocal.anti_flood_prio_low
-pisslocal.away_check
-pisslocal.away_check_max_nicks
-pisslocal.msg_kick
-pisslocal.msg_part
-pisslocal.msg_quit
-pisslocal.notify
-pisslocal.split_msg_max_length
-pisslocal.charset_message
-pisslocal.default_chantypes
+ergo.registered_mode
snoonet.addresses = "irc.snoonet.org/6697"
snoonet.proxy
snoonet.ipv6
-snoonet.ssl = on
-snoonet.ssl_cert
-snoonet.ssl_password
-snoonet.ssl_priorities
-snoonet.ssl_dhkey_size
-snoonet.ssl_fingerprint
-snoonet.ssl_verify
+snoonet.tls = on
+snoonet.tls_cert
+snoonet.tls_password
+snoonet.tls_priorities
+snoonet.tls_dhkey_size
+snoonet.tls_fingerprint
+snoonet.tls_verify
snoonet.password
snoonet.capabilities
snoonet.sasl_mechanism
@@ -825,15 +765,15 @@ snoonet.username
snoonet.realname
snoonet.local_hostname
snoonet.usermode
-snoonet.command
snoonet.command_delay
-snoonet.autojoin = "#help,#personalfinance,#snoonet"
+snoonet.command
+snoonet.autojoin_delay
+snoonet.autojoin = "#personalfinance"
snoonet.autojoin_dynamic
snoonet.autorejoin
snoonet.autorejoin_delay
snoonet.connection_timeout
-snoonet.anti_flood_prio_high
-snoonet.anti_flood_prio_low
+snoonet.anti_flood
snoonet.away_check
snoonet.away_check_max_nicks
snoonet.msg_kick
@@ -843,61 +783,17 @@ snoonet.notify
snoonet.split_msg_max_length
snoonet.charset_message
snoonet.default_chantypes
-liberta.casa.addresses = "irc.liberta.casa/6697"
-liberta.casa.proxy
-liberta.casa.ipv6
-liberta.casa.ssl = on
-liberta.casa.ssl_cert
-liberta.casa.ssl_password
-liberta.casa.ssl_priorities
-liberta.casa.ssl_dhkey_size
-liberta.casa.ssl_fingerprint
-liberta.casa.ssl_verify
-liberta.casa.password
-liberta.casa.capabilities
-liberta.casa.sasl_mechanism
-liberta.casa.sasl_username = "ben"
-liberta.casa.sasl_password = "${sec.data.libertacasapass}"
-liberta.casa.sasl_key
-liberta.casa.sasl_timeout
-liberta.casa.sasl_fail
-liberta.casa.autoconnect
-liberta.casa.autoreconnect
-liberta.casa.autoreconnect_delay
-liberta.casa.nicks
-liberta.casa.nicks_alternate
-liberta.casa.username
-liberta.casa.realname
-liberta.casa.local_hostname
-liberta.casa.usermode
-liberta.casa.command
-liberta.casa.command_delay
-liberta.casa.autojoin = "#libcasa.info,#mods"
-liberta.casa.autojoin_dynamic
-liberta.casa.autorejoin
-liberta.casa.autorejoin_delay
-liberta.casa.connection_timeout
-liberta.casa.anti_flood_prio_high
-liberta.casa.anti_flood_prio_low
-liberta.casa.away_check
-liberta.casa.away_check_max_nicks
-liberta.casa.msg_kick
-liberta.casa.msg_part
-liberta.casa.msg_quit
-liberta.casa.notify
-liberta.casa.split_msg_max_length
-liberta.casa.charset_message
-liberta.casa.default_chantypes
+snoonet.registered_mode
m455.addresses = "m455.casa/6697"
m455.proxy
m455.ipv6
-m455.ssl = on
-m455.ssl_cert
-m455.ssl_password
-m455.ssl_priorities
-m455.ssl_dhkey_size
-m455.ssl_fingerprint
-m455.ssl_verify
+m455.tls = on
+m455.tls_cert
+m455.tls_password
+m455.tls_priorities
+m455.tls_dhkey_size
+m455.tls_fingerprint
+m455.tls_verify
m455.password
m455.capabilities
m455.sasl_mechanism = external
@@ -915,15 +811,15 @@ m455.username
m455.realname
m455.local_hostname
m455.usermode
-m455.command
m455.command_delay
-m455.autojoin = "#basement,#serverroom,#siliconpals,#tildebot"
+m455.command
+m455.autojoin_delay
+m455.autojoin = "#basement,#serverroom,#siliconpals"
m455.autojoin_dynamic
m455.autorejoin
m455.autorejoin_delay
m455.connection_timeout
-m455.anti_flood_prio_high
-m455.anti_flood_prio_low
+m455.anti_flood
m455.away_check
m455.away_check_max_nicks
m455.msg_kick
@@ -933,3 +829,142 @@ m455.notify
m455.split_msg_max_length
m455.charset_message
m455.default_chantypes
+m455.registered_mode
+hackint.addresses = "irc.hackint.org/6697"
+hackint.proxy
+hackint.ipv6
+hackint.tls = on
+hackint.tls_cert
+hackint.tls_password
+hackint.tls_priorities
+hackint.tls_dhkey_size
+hackint.tls_fingerprint
+hackint.tls_verify
+hackint.password
+hackint.capabilities
+hackint.sasl_mechanism
+hackint.sasl_username = "ben"
+hackint.sasl_password = "${sec.data.hackintpass}"
+hackint.sasl_key
+hackint.sasl_timeout
+hackint.sasl_fail
+hackint.autoconnect
+hackint.autoreconnect
+hackint.autoreconnect_delay
+hackint.nicks
+hackint.nicks_alternate
+hackint.username
+hackint.realname
+hackint.local_hostname
+hackint.usermode
+hackint.command_delay
+hackint.command
+hackint.autojoin_delay
+hackint.autojoin = ""
+hackint.autojoin_dynamic
+hackint.autorejoin
+hackint.autorejoin_delay
+hackint.connection_timeout
+hackint.anti_flood
+hackint.away_check
+hackint.away_check_max_nicks
+hackint.msg_kick
+hackint.msg_part
+hackint.msg_quit
+hackint.notify
+hackint.split_msg_max_length
+hackint.charset_message
+hackint.default_chantypes
+hackint.registered_mode
+syn.addresses = "irc.us.synirc.net/6697"
+syn.proxy
+syn.ipv6
+syn.tls = on
+syn.tls_cert
+syn.tls_password
+syn.tls_priorities
+syn.tls_dhkey_size
+syn.tls_fingerprint
+syn.tls_verify
+syn.password
+syn.capabilities
+syn.sasl_mechanism
+syn.sasl_username = "ben"
+syn.sasl_password = "${sec.data.synpass}"
+syn.sasl_key
+syn.sasl_timeout
+syn.sasl_fail
+syn.autoconnect
+syn.autoreconnect
+syn.autoreconnect_delay
+syn.nicks
+syn.nicks_alternate
+syn.username
+syn.realname
+syn.local_hostname
+syn.usermode
+syn.command_delay
+syn.command
+syn.autojoin_delay
+syn.autojoin = "#nzbfinder"
+syn.autojoin_dynamic
+syn.autorejoin
+syn.autorejoin_delay
+syn.connection_timeout
+syn.anti_flood
+syn.away_check
+syn.away_check_max_nicks
+syn.msg_kick
+syn.msg_part
+syn.msg_quit
+syn.notify
+syn.split_msg_max_length
+syn.charset_message
+syn.default_chantypes
+syn.registered_mode
+efnet.addresses = "irc.efnet.org"
+efnet.proxy
+efnet.ipv6
+efnet.tls
+efnet.tls_cert
+efnet.tls_password
+efnet.tls_priorities
+efnet.tls_dhkey_size
+efnet.tls_fingerprint
+efnet.tls_verify
+efnet.password
+efnet.capabilities
+efnet.sasl_mechanism
+efnet.sasl_username
+efnet.sasl_password
+efnet.sasl_key
+efnet.sasl_timeout
+efnet.sasl_fail
+efnet.autoconnect
+efnet.autoreconnect
+efnet.autoreconnect_delay
+efnet.nicks
+efnet.nicks_alternate
+efnet.username
+efnet.realname
+efnet.local_hostname
+efnet.usermode
+efnet.command_delay
+efnet.command
+efnet.autojoin_delay
+efnet.autojoin = "#pinball,#StarCitizen"
+efnet.autojoin_dynamic
+efnet.autorejoin
+efnet.autorejoin_delay
+efnet.connection_timeout
+efnet.anti_flood
+efnet.away_check
+efnet.away_check_max_nicks
+efnet.msg_kick
+efnet.msg_part
+efnet.msg_quit
+efnet.notify
+efnet.split_msg_max_length
+efnet.charset_message
+efnet.default_chantypes
+efnet.registered_mode
diff --git a/weechat/.weechat/logger.conf b/weechat/.weechat/logger.conf
index 9e04953..0c54514 100644
--- a/weechat/.weechat/logger.conf
+++ b/weechat/.weechat/logger.conf
@@ -6,7 +6,7 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
[look]
@@ -14,8 +14,8 @@ backlog = 2000
backlog_conditions = ""
[color]
-backlog_end = default
-backlog_line = default
+backlog_end = 246
+backlog_line = 246
[file]
auto_log = on
@@ -23,17 +23,20 @@ color_lines = off
flush_delay = 120
fsync = off
info_lines = off
+log_conditions = ""
mask = "$plugin.$name.weechatlog"
name_lower_case = on
nick_prefix = ""
nick_suffix = ""
path = "%h/logs/"
replacement_char = "_"
+rotation_compression_level = 20
+rotation_compression_type = none
+rotation_size_max = "0"
time_format = "%Y-%m-%d %H:%M:%S"
[level]
-core.weechat = 0
+core.weechat = 1
irc = 3
-irc.server.pisslocal = 0
[mask]
diff --git a/weechat/.weechat/perl.conf b/weechat/.weechat/perl.conf
index d19ceec..e9d81e8 100644
--- a/weechat/.weechat/perl.conf
+++ b/weechat/.weechat/perl.conf
@@ -6,7 +6,7 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
[look]
diff --git a/weechat/.weechat/perl/colorize_lines.pl b/weechat/.weechat/perl/colorize_lines.pl
index c03ff4f..cee053c 100644
--- a/weechat/.weechat/perl/colorize_lines.pl
+++ b/weechat/.weechat/perl/colorize_lines.pl
@@ -19,6 +19,7 @@
# along with this program. If not, see .
# history:
+# 4.0.1: fix display of multiline messages
# 4.0: add compatibility with XDG directories (WeeChat >= 3.2)
# 3.9: add compatibility with new weechat_print modifier data (WeeChat >= 2.9)
# 3.8: new option custom_action_text (https://github.com/weechat/scripts/issues/313) (idea by 3v1n0)
@@ -88,7 +89,7 @@
use strict;
my $PRGNAME = "colorize_lines";
-my $VERSION = "4.0";
+my $VERSION = "4.0.1";
my $AUTHOR = "Nils Görs ";
my $LICENCE = "GPL3";
my $DESCR = "Colorize users' text in chat area with their nick color, including highlights";
@@ -172,7 +173,7 @@ sub colorize_cb
my $servername = weechat::buffer_get_string($buf_ptr, "localvar_server");
# find stuff between \t
- $string =~ m/^([^\t]*)\t(.*)/;
+ $string =~ m/^([^\t]*)\t(.*)/s;
my $left = $1;
my $right = $2;
diff --git a/weechat/.weechat/plugins.conf b/weechat/.weechat/plugins.conf
index 254c70e..95f67b0 100644
--- a/weechat/.weechat/plugins.conf
+++ b/weechat/.weechat/plugins.conf
@@ -6,7 +6,7 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
[var]
@@ -61,8 +61,9 @@ python.autosavekey.add = "on"
python.autosavekey.mute = "off"
python.autosavekey.secure = "on"
python.buffer_autoclose.age_limit = "30"
-python.buffer_autoclose.ignore = "bitlbee.maddie"
+python.buffer_autoclose.ignore = "bitlbee.marley"
python.buffer_autoclose.interval = "1"
+python.buffer_autoclose.prefer = ""
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;;nft=>https://youtu.be/YQ_xWvX1n9g"
python.go.auto_jump = "off"
@@ -75,6 +76,7 @@ python.go.color_number = "yellow,magenta"
python.go.color_number_selected = "yellow,red"
python.go.fuzzy_search = "on"
python.go.message = "Go to: "
+python.go.min_chars = "0"
python.go.short_name = "off"
python.go.short_name_server = "off"
python.go.sort = "number,beginning"
@@ -96,7 +98,7 @@ python.listbuffer.users_min_width = "8"
python.screen_away.away_suffix = ""
python.screen_away.command_on_attach = ""
python.screen_away.command_on_detach = ""
-python.screen_away.ignore = ""
+python.screen_away.ignore = "thermite"
python.screen_away.ignore_relays = "on"
python.screen_away.interval = "5"
python.screen_away.message = "detached from byobu"
@@ -198,6 +200,7 @@ python.go.color_number = "color for buffer number (not selected) (default: "yell
python.go.color_number_selected = "color for selected buffer number (default: "yellow,red")"
python.go.fuzzy_search = "search buffer matches using approximation (default: "off")"
python.go.message = "message to display before list of buffers (default: "Go to: ")"
+python.go.min_chars = "Minimum chars to search and display list of matching buffers (default: "0")"
python.go.short_name = "display and search in short names instead of buffer name (default: "off")"
python.go.short_name_server = "prefix short names with server names for search and display (default: "off")"
python.go.sort = "comma-separated list of keys to sort buffers (the order is important, sorts are performed in the given order): name = sort by name (or short name), (default: "number,beginning")"
diff --git a/weechat/.weechat/python.conf b/weechat/.weechat/python.conf
index 24d67cd..5678693 100644
--- a/weechat/.weechat/python.conf
+++ b/weechat/.weechat/python.conf
@@ -6,7 +6,7 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
[look]
diff --git a/weechat/.weechat/python/aformat.py b/weechat/.weechat/python/aformat.py
deleted file mode 100644
index bd8d096..0000000
--- a/weechat/.weechat/python/aformat.py
+++ /dev/null
@@ -1,121 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# Copyright (c) 2016 Hairo R. Carela
-#
-# Everyone is permitted to copy and distribute verbatim or modified
-# copies of this license document, and changing it is allowed as long
-# as the name is changed.
-#
-# DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
-# TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-#
-# 0. You just DO WHAT THE FUCK YOU WANT TO.
-#
-# Alternate way of text formatting, useful for relays without text formatting
-# features (Glowingbear, WeechatAndroid, etc)
-#
-# Usage:
-# /aformat *text* for bold text
-# /aformat /text/ for italic text
-# /aformat _text_ for underlined text
-# /aformat |text| for reversed (black on white) text
-#
-# History:
-# 2016-09-24:
-# v0.1: Initial release
-# 2018-06-19:
-# v0.2: py3k-ok
-#
-# TODO:
-# - Colors support
-
-import sys
-
-try:
- import weechat
- from weechat import WEECHAT_RC_OK
- import_ok = True
-except ImportError:
- print("This script must be run under WeeChat.")
- print("Get WeeChat now at: http://www.weechat.org/")
- import_ok = False
-
-SCRIPT_NAME = "aformat"
-SCRIPT_AUTHOR = "Hairo R. Carela "
-SCRIPT_VERSION = "0.2"
-SCRIPT_LICENSE = "WTFPL"
-SCRIPT_DESC = ("Alternate way of text formatting, see /help for instructions")
-
-PY3 = sys.version > '3'
-
-class format:
- # Special byte sequences, using weechat.color("stuff") had some unwanted
- # results, i'll look into it if needed. Colors are unused for now
- BOLD = '\x02'
- ITALIC = '\x1D'
- UNDERLINE = '\x1F'
- REVERSE = '\x16'
- END = '\x0F'
-
-if PY3:
- unichr = chr
- def send(buf, text):
- weechat.command(buf, "/input send {}".format(text))
-else:
- def send(buf, text):
- weechat.command(buf, "/input send {}".format(text.encode("utf-8")))
-
-def cb_aformat_cmd(data, buf, args):
- if not PY3:
- args = args.decode("utf-8")
-
- # Get the indexes of the separators (*/_|) in the string
- bolds = [i for i, ltr in enumerate(args) if ltr == "*"]
- italics = [i for i, ltr in enumerate(args) if ltr == "/"]
- underlines = [i for i, ltr in enumerate(args) if ltr == "_"]
- reverses = [i for i, ltr in enumerate(args) if ltr == "|"]
-
- if len(bolds) != 0:
- for i, v in enumerate(bolds):
- if i%2 == 0:
- args = args[:v] + format.BOLD + args[v+1:]
- else:
- args = args[:v] + format.END + args[v+1:]
-
- if len(italics) != 0:
- for i, v in enumerate(italics):
- if i%2 == 0:
- args = args[:v] + format.ITALIC + args[v+1:]
- else:
- args = args[:v] + format.END + args[v+1:]
-
- if len(underlines) != 0:
- for i, v in enumerate(underlines):
- if i%2 == 0:
- args = args[:v] + format.UNDERLINE + args[v+1:]
- else:
- args = args[:v] + format.END + args[v+1:]
-
- if len(reverses) != 0:
- for i, v in enumerate(reverses):
- if i%2 == 0:
- args = args[:v] + format.REVERSE + args[v+1:]
- else:
- args = args[:v] + format.END + args[v+1:]
-
- send(buf, args)
- return weechat.WEECHAT_RC_OK
-
-
-if import_ok and __name__ == "__main__":
- weechat.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION,
- SCRIPT_LICENSE, SCRIPT_DESC, '', '')
- weechat.hook_command("aformat", "Alternate way of text formatting, useful for relays without text formatting features (Glowingbear, WeechatAndroid, etc)",
- "text <*/_|> text <*/_|> more text",
- " *: bold text\n"
- " /: italic text\n"
- " _: underlined text\n"
- " |: reversed (black on white) text\n\n"
- " eg.: typing: /aformat This /must/ be the *work* of an _enemy_ |stand|\n"
- " will output: This {0}must{4} be the {1}work{4} of an {2}enemy{4} {3}stand{4}".format(weechat.color("italic"), weechat.color("bold"), weechat.color("underline"), weechat.color("reverse"), weechat.color("reset")),
- "", "cb_aformat_cmd", "")
diff --git a/weechat/.weechat/python/autoload/aformat.py b/weechat/.weechat/python/autoload/aformat.py
deleted file mode 120000
index d7b05c3..0000000
--- a/weechat/.weechat/python/autoload/aformat.py
+++ /dev/null
@@ -1 +0,0 @@
-../aformat.py
\ No newline at end of file
diff --git a/weechat/.weechat/python/autoload/bitlbee_completion.py b/weechat/.weechat/python/autoload/bitlbee_completion.py
deleted file mode 120000
index 1bc83b6..0000000
--- a/weechat/.weechat/python/autoload/bitlbee_completion.py
+++ /dev/null
@@ -1 +0,0 @@
-../bitlbee_completion.py
\ No newline at end of file
diff --git a/weechat/.weechat/python/autoload/fzf.py b/weechat/.weechat/python/autoload/fzf.py
deleted file mode 120000
index b723ed3..0000000
--- a/weechat/.weechat/python/autoload/fzf.py
+++ /dev/null
@@ -1 +0,0 @@
-../fzf.py
\ No newline at end of file
diff --git a/weechat/.weechat/python/autoload/listbuffer.py b/weechat/.weechat/python/autoload/listbuffer.py
deleted file mode 120000
index e7089b2..0000000
--- a/weechat/.weechat/python/autoload/listbuffer.py
+++ /dev/null
@@ -1 +0,0 @@
-../listbuffer.py
\ No newline at end of file
diff --git a/weechat/.weechat/python/autoload/wee_slack.py b/weechat/.weechat/python/autoload/wee_slack.py
deleted file mode 120000
index a77c3bb..0000000
--- a/weechat/.weechat/python/autoload/wee_slack.py
+++ /dev/null
@@ -1 +0,0 @@
-../wee_slack.py
\ No newline at end of file
diff --git a/weechat/.weechat/python/autosort.py b/weechat/.weechat/python/autosort.py
index 4312cda..73f27eb 100644
--- a/weechat/.weechat/python/autosort.py
+++ b/weechat/.weechat/python/autosort.py
@@ -25,6 +25,8 @@
#
# Changelog:
+# 3.10:
+# * Fix exception in `/autosort helpers swap`.
# 3.9:
# * Remove `buffers.pl` from recommended settings.
# 3,8:
@@ -87,7 +89,7 @@ import weechat
SCRIPT_NAME = 'autosort'
SCRIPT_AUTHOR = 'Maarten de Vries '
-SCRIPT_VERSION = '3.9'
+SCRIPT_VERSION = '3.10'
SCRIPT_LICENSE = 'GPL3'
SCRIPT_DESC = 'Flexible automatic (or manual) buffer sorting based on eval expressions.'
@@ -616,7 +618,6 @@ def command_helper_swap(buffer, command, args):
except KeyError as e:
raise HumanReadableError('No such helper: {0}'.format(e.args[0]))
- config.helpers.swap(index_a, index_b)
config.save_helpers()
command_helper_list(buffer, command, '')
return weechat.WEECHAT_RC_OK
@@ -829,7 +830,7 @@ def on_autosort_command(data, buffer, args):
def add_completions(completion, words):
for word in words:
- weechat.hook_completion_list_add(completion, word, 0, weechat.WEECHAT_LIST_POS_END)
+ weechat.completion_list_add(completion, word, 0, weechat.WEECHAT_LIST_POS_END)
def autosort_complete_rules(words, completion):
if len(words) == 0:
@@ -1001,14 +1002,14 @@ If you remove all signals you can still sort your buffers manually with the
{*white}# Recommended settings
For the best visual effect, consider setting the following options:
- {*white}/set {cyan}irc.look.server_buffer{reset} {brown}independent{reset}
+{*white}/set {cyan}irc.look.server_buffer{reset} {brown}independent{reset}
This setting allows server buffers to be sorted independently, which is
needed to create a hierarchical tree view of the server and channel buffers.
If you are using the {*default}buflist{reset} plugin you can (ab)use Unicode to draw a tree
structure with the following setting (modify to suit your need):
- {*white}/set {cyan}buflist.format.indent {brown}"${{color:237}}${{if:${{buffer.next_buffer.local_variables.type}}=~^(channel|private)$?├─:└─}}"{reset}
+{*white}/set {cyan}buflist.format.indent {brown}"${{color:237}}${{if:${{buffer.next_buffer.local_variables.type}}=~^(channel|private)$?├─:└─}}"{reset}
'''
command_completion = '%(plugin_autosort) %(plugin_autosort) %(plugin_autosort) %(plugin_autosort) %(plugin_autosort)'
diff --git a/weechat/.weechat/python/bitlbee_completion.py b/weechat/.weechat/python/bitlbee_completion.py
deleted file mode 100644
index be6f80e..0000000
--- a/weechat/.weechat/python/bitlbee_completion.py
+++ /dev/null
@@ -1,114 +0,0 @@
-# -*- coding: utf-8 -*-
-# Add tab completion to bitlbee commands
-# based on http://scripts.irssi.org/scripts/bitlbee_tab_completion.pl
-#
-# History:
-#
-# 2015-11-02, Mickaël Thomas :
-# version 0.2: strip color attributes for topic detection
-# 2015-03-22, Roger Duran :
-# version 0.1: initial version
-
-import weechat
-
-SCRIPT_NAME = "bitlbee_completion"
-SCRIPT_AUTHOR = "Roger Duran "
-SCRIPT_VERSION = "0.2"
-SCRIPT_LICENSE = "GPL3"
-SCRIPT_DESC = "Add tab completion to bitlbee commands"
-
-OPTS = {
- "server": None,
- "channel": None
- }
-
-TOPIC = "Welcome to the control channel. "\
- "Type help for help information."
-
-commands = []
-
-
-def request_completion():
- """
- Request the completion to the bitlbee server and wait for response
- """
- server = OPTS["server"]
- weechat.command(server, "/quote -server %s COMPLETIONS" % server)
-
-
-def modifier_cb(data, modifier, modifier_data, string):
- """
- When the server returns the completion, update the commands list
- """
-
- if ":COMPLETIONS" not in string:
- return string
- command = string.split(":COMPLETIONS ")[1]
- if command not in ("OK", "END"):
- commands.append(command)
- return ""
-
-
-def bitlbee_completion(data, completion_item, buffer, completion):
- """
- Complete bitlbee commands only in the bitlbee buffer
- """
-
- server = OPTS["server"]
- channel = OPTS["channel"]
- if not server or not channel:
- return weechat.WEECHAT_RC_OK
-
- buff_name = weechat.buffer_get_string(buffer, "name")
- if buff_name == "%s.%s" % (server, channel):
- for command in commands:
- weechat.hook_completion_list_add(completion, command, 0,
- weechat.WEECHAT_LIST_POS_SORT)
- return weechat.WEECHAT_RC_OK
-
-
-def find_buffer():
- """
- Find the buffer when the plugin starts
- """
- infolist = weechat.infolist_get("buffer", "", "")
- while weechat.infolist_next(infolist):
- topic = weechat.infolist_string(infolist, "title")
- if weechat.string_remove_color(topic, "") == TOPIC:
- name = weechat.infolist_string(infolist, "name")
- set_options(name)
- request_completion()
- break
- weechat.infolist_free(infolist)
-
-
-def set_options(name):
- server, channel = name.split(".")
- OPTS["server"] = server
- OPTS["channel"] = channel
-
-
-def print_332(data, buffer, time, tags, displayed, highlight, prefix, message):
- """
- Find the buffer when a new one is open
- """
- if weechat.string_remove_color(message, "") == TOPIC:
- name = weechat.buffer_get_string(buffer, "name")
- set_options(name)
- request_completion()
- return weechat.WEECHAT_RC_OK
-
-
-def main():
- weechat.hook_modifier("irc_in_notice", "modifier_cb", "")
- weechat.hook_completion("bitlbee", "bitlbee completion",
- "bitlbee_completion", "")
-
- weechat.hook_print('', 'irc_332', '', 1, 'print_332', '')
- weechat.hook_print('', 'irc_topic', '', 1, 'print_332', '')
- find_buffer()
-
-if __name__ == "__main__":
- if weechat.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION,
- SCRIPT_LICENSE, SCRIPT_DESC, "", ""):
- main()
diff --git a/weechat/.weechat/python/buffer_autoclose.py b/weechat/.weechat/python/buffer_autoclose.py
index 2dfefd9..a47fae1 100644
--- a/weechat/.weechat/python/buffer_autoclose.py
+++ b/weechat/.weechat/python/buffer_autoclose.py
@@ -20,6 +20,8 @@
# (this script requires WeeChat 0.3.0 or newer)
#
# History:
+# 2024-05-04, Miklos Vajna
+# version 0.6: Allow autoclosing explicitly listed non-private buffers as well
# 2018-04-10, Sébastien Helleu
# version 0.5: fix infolist_time for WeeChat >= 2.2 (WeeChat returns a long
# integer instead of a string)
@@ -37,7 +39,7 @@ import time
SCRIPT_NAME = "buffer_autoclose"
SCRIPT_AUTHOR = "xt "
-SCRIPT_VERSION = "0.5"
+SCRIPT_VERSION = "0.6"
SCRIPT_LICENSE = "GPL3"
SCRIPT_DESC = "Automatically close inactive private message buffers"
@@ -45,6 +47,7 @@ settings = {
'interval': '1', # How often in minutes to check
'age_limit': '30', # How old in minutes before auto close
'ignore': '', # Buffers to ignore (use full name: server.buffer_name)
+ 'prefer': '', # Buffers to prefer, even if they are not private (use full name: server.buffer_name)
}
if w.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION, SCRIPT_LICENSE,
@@ -64,8 +67,13 @@ def get_all_buffers():
'''Returns list with pointers of all open buffers.'''
buffers = []
infolist = w.infolist_get('buffer', '', '')
+ preferlist = w.config_get_plugin('prefer').split(',')
while w.infolist_next(infolist):
buffer_type = w.buffer_get_string(w.infolist_pointer(infolist, 'pointer'), 'localvar_type')
+ name = w.buffer_get_string(w.infolist_pointer(infolist, 'pointer'), 'name')
+ if name in preferlist:
+ buffers.append(w.infolist_pointer(infolist, 'pointer'))
+ continue
if buffer_type == 'private': # we only close private message buffers for now
buffers.append(w.infolist_pointer(infolist, 'pointer'))
w.infolist_free(infolist)
diff --git a/weechat/.weechat/python/colorize_nicks.py b/weechat/.weechat/python/colorize_nicks.py
index cb95a0d..bab1282 100644
--- a/weechat/.weechat/python/colorize_nicks.py
+++ b/weechat/.weechat/python/colorize_nicks.py
@@ -21,6 +21,16 @@
#
#
# History:
+# 2023-10-30: Sébastien Helleu
+# version 32: revert to info "nick_color" with WeeChat >= 4.1.1
+# 2023-10-16: Sébastien Helleu
+# version 31: use info "irc_nick_color" on IRC buffers with WeeChat >= 4.1.0
+# 2022-11-07: mva
+# version 30: add ":" and "," to VALID_NICK regexp,
+# to don't reset colorization in input_line
+# 2022-07-11: ncfavier
+# version 29: check nick for exclusion *after* stripping
+# decrease minimum min_nick_length to 1
# 2020-11-29: jess
# version 28: fix ignore_tags having been broken by weechat 2.9 changes
# 2020-05-09: Sébastien Helleu
@@ -90,13 +100,13 @@ w = weechat
SCRIPT_NAME = "colorize_nicks"
SCRIPT_AUTHOR = "xt "
-SCRIPT_VERSION = "28"
+SCRIPT_VERSION = "32"
SCRIPT_LICENSE = "GPL"
SCRIPT_DESC = "Use the weechat nick colors in the chat area"
# Based on the recommendations in RFC 7613. A valid nick is composed
# of anything but " ,*?.!@".
-VALID_NICK = r'([@~&!%+-])?([^\s,\*?\.!@]+)'
+VALID_NICK = r'([@~&!%+-])?([^\s,\*?\.!@:,]+)'
valid_nick_re = re.compile(VALID_NICK)
ignore_channels = []
ignore_nicks = []
@@ -138,7 +148,7 @@ def colorize_config_init():
colorize_config_option["min_nick_length"] = weechat.config_new_option(
colorize_config_file, section_look, "min_nick_length",
"integer", "Minimum length nick to colorize", "",
- 2, 20, "", "", 0, "", "", "", "", "", "")
+ 1, 20, "2", "2", 0, "", "", "", "", "", "")
colorize_config_option["colorize_input"] = weechat.config_new_option(
colorize_config_file, section_look, "colorize_input",
"boolean", "Whether to colorize input", "", 0,
@@ -165,12 +175,16 @@ def colorize_config_read():
global colorize_config_file
return weechat.config_read(colorize_config_file)
-def colorize_nick_color(nick, my_nick):
+def colorize_nick_color(buffer, nick, my_nick):
''' Retrieve nick color from weechat. '''
if nick == my_nick:
return w.color(w.config_string(w.config_get('weechat.color.chat_nick_self')))
else:
- return w.info_get('irc_nick_color', nick)
+ version = int(w.info_get('version_number', '') or 0)
+ if w.buffer_get_string(buffer, 'plugin') == 'irc' and version == 0x4010000:
+ server = w.buffer_get_string(buffer, 'localvar_server')
+ return w.info_get('irc_nick_color', '%s,%s' % (server, nick))
+ return w.info_get('nick_color', nick)
def colorize_cb(data, modifier, modifier_data, line):
''' Callback that does the colorizing, and returns new line if changed '''
@@ -206,9 +220,6 @@ def colorize_cb(data, modifier, modifier_data, line):
for words in valid_nick_re.findall(line):
nick = words[1]
- # Check that nick is not ignored and longer than minimum length
- if len(nick) < min_length or nick in ignore_nicks:
- continue
# If the matched word is not a known nick, we try to match the
# word without its first or last character (if not a letter).
@@ -225,6 +236,10 @@ def colorize_cb(data, modifier, modifier_data, line):
if nick[:-1] in colored_nicks[buffer]:
nick = nick[:-1]
+ # Check that nick is not ignored and longer than minimum length
+ if len(nick) < min_length or nick in ignore_nicks:
+ continue
+
# Check that nick is in the dictionary colored_nicks
if nick in colored_nicks[buffer]:
nick_color = colored_nicks[buffer][nick]
@@ -336,7 +351,7 @@ def populate_nicks(*args):
continue
nick = w.infolist_string(nicklist, 'name')
- nick_color = colorize_nick_color(nick, my_nick)
+ nick_color = colorize_nick_color(buffer_ptr, nick, my_nick)
colored_nicks[buffer_ptr][nick] = nick_color
@@ -358,7 +373,7 @@ def add_nick(data, signal, type_data):
colored_nicks[pointer] = {}
my_nick = w.buffer_get_string(pointer, 'localvar_nick')
- nick_color = colorize_nick_color(nick, my_nick)
+ nick_color = colorize_nick_color(pointer, nick, my_nick)
colored_nicks[pointer][nick] = nick_color
diff --git a/weechat/.weechat/python/go.py b/weechat/.weechat/python/go.py
index 77c5774..c4f7f8e 100644
--- a/weechat/.weechat/python/go.py
+++ b/weechat/.weechat/python/go.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
-# Copyright (C) 2009-2014 Sébastien Helleu
+# Copyright (C) 2009-2023 Sébastien Helleu
# Copyright (C) 2010 m4v
# Copyright (C) 2011 stfn
#
@@ -21,6 +21,15 @@
#
# History:
#
+# 2024-05-30, Sébastien Helleu :
+# version 3.0.1: refresh buffer input at the end of search
+# 2024-05-30, Sébastien Helleu :
+# version 3.0: refresh immediately buffer input when /go command is executed
+# (needed for WeeChat >= 4.3.0)
+# 2023-06-21, Sébastien Helleu :
+# version 2.9: add option "min_chars"
+# 2023-01-08, Sébastien Helleu :
+# version 2.8: send buffer pointer with signal "input_text_changed"
# 2021-05-25, Tomáš Janoušek :
# version 2.7: add new option to prefix short names with server names
# 2019-07-11, Simmo Saan
@@ -96,7 +105,7 @@ from __future__ import print_function
SCRIPT_NAME = 'go'
SCRIPT_AUTHOR = 'Sébastien Helleu '
-SCRIPT_VERSION = '2.7'
+SCRIPT_VERSION = '3.0.1'
SCRIPT_LICENSE = 'GPL3'
SCRIPT_DESC = 'Quick jump to buffers'
@@ -108,13 +117,19 @@ try:
import weechat
except ImportError:
print('This script must be run under WeeChat.')
- print('Get WeeChat now at: http://www.weechat.org/')
+ print('Get WeeChat now at: https://weechat.org/')
IMPORT_OK = False
import re
# script options
SETTINGS = {
+ 'auto_jump': (
+ 'off',
+ 'automatically jump to buffer when it is uniquely selected'),
+ 'buffer_number': (
+ 'on',
+ 'display buffer number'),
'color_number': (
'yellow,magenta',
'color for buffer number (not selected)'),
@@ -133,9 +148,15 @@ SETTINGS = {
'color_name_highlight_selected': (
'red,brown',
'color for highlight in a selected buffer name'),
+ 'fuzzy_search': (
+ 'off',
+ 'search buffer matches using approximation'),
'message': (
'Go to: ',
'message to display before list of buffers'),
+ 'min_chars': (
+ '0',
+ 'Minimum chars to search and display list of matching buffers'),
'short_name': (
'off',
'display and search in short names instead of buffer name'),
@@ -154,15 +175,6 @@ SETTINGS = {
'use_core_instead_weechat': (
'off',
'use name "core" instead of "weechat" for core buffer'),
- 'auto_jump': (
- 'off',
- 'automatically jump to buffer when it is uniquely selected'),
- 'fuzzy_search': (
- 'off',
- 'search buffer matches using approximation'),
- 'buffer_number': (
- 'on',
- 'display buffer number'),
}
# hooks management
@@ -208,6 +220,7 @@ def go_unhook_all():
go_unhook_one('modifier')
for hook in HOOK_COMMAND_RUN:
go_unhook_one(hook)
+ weechat.bar_item_update('input_text')
def go_hook_all():
@@ -227,6 +240,7 @@ def go_hook_all():
if 'modifier' not in hooks:
hooks['modifier'] = weechat.hook_modifier(
'input_text_display_with_cursor', 'go_input_modifier', '')
+ weechat.bar_item_update('input_text')
def go_start(buf):
@@ -410,6 +424,11 @@ def go_matching_buffers(strinput):
def go_buffers_to_string(listbuf, pos, strinput):
"""Return string built with list of buffers found (matching user input)."""
+ try:
+ if len(strinput) < int(weechat.config_get_plugin('min_chars')):
+ return ''
+ except:
+ pass
string = ''
strinput = strinput.lower()
for i in range(len(listbuf)):
@@ -500,7 +519,7 @@ def go_command_run_input(data, buf, command):
if buffers_pos >= len(buffers):
buffers_pos = 0
weechat.hook_signal_send('input_text_changed',
- weechat.WEECHAT_HOOK_SIGNAL_STRING, '')
+ weechat.WEECHAT_HOOK_SIGNAL_POINTER, buf)
return weechat.WEECHAT_RC_OK_EAT
elif command == '/input complete_previous':
# choose previous buffer in list
@@ -508,7 +527,7 @@ def go_command_run_input(data, buf, command):
if buffers_pos < 0:
buffers_pos = len(buffers) - 1
weechat.hook_signal_send('input_text_changed',
- weechat.WEECHAT_HOOK_SIGNAL_STRING, '')
+ weechat.WEECHAT_HOOK_SIGNAL_POINTER, buf)
return weechat.WEECHAT_RC_OK_EAT
elif command == '/input return':
# switch to selected buffer (if any)
diff --git a/weechat/.weechat/python/grep.py b/weechat/.weechat/python/grep.py
index 68e067d..b675122 100644
--- a/weechat/.weechat/python/grep.py
+++ b/weechat/.weechat/python/grep.py
@@ -69,6 +69,9 @@
#
# History:
#
+# 2022-11-11, anonymous2ch
+# version 0.8.6: ignore utf-8 decoding errors
+#
# 2021-05-02, Sébastien Helleu
# version 0.8.5: add compatibility with WeeChat >= 3.2 (XDG directories)
#
@@ -239,7 +242,7 @@ except ImportError:
SCRIPT_NAME = "grep"
SCRIPT_AUTHOR = "Elián Hanisch "
-SCRIPT_VERSION = "0.8.5"
+SCRIPT_VERSION = "0.8.6"
SCRIPT_LICENSE = "GPL3"
SCRIPT_DESC = "Search in buffers and logs"
SCRIPT_COMMAND = "grep"
@@ -738,7 +741,7 @@ def grep_file(file, head, tail, after_context, before_context, count, regexp, hi
check = lambda s: check_string(s, regexp, hilight, exact)
try:
- file_object = open(file, 'r')
+ file_object = open(file, 'r', errors='ignore')
except IOError:
# file doesn't exist
return lines
diff --git a/weechat/.weechat/python/listbuffer.py b/weechat/.weechat/python/listbuffer.py
deleted file mode 100644
index a8843be..0000000
--- a/weechat/.weechat/python/listbuffer.py
+++ /dev/null
@@ -1,474 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# ListBuffer, version 0.8.1 for WeeChat version 0.3
-# Latest development version: https://github.com/FiXato/listbuffer
-#
-# Show /list results in a common buffer and interact with them.
-#
-# This script allows you to easily join channels from the /list output.
-# It will open a common buffer for the /list result, through which you
-# browse with your cursor keys, and join with the meta-enter keys.
-# Adjust sorting with meta->, meta-< and meta-/ keybindings.
-#
-## History:
-### 2011-09-08: FiXato:
-#
-# * version 0.1: initial release.
-# * added a common buffer for /list results
-# * added highlighting for currently selected line
-# * added /join support via enter key
-# * added scroll_top and scroll_bottom support
-#
-# * version 0.2: /list format bugfix
-# * added support for /list results without modes
-# * some servers don't send 321 (/list start). Taken into account.
-#
-# * version 0.3: Sorting support
-# * Added some basic sorting support. Scroll through sort options
-# with meta-> and meta-< (users, channel, topic, modes)
-#
-### 2011-09-19: FiXato
-#
-# * version 0.4:
-# * Case-insensitive buffer lookup fix.
-# * Removed default enter keybind
-#
-### 2011-12-28: troydm:
-#
-# * version 0.5: It's an upside-down-world
-# * Added inverted sorting support provided by Dmitry "troydm" Geurkov
-# Use meta-/ to switch between inverted and regular sorting.
-#
-### 2012-02-10: FiXato:
-#
-# * version 0.6: Stop shoving that buffer in my face!
-# * The listbuffer should no longer pop up by itself when you load the script.
-# It should only pop up now when you actually do a /list query.
-#
-# * version 0.7: .. but please pop it up in my current window when I ask for it
-# * Added setting plugins.var.python.listbuffer.autofocus
-# This will autofocus the listbuffer in the current window if another window isn't
-# already showing it, and of course only when the user issues /list
-#
-### 2012-07-10: FiXato:
-#
-# * version 0.7.1: Forgetful bugfix
-# * Made sure lb_curline global variable is defined
-#
-### 2013-03-19: FiXato:
-#
-# * version 0.8: Sorted out the sorting
-# * Added automatically updating options for sorting:
-# * plugins.var.python.listbuffer.sort_inverted
-# * plugins.var.python.listbuffer.sort_order
-# * version 0.8.1: Pad it baby!
-# * Channel modes are equally padded even when there are no channel modes.
-# * Added padding options:
-# * plugins.var.python.listbuffer.modes_min_width
-# * plugins.var.python.listbuffer.channel_min_width
-# * plugins.var.python.listbuffer.users_min_width
-#
-### 2019-07-05: Sébastien Helleu:
-#
-# * version 0.8.2: Make script compatible with Python 3.
-#
-## Acknowledgements:
-# * Dmitry "troydm" Geurkov, for providing the inverse-sorting patch to the project.
-# * Sebastien "Flashcode" Helleu, for developing the kick-ass IRC client WeeChat
-# and the iset.pl script which inspired me to this script.
-# * Nils "nils_2" Görs, for his contributions to iset.pl which served as
-# example code.
-# * David "drubin" Rubin, for his urlgrab.py script, which also served
-# as example code.
-# * ArZa, whose listsort.pl script helped me getting started with
-# grabbing the /list results. Parts of his code have been shamelessly
-# copied and ported to Python.
-# * Khaled Mardam-Bey, for making me yearn for similar /list support in
-# WeeChat as mIRC already offered. :P
-# * mave_, for pointing out that sort orders weren't remembered.
-#
-## TODO:
-# - Auto-scroll selected line upon window scroll.
-# - Add option to hide already joined channels.
-# - Improve sorting methods
-# - Add auto-join support
-# - Detect if channel is already in auto-join
-# - Allow automatically switching to the listbuffer
-# - Add support for ALIS (/squery alis LIST * -mix 100 (IRCNet)
-# - Make colours configurable
-# - Limit number of channels to parse
-# - Add filter support a la iset
-# - Allow selecting multiple channels
-# - Add optional command redirection.
-#
-## Copyright (c) 2011,2012,2013 Filip H.F. "FiXato" Slagter,
-#
-# http://profile.fixato.org
-#
-# 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 = "listbuffer"
-SCRIPT_AUTHOR = "Filip H.F. 'FiXato' Slagter "
-SCRIPT_VERSION = "0.8.2"
-SCRIPT_LICENSE = "MIT"
-SCRIPT_DESC = "A common buffer for /list output."
-SCRIPT_COMMAND = "listbuffer"
-
-import_ok = True
-
-try:
- import weechat
-except ImportError:
- print("This script must be run under WeeChat.")
- import_ok = False
-
-import re
-
-lb_settings = (
- ("autofocus", "on", "Focus the listbuffer in the current window if it isn't already displayed by a window."),
- ("sort_order", "users", "Last used sort order for the channel list."),
- ("sort_inverted", "on", "Invert the sort order for the channel list."),
- ("modes_min_width", "8", "The minimum width used for modes in the channel list. If a channel has less modes than this amount, the column will be padded with spaces."),
- ("channel_min_width", "25", "The minimum width used for the channel name in the channel list. If a channelname is shorter than this amount, the column will be padded with spaces."),
- ("users_min_width", "8", "The minimum width used for the usercount in the channel list. If the usercount has less digits than this amount, the column will be padded with spaces."),
-)
-lb_buffer = None
-lb_curline = 0
-lb_channels = []
-lb_network = None
-lb_list_started = False
-lb_current_sort = None
-lb_sort_inverted = False
-lb_sort_options = (
- 'channel',
- 'users',
- 'modes',
- 'topic',
-)
-
-# server numeric Nick Chan Users Modes Topic
-lb_channel_list_expression = '(:\S+) (\d{3}) (\S+) (\S+) (\d+) :(\[(.*?)\] )?(.*)'
-
-# Create listbuffer.
-def lb_create_buffer():
- global lb_buffer, lb_curline
-
- if not lb_buffer:
- lb_buffer = weechat.buffer_new("listbuffer", "lb_input_cb", \
- "", "lb_close_cb", "")
- lb_set_buffer_title()
- # Sets notify to 0 as this buffer does not need to be in hotlist.
- weechat.buffer_set(lb_buffer, "notify", "0")
- weechat.buffer_set(lb_buffer, "nicklist", "0")
- weechat.buffer_set(lb_buffer, "type", "free")
- weechat.buffer_set(lb_buffer, "key_bind_ctrl-L", "/listbuffer **refresh")
- weechat.buffer_set(lb_buffer, "key_bind_meta2-A", "/listbuffer **up")
- weechat.buffer_set(lb_buffer, "key_bind_meta2-B", "/listbuffer **down")
- weechat.buffer_set(lb_buffer, "key_bind_meta2-1~", "/listbuffer **scroll_top")
- weechat.buffer_set(lb_buffer, "key_bind_meta2-4~", "/listbuffer **scroll_bottom")
- weechat.buffer_set(lb_buffer, "key_bind_meta-ctrl-J", "/listbuffer **enter")
- weechat.buffer_set(lb_buffer, "key_bind_meta-ctrl-M", "/listbuffer **enter")
- weechat.buffer_set(lb_buffer, "key_bind_meta->", "/listbuffer **sort_next")
- weechat.buffer_set(lb_buffer, "key_bind_meta-<", "/listbuffer **sort_previous")
- weechat.buffer_set(lb_buffer, "key_bind_meta-/", "/listbuffer **sort_invert")
- lb_curline = 0
- if weechat.config_get_plugin("autofocus") == "on":
- if not weechat.window_search_with_buffer(lb_buffer):
- weechat.command("", "/buffer " + weechat.buffer_get_string(lb_buffer,"name"))
-
-def lb_set_buffer_title():
- global lb_buffer, lb_current_sort
- ascdesc = '(v)' if lb_sort_inverted else '(^)'
- weechat.buffer_set(lb_buffer, "title", lb_line_format({
- 'channel': 'Channel name%s' % (ascdesc if lb_current_sort == 'channel' else ''),
- 'users': 'Users%s' % (ascdesc if lb_current_sort == 'users' else ''),
- 'modes': 'Modes%s' % (ascdesc if lb_current_sort == 'modes' else ''),
- 'topic': 'Topic%s' % (ascdesc if lb_current_sort == 'topic' else ''),
- 'nomodes': None,
- }))
-
-def lb_list_start(data, signal, message):
- lb_initialise_list
-
- return weechat.WEECHAT_RC_OK
-
-def lb_initialise_list(signal):
- global lb_channels, lb_network, lb_list_started
-
- lb_create_buffer()
- lb_channels = []
- lb_network = signal.split(',')[0]
- lb_list_started = True
- return
-
-
-def lb_list_chan(data, signal, message):
- global lb_channels, lb_buffer, lb_list_started
-
- # Work-around for IRCds which don't send 321 Numeric (/List start)
- if not lb_list_started:
- lb_initialise_list(signal)
-
- for chan_data in re.findall(lb_channel_list_expression,message):
- lb_channels.append({
- 'server': chan_data[0][1:-1],
- 'numeric': chan_data[1],
- 'nick': chan_data[2],
- 'channel': chan_data[3],
- 'users': chan_data[4],
- 'nomodes': chan_data[5] == '',
- 'modes': chan_data[6],
- 'topic': weechat.hook_modifier_exec("irc_color_decode", "1", chan_data[7])
- })
- return weechat.WEECHAT_RC_OK
-
-def lb_list_end(data, signal, message):
- global lb_list_started
-
- # Work-around for IRCds which don't send 321 Numeric (/List start)
- if not lb_list_started:
- lb_initialise_list(signal)
-
- lb_list_started = False
- if lb_current_sort:
- lb_sort()
- lb_refresh()
- return weechat.WEECHAT_RC_OK
-
-def keyEvent (data, buffer, args):
- global lb_options
- lb_options[args]()
-
-def lb_input_cb(data, buffer, input_data):
- global lb_options, lb_curline
- lb_options[input_data]()
- return weechat.WEECHAT_RC_OK
-
-def lb_refresh():
- global lb_channels, lb_buffer
- weechat.buffer_clear(lb_buffer)
-
- y = 0
- for list_data in lb_channels:
- lb_refresh_line(y)
- y += 1
- return
-
-def lb_refresh_line(y):
- global lb_buffer, lb_curline, lb_channels
- if y >= 0 and y < len(lb_channels):
- formatted_line = lb_line_format(lb_channels[y], y == lb_curline)
- weechat.prnt_y(lb_buffer, y, formatted_line)
-
-def lb_refresh_curline():
- global lb_curline
- lb_refresh_line(lb_curline-1)
- lb_refresh_line(lb_curline)
- lb_refresh_line(lb_curline+1)
- return
-
-def lb_line_format(list_data,curr=False):
- str = ""
- if (curr):
- str += weechat.color("yellow,red")
- channel_text = list_data['channel'].ljust(int(weechat.config_get_plugin('channel_min_width')))
- users_text = "(%s)" % list_data['users']
- padded_users_text = users_text.rjust(int(weechat.config_get_plugin('users_min_width')) + 2)
- str += "%s%s %s " % (weechat.color("bold"), channel_text, padded_users_text)
- if not list_data['nomodes']:
- modes = "[%s]" % list_data['modes']
- else:
- modes = "[]"
- str += "%s: " % modes.rjust(int(weechat.config_get_plugin('modes_min_width')) + 2)
- str += "%s" % list_data['topic']
- return str
-
-def lb_line_up():
- global lb_curline
- if lb_curline <= 0:
- return
- lb_curline -= 1
- lb_refresh_curline()
- lb_check_outside_window()
- return
-
-def lb_line_down():
- global lb_curline, lb_channels
- if lb_curline+1 >= len(lb_channels):
- return
- lb_curline += 1
- lb_refresh_curline()
- lb_check_outside_window()
- return
-
-def lb_line_run():
- global lb_channels, lb_curline, lb_network
- buff = weechat.info_get("irc_buffer", lb_network)
- channel = lb_channels[lb_curline]['channel']
- command = "/join %s" % channel
- weechat.command(buff, command)
- return
-
-def lb_line_select():
- return
-
-def lb_scroll_top():
- global lb_curline
- old_y = lb_curline
- lb_curline = 0
- lb_refresh_curline()
- lb_refresh_line(old_y)
- weechat.command(lb_buffer, "/window scroll_top")
- return
-
-def lb_scroll_bottom():
- global lb_curline, lb_channels
- old_y = lb_curline
- lb_curline = len(lb_channels)-1
- lb_refresh_curline()
- lb_refresh_line(old_y)
- weechat.command(lb_buffer, "/window scroll_bottom")
- return
-
-def lb_check_outside_window():
- global lb_buffer, lb_curline
- if (lb_buffer):
- infolist = weechat.infolist_get("window", "", "current")
- if (weechat.infolist_next(infolist)):
- start_line_y = weechat.infolist_integer(infolist, "start_line_y")
- chat_height = weechat.infolist_integer(infolist, "chat_height")
- if(start_line_y > lb_curline):
- weechat.command(lb_buffer, "/window scroll -%i" %(start_line_y - lb_curline))
- elif(start_line_y <= lb_curline - chat_height):
- weechat.command(lb_buffer, "/window scroll +%i"%(lb_curline - start_line_y - chat_height + 1))
- weechat.infolist_free(infolist)
-
-def lb_sort_next():
- global lb_current_sort, lb_sort_options
- if lb_current_sort:
- new_index = lb_sort_options.index(lb_current_sort) + 1
- else:
- new_index = 0
-
- if len(lb_sort_options) <= new_index:
- new_index = 0
-
- lb_set_current_sort_order(lb_sort_options[new_index])
- lb_sort()
-
-def lb_set_current_sort_order(value):
- global lb_current_sort
- lb_current_sort = value
- weechat.config_set_plugin('sort_order', lb_current_sort)
-
-def lb_set_invert_sort_order(value):
- global lb_sort_inverted
- lb_sort_inverted = value
- weechat.config_set_plugin('sort_inverted', ('on' if lb_sort_inverted else 'off'))
-
-def lb_sort_previous():
- global lb_current_sort, lb_sort_options
- if lb_current_sort:
- new_index = lb_sort_options.index(lb_current_sort) - 1
- else:
- new_index = 0
-
- if new_index < 0:
- new_index = len(lb_sort_options) - 1
-
- lb_set_current_sort_order(lb_sort_options[new_index])
- lb_sort()
-
-def lb_sort(sort_key=None):
- global lb_channels, lb_current_sort, lb_sort_inverted
- if sort_key:
- lb_set_current_sort_order(sort_key)
- if lb_current_sort == 'users':
- lb_channels = sorted(lb_channels, key=lambda chan_data: int(chan_data[lb_current_sort]))
- else:
- lb_channels = sorted(lb_channels, key=lambda chan_data: chan_data[lb_current_sort])
- if lb_sort_inverted:
- lb_channels.reverse()
- lb_set_buffer_title()
- lb_refresh()
-
-def lb_sort_invert():
- global lb_current_sort, lb_sort_inverted
- if lb_current_sort:
- lb_set_invert_sort_order(not lb_sort_inverted)
- lb_sort()
-
-def lb_close_cb(*kwargs):
- """ A callback for buffer closing. """
- global lb_buffer
-
- lb_buffer = None
- return weechat.WEECHAT_RC_OK
-
-lb_options = {
- 'refresh' : lb_refresh,
- 'up' : lb_line_up,
- 'down' : lb_line_down,
- 'enter' : lb_line_run,
- 'space' : lb_line_select,
- 'scroll_top' : lb_scroll_top,
- 'scroll_bottom': lb_scroll_bottom,
- 'sort_next' : lb_sort_next,
- 'sort_previous': lb_sort_previous,
- 'sort_invert': lb_sort_invert
-}
-
-def lb_command_main(data, buffer, args):
- if args[0:2] == "**":
- keyEvent(data, buffer, args[2:])
- return weechat.WEECHAT_RC_OK
-
-def lb_set_default_settings():
- global lb_settings
- # Set default settings
- for option, default_value, description in lb_settings:
- if not weechat.config_is_set_plugin(option):
- weechat.config_set_plugin(option, default_value)
- version = weechat.info_get("version_number", "") or 0
- if int(version) >= 0x00030500:
- weechat.config_set_desc_plugin(option, description)
-
-def lb_reset_stored_sort_order():
- global lb_current_sort, lb_sort_inverted
- lb_current_sort = weechat.config_get_plugin('sort_order')
- lb_sort_inverted = (True if weechat.config_get_plugin('sort_inverted') == 'on' else False)
-
-if __name__ == "__main__" and import_ok:
- if weechat.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION,
- SCRIPT_LICENSE, SCRIPT_DESC, "lb_close_cb", ""):
- lb_set_default_settings()
- lb_reset_stored_sort_order()
- lb_buffer = weechat.buffer_search("python", "listbuffer")
-
- weechat.hook_signal("*,irc_in_321", "lb_list_start", "")
- weechat.hook_signal("*,irc_in_322", "lb_list_chan", "")
- weechat.hook_signal("*,irc_in_323", "lb_list_end", "")
- weechat.hook_command(SCRIPT_COMMAND,
- "List Buffer",
- "", "", "",
- "lb_command_main", "")
diff --git a/weechat/.weechat/relay.conf b/weechat/.weechat/relay.conf
index db0056f..5dd1ca1 100644
--- a/weechat/.weechat/relay.conf
+++ b/weechat/.weechat/relay.conf
@@ -6,20 +6,24 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
+config_version = 2
+
[look]
-auto_open_buffer = on
+auto_open_buffer = "on"
+display_clients = "irc,weechat"
raw_messages = 256
+raw_messages_max_length = 4096
[color]
client = cyan
-status_active = lightblue
-status_auth_failed = lightred
-status_connecting = 130
+status_active = green
+status_auth_failed = lightmagenta
+status_authenticating = yellow
+status_connecting = white
status_disconnected = lightred
-status_waiting_auth = brown
text = default
text_bg = default
text_selected = white
@@ -30,6 +34,7 @@ allowed_ips = ""
auth_timeout = 60
bind_address = ""
clients_purge_delay = 0
+commands = "*,!quit"
compression = 20
ipv6 = on
max_clients = 5
@@ -37,24 +42,30 @@ nonce_size = 16
password = "${sec.data.relaypass}"
password_hash_algo = "*"
password_hash_iterations = 100000
-ssl_cert_key = "%h/ssl/relay.pem"
-ssl_priorities = "NORMAL:-VERS-SSL3.0"
+time_window = 5
+tls_cert_key = "%h/ssl/relay.pem"
+tls_priorities = "NORMAL:-VERS-SSL3.0"
totp_secret = ""
totp_window = 0
websocket_allowed_origins = ""
+websocket_permessage_deflate = on
[irc]
-backlog_max_minutes = 525600
-backlog_max_number = 256
+backlog_max_minutes = 0
+backlog_max_number = 1024
backlog_since_last_disconnect = on
backlog_since_last_message = off
backlog_tags = "irc_privmsg"
backlog_time_format = "[%H:%M] "
-[weechat]
-commands = ""
+[api]
+remote_autoreconnect_delay_growing = 2
+remote_autoreconnect_delay_max = 600
+remote_get_lines = 1000
[port]
[path]
unix.weechat = "%h/relay_socket"
+
+[remote]
diff --git a/weechat/.weechat/ruby.conf b/weechat/.weechat/ruby.conf
index 555f48f..c7d00c9 100644
--- a/weechat/.weechat/ruby.conf
+++ b/weechat/.weechat/ruby.conf
@@ -6,7 +6,7 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
[look]
diff --git a/weechat/.weechat/script.conf b/weechat/.weechat/script.conf
index 25b9cf1..3a0415f 100644
--- a/weechat/.weechat/script.conf
+++ b/weechat/.weechat/script.conf
@@ -6,11 +6,11 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
[look]
-columns = "%s %n %V %v %u │ %d │ %t"
+columns = "%s %n %V %v %u | %d | %t"
diff_color = on
diff_command = "auto"
display_source = on
@@ -20,32 +20,32 @@ translate_description = on
use_keys = on
[color]
-status_autoloaded = cyan
+status_autoloaded = 39
status_held = white
status_installed = lightcyan
status_obsolete = lightmagenta
-status_popular = 130
+status_popular = yellow
status_running = lightgreen
status_unknown = lightred
text = default
text_bg = default
-text_bg_selected = 235
-text_date = default
-text_date_selected = white
-text_delimiters = 130
-text_description = default
+text_bg_selected = 24
+text_date = 65
+text_date_selected = 50
+text_delimiters = 240
+text_description = 249
text_description_selected = white
-text_extension = default
-text_extension_selected = white
-text_name = cyan
-text_name_selected = lightcyan
+text_extension = 242
+text_extension_selected = 248
+text_name = 73
+text_name_selected = 51
text_selected = white
text_tags = brown
-text_tags_selected = 130
-text_version = magenta
-text_version_loaded = default
+text_tags_selected = yellow
+text_version = 100
+text_version_loaded = 246
text_version_loaded_selected = white
-text_version_selected = lightmagenta
+text_version_selected = 228
[scripts]
autoload = on
diff --git a/weechat/.weechat/spell.conf b/weechat/.weechat/spell.conf
index 2aa7d85..f509f9d 100644
--- a/weechat/.weechat/spell.conf
+++ b/weechat/.weechat/spell.conf
@@ -6,7 +6,7 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
[color]
diff --git a/weechat/.weechat/trigger.conf b/weechat/.weechat/trigger.conf
index febbd0d..236dd94 100644
--- a/weechat/.weechat/trigger.conf
+++ b/weechat/.weechat/trigger.conf
@@ -6,7 +6,7 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
[look]
@@ -15,14 +15,13 @@ monitor_strip_colors = off
[color]
flag_command = lightgreen
-flag_conditions = 130
+flag_conditions = yellow
flag_post_action = lightblue
flag_regex = lightcyan
flag_return_code = lightmagenta
+identifier = cyan
regex = white
replace = cyan
-trigger = green
-trigger_disabled = red
[trigger]
beep.arguments = ""
@@ -39,7 +38,7 @@ cmd_pass.conditions = ""
cmd_pass.enabled = on
cmd_pass.hook = modifier
cmd_pass.post_action = none
-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.regex = "s==^((/(msg|m|quote) +(-server +[^ \n]+ +)?nickserv +(id|identify|set +password|ghost +[^ \n]+|release +[^ \n]+|regain +[^ \n]+|recover +[^ \n]+|setpass +[^ \n]+) +)|/oper +[^ \n]+ +|/quote +pass +|/secure +(passphrase|decrypt|set +[^ \n]+) +)([^\n]*)==${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 = ""
@@ -47,7 +46,7 @@ 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.regex = "s==^(/(msg|m|quote) +(-server +[^ \n]+ +)?nickserv +register +)([^ \n]+)([^\n]*)==${re:1}${hide:*,${re:4}}${re:5}"
cmd_pass_register.return_code = ok
greentext.arguments = "weechat_print"
greentext.command = ""
@@ -151,7 +150,7 @@ server_pass.conditions = ""
server_pass.enabled = on
server_pass.hook = modifier
server_pass.post_action = none
-server_pass.regex = "==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}"
+server_pass.regex = "s==^(/(server|connect) [^\n]*-(sasl_)?password=)([^ \n]+)([^\n]*)==${re:1}${hide:*,${re:4}}${re:5}"
server_pass.return_code = ok
url_color.arguments = "weechat_print"
url_color.command = ""
diff --git a/weechat/.weechat/typing.conf b/weechat/.weechat/typing.conf
index fed8ada..46dc23d 100644
--- a/weechat/.weechat/typing.conf
+++ b/weechat/.weechat/typing.conf
@@ -6,7 +6,7 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
[look]
diff --git a/weechat/.weechat/weechat.conf b/weechat/.weechat/weechat.conf
index 83fc31e..7131409 100644
--- a/weechat/.weechat/weechat.conf
+++ b/weechat/.weechat/weechat.conf
@@ -6,9 +6,11 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
+config_version = 4
+
[debug]
[startup]
@@ -32,22 +34,25 @@ buffer_notify_default = message
buffer_position = end
buffer_search_case_sensitive = off
buffer_search_force_default = off
+buffer_search_history = local
buffer_search_regex = off
buffer_search_where = prefix_message
buffer_time_format = "${color:250}%H${color:lightcyan}:${color:245}%M${color:lightcyan}:${color:240}%S"
buffer_time_same = ""
+chat_space_right = off
color_basic_force_bold = off
color_inactive_buffer = on
color_inactive_message = on
color_inactive_prefix = on
color_inactive_prefix_buffer = on
-color_inactive_time = off
+color_inactive_time = on
color_inactive_window = on
color_nick_offline = on
color_pairs_auto_reset = 5
color_real_white = off
command_chars = ""
command_incomplete = off
+config_permissions = "600"
confirm_quit = on
confirm_upgrade = off
day_change = on
@@ -55,7 +60,9 @@ day_change_message_1date = "-- %a, %d %b %Y --"
day_change_message_2dates = "-- %%a, %%d %%b %%Y (%a, %d %b %Y) --"
eat_newline_glitch = off
emphasized_attributes = ""
-highlight = "ben"
+highlight = "(?-i)ben"
+highlight_disable_regex = ""
+highlight_prefix = on
highlight_regex = ""
highlight_tags = ""
hotlist_add_conditions = "${away} || ${buffer.num_displayed} == 0"
@@ -69,11 +76,12 @@ hotlist_names_merged_buffers = off
hotlist_prefix = ""
hotlist_remove = merged
hotlist_short_names = on
-hotlist_sort = group_time_asc
+hotlist_sort = "-priority,time,time_usec"
hotlist_suffix = ""
hotlist_unique_numbers = on
hotlist_update_on_buffer_switch = on
input_cursor_scroll = 20
+input_multiline_lead_linebreak = on
input_share = none
input_share_overwrite = off
input_undo_max = 32
@@ -88,17 +96,15 @@ jump_smart_back_to_buffer = on
key_bind_safe = on
key_grab_delay = 800
mouse = on
-mouse_timer_delay = 100
nick_color_force = ""
nick_color_hash = djb2
nick_color_hash_salt = ""
nick_color_stop_chars = "_|["
nick_prefix = ""
nick_suffix = ""
-paste_auto_add_newline = on
paste_bracketed = on
paste_bracketed_timer_delay = 10
-paste_max_lines = 1
+paste_max_lines = 100
prefix_action = " *"
prefix_align = right
prefix_align_max = 15
@@ -150,15 +156,15 @@ chat_bg = default
chat_buffer = white
chat_channel = white
chat_day_change = cyan
-chat_delimiters = green
+chat_delimiters = 22
chat_highlight = yellow
chat_highlight_bg = darkgray
chat_host = cyan
chat_inactive_buffer = default
-chat_inactive_window = default
+chat_inactive_window = 240
chat_nick = lightcyan
chat_nick_colors = "cyan,magenta,green,brown,lightblue,lightcyan,lightgreen,blue,22,31,35,38,40,49,63,67,70,87,99,112,119,130,136,138,142,146,148,160,162,167,169,174,176,178,184,186,191,202,206,210,212,215,225,226,247"
-chat_nick_offline = blue
+chat_nick_offline = 242
chat_nick_offline_highlight = default
chat_nick_offline_highlight_bg = blue
chat_nick_other = cyan
@@ -177,19 +183,22 @@ chat_prefix_suffix = 235
chat_read_marker = magenta
chat_read_marker_bg = default
chat_server = brown
+chat_status_disabled = red
+chat_status_enabled = green
chat_tags = red
-chat_text_found = 130
+chat_text_found = yellow
chat_text_found_bg = lightmagenta
chat_time = default
chat_time_delimiters = brown
chat_value = cyan
chat_value_null = blue
-emphasized = 130
-emphasized_bg = magenta
+emphasized = yellow
+emphasized_bg = 54
+eval_syntax_colors = "green,lightred,lightblue,lightmagenta,yellow,cyan"
input_actions = lightgreen
input_text_not_found = red
item_away = yellow
-nicklist_away = cyan
+nicklist_away = 240
nicklist_group = green
separator = blue
status_count_highlight = magenta
@@ -197,22 +206,25 @@ status_count_msg = brown
status_count_other = default
status_count_private = green
status_data_highlight = lightmagenta
-status_data_msg = 130
+status_data_msg = yellow
status_data_other = default
status_data_private = lightgreen
status_filter = green
+status_modes = default
status_more = 130
status_mouse = green
status_name = white
-status_name_ssl = lightgreen
+status_name_insecure = lightmagenta
+status_name_tls = white
status_nicklist_count = default
-status_number = 130
+status_number = yellow
status_time = default
[completion]
base_word_until_cursor = on
+case_sensitive = on
command_inline = on
-default_template = "%(nicks)|%(irc_channels)|%(completion_script)"
+default_template = "%(nicks)|%(irc_channels)|%(completion_script)|%(bitlbee_completion)"
nick_add_space = on
nick_case_sensitive = off
nick_completer = ": "
@@ -345,9 +357,9 @@ rootstatus.separator = off
rootstatus.size = 1
rootstatus.size_max = 0
rootstatus.type = root
-title.color_bg = black
-title.color_bg_inactive = darkgray
-title.color_delim = lightcyan
+title.color_bg = 234
+title.color_bg_inactive = 232
+title.color_delim = cyan
title.color_fg = default
title.conditions = ""
title.filling_left_right = vertical
@@ -361,73 +373,263 @@ title.size = 0
title.size_max = 0
title.type = window
+[custom_bar_item]
+
[layout]
default.buffer = "core;weechat;1"
-default.buffer = "perl;highmon;1"
-default.window = "1;0;15;1;-;-"
-default.window = "2;1;0;0;irc;tilde.#team"
-default.window = "3;1;0;0;core;weechat"
+default.buffer = "perl;highmon;2"
+default.buffer = "python;slack.remotes;3"
+default.buffer = "python;slack.remotes.#general;4"
+default.buffer = "python;slack.remotes.#irc;5"
+default.buffer = "python;slack.remotes.#metodo-miyagi;6"
+default.buffer = "python;snote;7"
+default.buffer = "python;snote-bots;8"
+default.buffer = "python;snote-conn;9"
+default.buffer = "python;snote-junk;10"
+default.buffer = "python;snote-oper;11"
+default.buffer = "relay;relay.list;12"
+default.buffer = "irc;server.bitlbee;13"
+default.buffer = "irc;bitlbee.&bitlbee;14"
+default.buffer = "irc;bitlbee.&grouptext;15"
+default.buffer = "irc;bitlbee.&hmm;16"
+default.buffer = "irc;bitlbee.&SMS;17"
+default.buffer = "irc;bitlbee.˜18"
+default.buffer = "irc;bitlbee.#biboumi;19"
+default.buffer = "irc;bitlbee.#btlgeneral;20"
+default.buffer = "irc;bitlbee.#cifuzofu;21"
+default.buffer = "irc;bitlbee.#conversations;22"
+default.buffer = "irc;bitlbee.#ejabberd;23"
+default.buffer = "irc;bitlbee.#gritty;24"
+default.buffer = "irc;bitlbee.#harris;25"
+default.buffer = "irc;bitlbee.#hmm;26"
+default.buffer = "irc;bitlbee.#pocketdragons;27"
+default.buffer = "irc;bitlbee.#soprani.ca;28"
+default.buffer = "irc;bitlbee.#texto-plano;29"
+default.buffer = "irc;bitlbee.#tilde.team;30"
+default.buffer = "irc;bitlbee.#tilde.zone_ben;31"
+default.buffer = "irc;bitlbee.#twitter_nebsirrah;32"
+default.buffer = "irc;bitlbee.maddie;33"
+default.buffer = "irc;bitlbee.philipp;34"
+default.buffer = "irc;server.blinkenshell;35"
+default.buffer = "irc;blinkenshell.#blinkenshell;36"
+default.buffer = "irc;server.darwin;37"
+default.buffer = "irc;darwin.#darwin;38"
+default.buffer = "irc;server.ergo;39"
+default.buffer = "irc;ergo.#ergo;40"
+default.buffer = "irc;server.esper;41"
+default.buffer = "irc;esper.#coders;42"
+default.buffer = "irc;esper.#factorio;43"
+default.buffer = "irc;esper.#lobby;44"
+default.buffer = "irc;server.hashbang;45"
+default.buffer = "irc;hashbang.#!;46"
+default.buffer = "irc;hashbang.#!opers;47"
+default.buffer = "irc;hashbang.#!social;48"
+default.buffer = "irc;server.inspircd;49"
+default.buffer = "irc;inspircd.#inspircd;50"
+default.buffer = "irc;server.libera;51"
+default.buffer = "irc;libera.#adventofcode;52"
+default.buffer = "irc;libera.#adventofcode-spoilers;53"
+default.buffer = "irc;libera.#ahti.space;54"
+default.buffer = "irc;libera.##ben;55"
+default.buffer = "irc;libera.#bitbot;56"
+default.buffer = "irc;libera.##crime;57"
+default.buffer = "irc;libera.##crustaceans;58"
+default.buffer = "irc;libera.#csharp;59"
+default.buffer = "irc;libera.##digbuild;60"
+default.buffer = "irc;libera.#edist.ro;61"
+default.buffer = "irc;libera.#fosshost;62"
+default.buffer = "irc;libera.#fosshost-volunteers;63"
+default.buffer = "irc;libera.#futel;64"
+default.buffer = "irc;libera.#gitea;65"
+default.buffer = "irc;libera.#glirc;66"
+default.buffer = "irc;libera.#gopher;67"
+default.buffer = "irc;libera.#ircpuzzles;68"
+default.buffer = "irc;libera.#ircpuzzles-chat;69"
+default.buffer = "irc;libera.#irctokens;70"
+default.buffer = "irc;libera.#libera;71"
+default.buffer = "irc;libera.#libera-announcements;72"
+default.buffer = "irc;libera.#libera-atl;73"
+default.buffer = "irc;libera.#libera-audit;74"
+default.buffer = "irc;libera.#libera-beer;75"
+default.buffer = "irc;libera.#libera-communities;76"
+default.buffer = "irc;libera.#libera-dev;77"
+default.buffer = "irc;libera.#libera-docs;78"
+default.buffer = "irc;libera.#libera-dragons;79"
+default.buffer = "irc;libera.#libera-eng;80"
+default.buffer = "irc;libera.#libera-matrix-internal;81"
+default.buffer = "irc;libera.#libera-mentoring;82"
+default.buffer = "irc;libera.#libera-naughtiness;83"
+default.buffer = "irc;libera.#libera-org;84"
+default.buffer = "irc;libera.#libera-pac;85"
+default.buffer = "irc;libera.#libera-social;86"
+default.buffer = "irc;libera.#libera-spam;87"
+default.buffer = "irc;libera.#libera-status;88"
+default.buffer = "irc;libera.#libera-tas;89"
+default.buffer = "irc;libera.#lobsters;90"
+default.buffer = "irc;libera.#mastodon;91"
+default.buffer = "irc;libera.##oodnet;92"
+default.buffer = "irc;libera.#ovh;93"
+default.buffer = "irc;libera.#pleroma;94"
+default.buffer = "irc;libera.##proxmox;95"
+default.buffer = "irc;libera.#snowcone;96"
+default.buffer = "irc;libera.#tilde.team;97"
+default.buffer = "irc;libera.#tildebot;98"
+default.buffer = "irc;libera.#ubuntu-devel;99"
+default.buffer = "irc;libera.#weechat;100"
+default.buffer = "irc;libera.#weechat-android;101"
+default.buffer = "irc;libera.#werewolf;102"
+default.buffer = "irc;libera.#xeserv;103"
+default.buffer = "irc;server.liberta.casa;104"
+default.buffer = "irc;liberta.casa.#libcasa.info;105"
+default.buffer = "irc;liberta.casa.#mods;106"
+default.buffer = "irc;liberta.casa.#universe;107"
+default.buffer = "irc;server.oftc;108"
+default.buffer = "irc;oftc.#bitlbee;109"
+default.buffer = "irc;oftc.#debian-devel;110"
+default.buffer = "irc;oftc.#fish;111"
+default.buffer = "irc;server.pisslocal;112"
+default.buffer = "irc;pisslocal.#opers;113"
+default.buffer = "irc;pisslocal.#pissnet;114"
+default.buffer = "irc;pisslocal.#services;115"
+default.buffer = "irc;server.sdf;116"
+default.buffer = "irc;sdf.#sdf;117"
+default.buffer = "irc;sdf.#spanish;118"
+default.buffer = "irc;server.slashnet;119"
+default.buffer = "irc;slashnet.#gtlug;120"
+default.buffer = "irc;server.snoonet;121"
+default.buffer = "irc;snoonet.#help;122"
+default.buffer = "irc;snoonet.#personalfinance;123"
+default.buffer = "irc;snoonet.#snoonet;124"
+default.buffer = "irc;server.thermite;125"
+default.buffer = "irc;thermite.#armbian;126"
+default.buffer = "irc;thermite.#dronebl;127"
+default.buffer = "irc;thermite.#lowendtalk;128"
+default.buffer = "irc;thermite.#networking;129"
+default.buffer = "irc;server.tilde;130"
+default.buffer = "irc;tilde.#.tilde;131"
+default.buffer = "irc;tilde.#adventofcode;132"
+default.buffer = "irc;tilde.#allhandsactive;133"
+default.buffer = "irc;tilde.#anelki;134"
+default.buffer = "irc;tilde.#ascii.town;135"
+default.buffer = "irc;tilde.#aussie;136"
+default.buffer = "irc;tilde.#binary-counting;137"
+default.buffer = "irc;tilde.#bots;138"
+default.buffer = "irc;tilde.#club;139"
+default.buffer = "irc;tilde.#cosmic;140"
+default.buffer = "irc;tilde.#counting;141"
+default.buffer = "irc;tilde.#covid19;142"
+default.buffer = "irc;tilde.#ctrl-c;143"
+default.buffer = "irc;tilde.#dotnet;144"
+default.buffer = "irc;tilde.#earthward;145"
+default.buffer = "irc;tilde.#espanol;146"
+default.buffer = "irc;tilde.#fr;147"
+default.buffer = "irc;tilde.#gemini;148"
+default.buffer = "irc;tilde.#gopher;149"
+default.buffer = "irc;tilde.#helpdesk;150"
+default.buffer = "irc;tilde.#idlerpg;151"
+default.buffer = "irc;tilde.#linux;152"
+default.buffer = "irc;tilde.#math;153"
+default.buffer = "irc;tilde.#meta;154"
+default.buffer = "irc;tilde.#minecraft;155"
+default.buffer = "irc;tilde.#netnews;156"
+default.buffer = "irc;tilde.#nsfw;157"
+default.buffer = "irc;tilde.#opers;158"
+default.buffer = "irc;tilde.#rw.rs;159"
+default.buffer = "irc;tilde.#secret-sudoers;160"
+default.buffer = "irc;tilde.#southlondon;161"
+default.buffer = "irc;tilde.#team;162"
+default.buffer = "irc;tilde.#thunix;163"
+default.buffer = "irc;tilde.#tilde.zone-admin;164"
+default.buffer = "irc;tilde.#tildebot;165"
+default.buffer = "irc;tilde.#tildenet;166"
+default.buffer = "irc;tilde.#tilderadio;167"
+default.buffer = "irc;tilde.#tilderadio-djs;168"
+default.buffer = "irc;tilde.#tildetel;169"
+default.buffer = "irc;tilde.#topm;170"
+default.buffer = "irc;tilde.#town;171"
+default.buffer = "irc;tilde.#vim;172"
+default.buffer = "irc;tilde.#wiki;173"
+default.buffer = "irc;tilde.#xinu;174"
+default.buffer = "irc;tilde.#ZfA;175"
+default.buffer = "irc;server.town;176"
+default.buffer = "irc;town.#admins;177"
+default.buffer = "irc;town.#adventofcode;178"
+default.buffer = "irc;town.#announcements;179"
+default.buffer = "irc;town.#bots;180"
+default.buffer = "irc;town.#counting;181"
+default.buffer = "irc;town.#tildetown;182"
+default.window = "1;0;20;1;-;-"
+default.window = "2;1;0;0;irc;tilde.#topm"
+default.window = "3;1;0;0;perl;highmon"
default.current = on
+[buffer]
+
[notify]
irc.server.liberta.casa = highlight
-irc.server.pisslocal = none
+irc.server.newnet = highlight
irc.server.tilde = highlight
perl.highmon = none
python.listbuffer = none
+python.snote = highlight
+python.snote-bots = highlight
+python.snote-conn = highlight
+python.snote-junk = highlight
[filter]
irc_smart = on;*;irc_smart_filter;*
markov_bitbot = on;irc.tilde.*;irc_privmsg;^,m(\s|arkov)|^\[Markov\]
[key]
-ctrl-? = "/input delete_previous_char"
-ctrl-A = "/input move_beginning_of_line"
-ctrl-B = "/input move_previous_char"
-ctrl-C_ = "/input insert \x1F"
-ctrl-Cb = "/input insert \x02"
-ctrl-Cc = "/input insert \x03"
-ctrl-Ci = "/input insert \x1D"
-ctrl-Co = "/input insert \x0F"
-ctrl-Cv = "/input insert \x16"
-ctrl-D = "/input delete_next_char"
-ctrl-E = "/input move_end_of_line"
-ctrl-F = "/input move_next_char"
-ctrl-G = "/fzf"
-ctrl-H = "/input delete_previous_char"
-ctrl-I = "/input complete_next"
-ctrl-J = "/input return"
-ctrl-K = "/input delete_end_of_line"
-ctrl-L = "/window refresh"
-ctrl-M = "/input return"
-ctrl-N = "/buffer +1"
-ctrl-P = "/buffer -1"
-ctrl-R = "/input search_text"
-ctrl-Sctrl-U = "/input set_unread"
-ctrl-T = "/input transpose_chars"
-ctrl-U = "/input delete_beginning_of_line"
-ctrl-W = "/input delete_previous_word"
-ctrl-X = "/input switch_active_buffer"
-ctrl-Y = "/input clipboard_paste"
-meta-ctrl-M = "/input insert \n"
-meta-meta-OP = "/bar scroll buflist * b"
-meta-meta-OQ = "/bar scroll buflist * e"
-meta-meta2-11~ = "/bar scroll buflist * b"
-meta-meta2-12~ = "/bar scroll buflist * e"
-meta-meta2-1~ = "/window scroll_top"
-meta-meta2-23~ = "/bar scroll nicklist * b"
-meta-meta2-24~ = "/bar scroll nicklist * e"
-meta-meta2-4~ = "/window scroll_bottom"
-meta-meta2-5~ = "/window scroll_up"
-meta-meta2-6~ = "/window scroll_down"
-meta-meta2-7~ = "/window scroll_top"
-meta-meta2-8~ = "/window scroll_bottom"
-meta-meta2-A = "/buffer -1"
-meta-meta2-B = "/buffer +1"
-meta-meta2-C = "/buffer +1"
-meta-meta2-D = "/buffer -1"
+backspace = "/input delete_previous_char"
+ctrl-_ = "/input undo"
+ctrl-a = "/input move_beginning_of_line"
+ctrl-b = "/input move_previous_char"
+ctrl-c,_ = "/input insert \x1F"
+ctrl-c,b = "/input insert \x02"
+ctrl-c,c = "/input insert \x03"
+ctrl-c,i = "/input insert \x1D"
+ctrl-c,o = "/input insert \x0F"
+ctrl-c,v = "/input insert \x16"
+ctrl-d = "/input delete_next_char"
+ctrl-down = "/input history_global_next"
+ctrl-e = "/input move_end_of_line"
+ctrl-f = "/input move_next_char"
+ctrl-f1 = "/bar scroll buflist * -100%"
+ctrl-f11 = "/bar scroll nicklist * -100%"
+ctrl-f12 = "/bar scroll nicklist * +100%"
+ctrl-f2 = "/bar scroll buflist * +100%"
+ctrl-k = "/input delete_end_of_line"
+ctrl-l = "/window refresh"
+ctrl-left = "/input move_previous_word"
+ctrl-n = "/buffer +1"
+ctrl-p = "/buffer -1"
+ctrl-r = "/input search_text_here"
+ctrl-right = "/input move_next_word"
+ctrl-s,ctrl-u = "/allbuf /buffer set unread"
+ctrl-t = "/input transpose_chars"
+ctrl-u = "/input delete_beginning_of_line"
+ctrl-up = "/input history_global_previous"
+ctrl-w = "/input delete_previous_word_whitespace"
+ctrl-x = "/buffer switch"
+ctrl-y = "/input clipboard_paste"
+delete = "/input delete_next_char"
+down = "/input history_next"
+end = "/input move_end_of_line"
+f1 = "/bar scroll buflist * -100%"
+f10 = "/bar scroll title * +30%"
+f11 = "/bar scroll nicklist * -100%"
+f12 = "/bar scroll nicklist * +100%"
+f2 = "/bar scroll buflist * +100%"
+f5 = "/buffer -1"
+f6 = "/buffer +1"
+f7 = "/window -1"
+f8 = "/window +1"
+f9 = "/bar scroll title * -30%"
+home = "/input move_beginning_of_line"
+left = "/input move_previous_char"
meta-- = "/filter toggle @"
-meta-/ = "/input jump_last_buffer_displayed"
+meta-/ = "/buffer jump last_displayed"
meta-0 = "/buffer *10"
meta-1 = "/buffer *1"
meta-2 = "/buffer *2"
@@ -438,255 +640,223 @@ meta-6 = "/buffer *6"
meta-7 = "/buffer *7"
meta-8 = "/buffer *8"
meta-9 = "/buffer *9"
-meta-< = "/input jump_previously_visited_buffer"
+meta-< = "/buffer jump prev_visited"
meta-= = "/filter toggle"
-meta-> = "/input jump_next_visited_buffer"
+meta-> = "/buffer jump next_visited"
meta-B = "/buflist toggle"
meta-C = "/buffer &SMS"
-meta-J = "/buffer server.libera"
meta-N = "/bar toggle nicklist"
-meta-OA = "/input history_global_previous"
-meta-OB = "/input history_global_next"
-meta-OC = "/input move_next_word"
-meta-OD = "/input move_previous_word"
-meta-OF = "/input move_end_of_line"
-meta-OH = "/input move_beginning_of_line"
-meta-OP = "/bar scroll buflist * -100%"
-meta-OQ = "/bar scroll buflist * +100%"
-meta-Oa = "/input history_global_previous"
-meta-Ob = "/input history_global_next"
-meta-Oc = "/input move_next_word"
-meta-Od = "/input move_previous_word"
-meta2-11^ = "/bar scroll buflist * -100%"
-meta2-11~ = "/bar scroll buflist * -100%"
-meta2-12^ = "/bar scroll buflist * +100%"
-meta2-12~ = "/bar scroll buflist * +100%"
-meta2-15~ = "/buffer -1"
-meta2-17~ = "/buffer +1"
-meta2-18~ = "/window -1"
-meta2-19~ = "/window +1"
-meta2-1;3A = "/buffer -1"
-meta2-1;3B = "/buffer +1"
-meta2-1;3C = "/buffer +1"
-meta2-1;3D = "/buffer -1"
-meta2-1;3F = "/window scroll_bottom"
-meta2-1;3H = "/window scroll_top"
-meta2-1;3P = "/bar scroll buflist * b"
-meta2-1;3Q = "/bar scroll buflist * e"
-meta2-1;5A = "/input history_global_previous"
-meta2-1;5B = "/input history_global_next"
-meta2-1;5C = "/input move_next_word"
-meta2-1;5D = "/input move_previous_word"
-meta2-1;5P = "/bar scroll buflist * -100%"
-meta2-1;5Q = "/bar scroll buflist * +100%"
-meta2-1~ = "/input move_beginning_of_line"
-meta2-200~ = "/input paste_start"
-meta2-201~ = "/input paste_stop"
-meta2-20~ = "/bar scroll title * -30%"
-meta2-21~ = "/bar scroll title * +30%"
-meta2-23;3~ = "/bar scroll nicklist * b"
-meta2-23;5~ = "/bar scroll nicklist * -100%"
-meta2-23^ = "/bar scroll nicklist * -100%"
-meta2-23~ = "/bar scroll nicklist * -100%"
-meta2-24;3~ = "/bar scroll nicklist * e"
-meta2-24;5~ = "/bar scroll nicklist * +100%"
-meta2-24^ = "/bar scroll nicklist * +100%"
-meta2-24~ = "/bar scroll nicklist * +100%"
-meta2-3~ = "/input delete_next_char"
-meta2-4~ = "/input move_end_of_line"
-meta2-5;3~ = "/window scroll_up"
-meta2-5~ = "/window page_up"
-meta2-6;3~ = "/window scroll_down"
-meta2-6~ = "/window page_down"
-meta2-7~ = "/input move_beginning_of_line"
-meta2-8~ = "/input move_end_of_line"
-meta2-A = "/input history_previous"
-meta2-B = "/input history_next"
-meta2-C = "/input move_next_char"
-meta2-D = "/input move_previous_char"
-meta2-F = "/input move_end_of_line"
-meta2-G = "/window page_down"
-meta2-H = "/input move_beginning_of_line"
-meta2-I = "/window page_up"
-meta2-Z = "/input complete_previous"
-meta2-[E = "/buffer -1"
+meta-R = "/input delete_input"
+meta-T = "/buffer server.libera"
meta-_ = "/input redo"
-meta-a = "/input jump_smart"
+meta-a = "/buffer jump smart"
meta-b = "/input move_previous_word"
+meta-backspace = "/input delete_previous_word"
meta-c = "/buffer &bitlbee"
+meta-ctrl-k = "/input delete_end_of_input"
+meta-ctrl-u = "/input delete_beginning_of_input"
meta-d = "/input delete_next_word"
+meta-down = "/buffer +1"
+meta-end = "/window scroll_bottom"
meta-f = "/input move_next_word"
+meta-f1 = "/bar scroll buflist * b"
+meta-f11 = "/bar scroll nicklist * b"
+meta-f12 = "/bar scroll nicklist * e"
+meta-f2 = "/bar scroll buflist * e"
meta-g = "/go"
-meta-hmeta-R = "/input hotlist_restore_all"
-meta-hmeta-c = "/input hotlist_clear"
-meta-hmeta-m = "/input hotlist_remove_buffer"
-meta-hmeta-r = "/input hotlist_restore_buffer"
-meta-j = "/buffer server.tilde"
-meta-jmeta-f = "/buffer -"
-meta-jmeta-l = "/buffer +"
-meta-jmeta-r = "/server raw"
-meta-jmeta-s = "/server jump"
-meta-j01 = "/buffer 1"
-meta-j02 = "/buffer 2"
-meta-j03 = "/buffer 3"
-meta-j04 = "/buffer 4"
-meta-j05 = "/buffer 5"
-meta-j06 = "/buffer 6"
-meta-j07 = "/buffer 7"
-meta-j08 = "/buffer 8"
-meta-j09 = "/buffer 9"
-meta-j10 = "/buffer 10"
-meta-j11 = "/buffer 11"
-meta-j12 = "/buffer 12"
-meta-j13 = "/buffer 13"
-meta-j14 = "/buffer 14"
-meta-j15 = "/buffer 15"
-meta-j16 = "/buffer 16"
-meta-j17 = "/buffer 17"
-meta-j18 = "/buffer 18"
-meta-j19 = "/buffer 19"
-meta-j20 = "/buffer 20"
-meta-j21 = "/buffer 21"
-meta-j22 = "/buffer 22"
-meta-j23 = "/buffer 23"
-meta-j24 = "/buffer 24"
-meta-j25 = "/buffer 25"
-meta-j26 = "/buffer 26"
-meta-j27 = "/buffer 27"
-meta-j28 = "/buffer 28"
-meta-j29 = "/buffer 29"
-meta-j30 = "/buffer 30"
-meta-j31 = "/buffer 31"
-meta-j32 = "/buffer 32"
-meta-j33 = "/buffer 33"
-meta-j34 = "/buffer 34"
-meta-j35 = "/buffer 35"
-meta-j36 = "/buffer 36"
-meta-j37 = "/buffer 37"
-meta-j38 = "/buffer 38"
-meta-j39 = "/buffer 39"
-meta-j40 = "/buffer 40"
-meta-j41 = "/buffer 41"
-meta-j42 = "/buffer 42"
-meta-j43 = "/buffer 43"
-meta-j44 = "/buffer 44"
-meta-j45 = "/buffer 45"
-meta-j46 = "/buffer 46"
-meta-j47 = "/buffer 47"
-meta-j48 = "/buffer 48"
-meta-j49 = "/buffer 49"
-meta-j50 = "/buffer 50"
-meta-j51 = "/buffer 51"
-meta-j52 = "/buffer 52"
-meta-j53 = "/buffer 53"
-meta-j54 = "/buffer 54"
-meta-j55 = "/buffer 55"
-meta-j56 = "/buffer 56"
-meta-j57 = "/buffer 57"
-meta-j58 = "/buffer 58"
-meta-j59 = "/buffer 59"
-meta-j60 = "/buffer 60"
-meta-j61 = "/buffer 61"
-meta-j62 = "/buffer 62"
-meta-j63 = "/buffer 63"
-meta-j64 = "/buffer 64"
-meta-j65 = "/buffer 65"
-meta-j66 = "/buffer 66"
-meta-j67 = "/buffer 67"
-meta-j68 = "/buffer 68"
-meta-j69 = "/buffer 69"
-meta-j70 = "/buffer 70"
-meta-j71 = "/buffer 71"
-meta-j72 = "/buffer 72"
-meta-j73 = "/buffer 73"
-meta-j74 = "/buffer 74"
-meta-j75 = "/buffer 75"
-meta-j76 = "/buffer 76"
-meta-j77 = "/buffer 77"
-meta-j78 = "/buffer 78"
-meta-j79 = "/buffer 79"
-meta-j80 = "/buffer 80"
-meta-j81 = "/buffer 81"
-meta-j82 = "/buffer 82"
-meta-j83 = "/buffer 83"
-meta-j84 = "/buffer 84"
-meta-j85 = "/buffer 85"
-meta-j86 = "/buffer 86"
-meta-j87 = "/buffer 87"
-meta-j88 = "/buffer 88"
-meta-j89 = "/buffer 89"
-meta-j90 = "/buffer 90"
-meta-j91 = "/buffer 91"
-meta-j92 = "/buffer 92"
-meta-j93 = "/buffer 93"
-meta-j94 = "/buffer 94"
-meta-j95 = "/buffer 95"
-meta-j96 = "/buffer 96"
-meta-j97 = "/buffer 97"
-meta-j98 = "/buffer 98"
-meta-j99 = "/buffer 99"
+meta-h,meta-R = "/hotlist restore -all"
+meta-h,meta-c = "/hotlist clear"
+meta-h,meta-m = "/hotlist remove"
+meta-h,meta-r = "/hotlist restore"
+meta-home = "/window scroll_top"
+meta-j,0,1 = "/buffer *1"
+meta-j,0,2 = "/buffer *2"
+meta-j,0,3 = "/buffer *3"
+meta-j,0,4 = "/buffer *4"
+meta-j,0,5 = "/buffer *5"
+meta-j,0,6 = "/buffer *6"
+meta-j,0,7 = "/buffer *7"
+meta-j,0,8 = "/buffer *8"
+meta-j,0,9 = "/buffer *9"
+meta-j,1,0 = "/buffer *10"
+meta-j,1,1 = "/buffer *11"
+meta-j,1,2 = "/buffer *12"
+meta-j,1,3 = "/buffer *13"
+meta-j,1,4 = "/buffer *14"
+meta-j,1,5 = "/buffer *15"
+meta-j,1,6 = "/buffer *16"
+meta-j,1,7 = "/buffer *17"
+meta-j,1,8 = "/buffer *18"
+meta-j,1,9 = "/buffer *19"
+meta-j,2,0 = "/buffer *20"
+meta-j,2,1 = "/buffer *21"
+meta-j,2,2 = "/buffer *22"
+meta-j,2,3 = "/buffer *23"
+meta-j,2,4 = "/buffer *24"
+meta-j,2,5 = "/buffer *25"
+meta-j,2,6 = "/buffer *26"
+meta-j,2,7 = "/buffer *27"
+meta-j,2,8 = "/buffer *28"
+meta-j,2,9 = "/buffer *29"
+meta-j,3,0 = "/buffer *30"
+meta-j,3,1 = "/buffer *31"
+meta-j,3,2 = "/buffer *32"
+meta-j,3,3 = "/buffer *33"
+meta-j,3,4 = "/buffer *34"
+meta-j,3,5 = "/buffer *35"
+meta-j,3,6 = "/buffer *36"
+meta-j,3,7 = "/buffer *37"
+meta-j,3,8 = "/buffer *38"
+meta-j,3,9 = "/buffer *39"
+meta-j,4,0 = "/buffer *40"
+meta-j,4,1 = "/buffer *41"
+meta-j,4,2 = "/buffer *42"
+meta-j,4,3 = "/buffer *43"
+meta-j,4,4 = "/buffer *44"
+meta-j,4,5 = "/buffer *45"
+meta-j,4,6 = "/buffer *46"
+meta-j,4,7 = "/buffer *47"
+meta-j,4,8 = "/buffer *48"
+meta-j,4,9 = "/buffer *49"
+meta-j,5,0 = "/buffer *50"
+meta-j,5,1 = "/buffer *51"
+meta-j,5,2 = "/buffer *52"
+meta-j,5,3 = "/buffer *53"
+meta-j,5,4 = "/buffer *54"
+meta-j,5,5 = "/buffer *55"
+meta-j,5,6 = "/buffer *56"
+meta-j,5,7 = "/buffer *57"
+meta-j,5,8 = "/buffer *58"
+meta-j,5,9 = "/buffer *59"
+meta-j,6,0 = "/buffer *60"
+meta-j,6,1 = "/buffer *61"
+meta-j,6,2 = "/buffer *62"
+meta-j,6,3 = "/buffer *63"
+meta-j,6,4 = "/buffer *64"
+meta-j,6,5 = "/buffer *65"
+meta-j,6,6 = "/buffer *66"
+meta-j,6,7 = "/buffer *67"
+meta-j,6,8 = "/buffer *68"
+meta-j,6,9 = "/buffer *69"
+meta-j,7,0 = "/buffer *70"
+meta-j,7,1 = "/buffer *71"
+meta-j,7,2 = "/buffer *72"
+meta-j,7,3 = "/buffer *73"
+meta-j,7,4 = "/buffer *74"
+meta-j,7,5 = "/buffer *75"
+meta-j,7,6 = "/buffer *76"
+meta-j,7,7 = "/buffer *77"
+meta-j,7,8 = "/buffer *78"
+meta-j,7,9 = "/buffer *79"
+meta-j,8,0 = "/buffer *80"
+meta-j,8,1 = "/buffer *81"
+meta-j,8,2 = "/buffer *82"
+meta-j,8,3 = "/buffer *83"
+meta-j,8,4 = "/buffer *84"
+meta-j,8,5 = "/buffer *85"
+meta-j,8,6 = "/buffer *86"
+meta-j,8,7 = "/buffer *87"
+meta-j,8,8 = "/buffer *88"
+meta-j,8,9 = "/buffer *89"
+meta-j,9,0 = "/buffer *90"
+meta-j,9,1 = "/buffer *91"
+meta-j,9,2 = "/buffer *92"
+meta-j,9,3 = "/buffer *93"
+meta-j,9,4 = "/buffer *94"
+meta-j,9,5 = "/buffer *95"
+meta-j,9,6 = "/buffer *96"
+meta-j,9,7 = "/buffer *97"
+meta-j,9,8 = "/buffer *98"
+meta-j,9,9 = "/buffer *99"
+meta-j,meta-f = "/buffer -"
+meta-j,meta-l = "/buffer +"
+meta-j,meta-r = "/server raw"
+meta-j,meta-s = "/server jump"
meta-k = "/input grab_key_command"
meta-l = "/window bare"
+meta-left = "/buffer -1"
meta-m = "/mute mouse toggle"
meta-n = "/window scroll_next_highlight"
meta-p = "/window scroll_previous_highlight"
+meta-pgdn = "/window scroll_down"
+meta-pgup = "/window scroll_up"
meta-r = "/input delete_line"
+meta-return = "/input insert \n"
+meta-right = "/buffer +1"
meta-s = "/mute spell toggle"
+meta-t = "/buffer server.tilde"
meta-u = "/window scroll_unread"
-meta-wmeta-meta2-A = "/window up"
-meta-wmeta-meta2-B = "/window down"
-meta-wmeta-meta2-C = "/window right"
-meta-wmeta-meta2-D = "/window left"
-meta-wmeta2-1;3A = "/window up"
-meta-wmeta2-1;3B = "/window down"
-meta-wmeta2-1;3C = "/window right"
-meta-wmeta2-1;3D = "/window left"
-meta-wmeta-b = "/window balance"
-meta-wmeta-s = "/window swap"
-meta-x = "/input zoom_merged_buffer"
+meta-up = "/buffer -1"
+meta-w,meta-b = "/window balance"
+meta-w,meta-down = "/window down"
+meta-w,meta-left = "/window left"
+meta-w,meta-right = "/window right"
+meta-w,meta-s = "/window swap"
+meta-w,meta-up = "/window up"
+meta-x = "/buffer zoom"
meta-z = "/window zoom"
-ctrl-_ = "/input undo"
+pgdn = "/window page_down"
+pgup = "/window page_up"
+return = "/input return"
+right = "/input move_next_char"
+shift-down = "/input move_next_line"
+shift-end = "/input move_end_of_input"
+shift-home = "/input move_beginning_of_input"
+shift-left = "/input move_previous_char"
+shift-right = "/input move_next_char"
+shift-tab = "/input complete_previous"
+shift-up = "/input move_previous_line"
+tab = "/input complete_next"
+up = "/input history_previous"
[key_search]
-ctrl-I = "/input search_switch_where"
-ctrl-J = "/input search_stop"
-ctrl-M = "/input search_stop"
-ctrl-Q = "/input search_stop"
-ctrl-R = "/input search_switch_regex"
-meta2-A = "/input search_previous"
-meta2-B = "/input search_next"
+ctrl-q = "/input search_stop"
+ctrl-r = "/input search_switch_regex"
+down = "/input search_next"
meta-c = "/input search_switch_case"
+return = "/input search_stop_here"
+tab = "/input search_switch_where"
+up = "/input search_previous"
+
+[key_histsearch]
+ctrl-o = "/input history_use_get_next"
+ctrl-q = "/input search_stop"
+ctrl-r = "/input search_previous"
+ctrl-s = "/input search_next"
+ctrl-x = "/input search_switch_regex"
+down = "/input search_next"
+meta-c = "/input search_switch_case"
+return = "/input search_stop_here"
+tab = "/input search_switch_where"
+up = "/input search_previous"
[key_cursor]
-ctrl-J = "/cursor stop"
-ctrl-M = "/cursor stop"
-meta-meta2-A = "/cursor move area_up"
-meta-meta2-B = "/cursor move area_down"
-meta-meta2-C = "/cursor move area_right"
-meta-meta2-D = "/cursor move area_left"
-meta2-1;3A = "/cursor move area_up"
-meta2-1;3B = "/cursor move area_down"
-meta2-1;3C = "/cursor move area_right"
-meta2-1;3D = "/cursor move area_left"
-meta2-A = "/cursor move up"
-meta2-B = "/cursor move down"
-meta2-C = "/cursor move right"
-meta2-D = "/cursor move left"
@chat(python.*):D = "hsignal:slack_cursor_delete"
@chat(python.*):L = "hsignal:slack_cursor_linkarchive"
@chat(python.*):M = "hsignal:slack_cursor_message"
@chat(python.*):R = "hsignal:slack_cursor_reply"
@chat(python.*):T = "hsignal:slack_cursor_thread"
+@chat:Q = "hsignal:chat_quote_time_prefix_message;/cursor stop"
+@chat:l = "hsignal:chat_quote_focused_line;/cursor stop"
+@chat:m = "hsignal:chat_quote_message;/cursor stop"
+@chat:q = "hsignal:chat_quote_prefix_message;/cursor stop"
@item(buffer_nicklist):K = "/window ${_window_number};/kickban ${nick}"
@item(buffer_nicklist):b = "/window ${_window_number};/ban ${nick}"
@item(buffer_nicklist):k = "/window ${_window_number};/kick ${nick}"
@item(buffer_nicklist):q = "/window ${_window_number};/query ${nick};/cursor stop"
@item(buffer_nicklist):w = "/window ${_window_number};/whois ${nick}"
-@chat:Q = "hsignal:chat_quote_time_prefix_message;/cursor stop"
-@chat:m = "hsignal:chat_quote_message;/cursor stop"
-@chat:q = "hsignal:chat_quote_prefix_message;/cursor stop"
+down = "/cursor move down"
+left = "/cursor move left"
+meta-down = "/cursor move area_down"
+meta-left = "/cursor move area_left"
+meta-right = "/cursor move area_right"
+meta-up = "/cursor move area_up"
+return = "/cursor stop"
+right = "/cursor move right"
+up = "/cursor move up"
[key_mouse]
+@*:button3 = "/cursor go ${_x},${_y}"
@bar(buflist):ctrl-wheeldown = "hsignal:buflist_mouse"
@bar(buflist):ctrl-wheelup = "hsignal:buflist_mouse"
@bar(input):button2 = "/input grab_mouse_area"
@@ -694,19 +864,30 @@ meta2-D = "/cursor move left"
@bar(nicklist):button1-gesture-down-long = "/bar scroll nicklist ${_window_number} e"
@bar(nicklist):button1-gesture-up = "/bar scroll nicklist ${_window_number} -100%"
@bar(nicklist):button1-gesture-up-long = "/bar scroll nicklist ${_window_number} b"
+@bar:wheeldown = "/bar scroll ${_bar_name} ${_window_number} +20%"
+@bar:wheelup = "/bar scroll ${_bar_name} ${_window_number} -20%"
@chat(fset.fset):button1 = "/window ${_window_number};/fset -go ${_chat_line_y}"
@chat(fset.fset):button2* = "hsignal:fset_mouse"
@chat(fset.fset):wheeldown = "/fset -down 5"
@chat(fset.fset):wheelup = "/fset -up 5"
-@chat(perl.iset):button1 = "hsignal:iset_mouse"
-@chat(perl.iset):button2* = "hsignal:iset_mouse"
-@chat(perl.iset):wheeldown = "/repeat 5 /iset **down"
-@chat(perl.iset):wheelup = "/repeat 5 /iset **up"
+@chat(irc.list_*):button1 = "/window ${_window_number};/list -go ${_chat_line_y}"
+@chat(irc.list_*):button2* = "hsignal:irc_list_mouse"
+@chat(irc.list_*):wheeldown = "/list -down 5"
+@chat(irc.list_*):wheelup = "/list -up 5"
@chat(python.*):button2 = "hsignal:slack_mouse"
@chat(script.scripts):button1 = "/window ${_window_number};/script go ${_chat_line_y}"
@chat(script.scripts):button2 = "/window ${_window_number};/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}"
@chat(script.scripts):wheeldown = "/script down 5"
@chat(script.scripts):wheelup = "/script up 5"
+@chat:button1 = "/window ${_window_number}"
+@chat:button1-gesture-left = "/window ${_window_number};/buffer -1"
+@chat:button1-gesture-left-long = "/window ${_window_number};/buffer 1"
+@chat:button1-gesture-right = "/window ${_window_number};/buffer +1"
+@chat:button1-gesture-right-long = "/window ${_window_number};/buffer +"
+@chat:ctrl-wheeldown = "/window scroll_horiz -window ${_window_number} +10%"
+@chat:ctrl-wheelup = "/window scroll_horiz -window ${_window_number} -10%"
+@chat:wheeldown = "/window scroll_down -window ${_window_number}"
+@chat:wheelup = "/window scroll_up -window ${_window_number}"
@item(buffer_nicklist):button1 = "/window ${_window_number};/query ${nick}"
@item(buffer_nicklist):button1-gesture-left = "/window ${_window_number};/kick ${nick}"
@item(buffer_nicklist):button1-gesture-left-long = "/window ${_window_number};/kickban ${nick}"
@@ -718,15 +899,7 @@ meta2-D = "/cursor move left"
@item(buflist2):button2* = "hsignal:buflist_mouse"
@item(buflist3):button1* = "hsignal:buflist_mouse"
@item(buflist3):button2* = "hsignal:buflist_mouse"
-@bar:wheeldown = "/bar scroll ${_bar_name} ${_window_number} +20%"
-@bar:wheelup = "/bar scroll ${_bar_name} ${_window_number} -20%"
-@chat:button1 = "/window ${_window_number}"
-@chat:button1-gesture-left = "/window ${_window_number};/buffer -1"
-@chat:button1-gesture-left-long = "/window ${_window_number};/buffer 1"
-@chat:button1-gesture-right = "/window ${_window_number};/buffer +1"
-@chat:button1-gesture-right-long = "/window ${_window_number};/input jump_last_buffer"
-@chat:ctrl-wheeldown = "/window scroll_horiz -window ${_window_number} +10%"
-@chat:ctrl-wheelup = "/window scroll_horiz -window ${_window_number} -10%"
-@chat:wheeldown = "/window scroll_down -window ${_window_number}"
-@chat:wheelup = "/window scroll_up -window ${_window_number}"
-@*:button3 = "/cursor go ${_x},${_y}"
+@item(buflist4):button1* = "hsignal:buflist_mouse"
+@item(buflist4):button2* = "hsignal:buflist_mouse"
+@item(buflist5):button1* = "hsignal:buflist_mouse"
+@item(buflist5):button2* = "hsignal:buflist_mouse"
diff --git a/weechat/.weechat/xfer.conf b/weechat/.weechat/xfer.conf
index 63efc61..1bbf8d9 100644
--- a/weechat/.weechat/xfer.conf
+++ b/weechat/.weechat/xfer.conf
@@ -6,7 +6,7 @@
#
# Use commands like /set or /fset to change settings in WeeChat.
#
-# For more info, see: https://weechat.org/doc/quickstart/
+# For more info, see: https://weechat.org/doc/weechat/quickstart/
#
[look]
@@ -17,7 +17,7 @@ pv_tags = "notify_private"
[color]
status_aborted = lightred
status_active = lightblue
-status_connecting = 130
+status_connecting = yellow
status_done = lightgreen
status_failed = lightred
status_waiting = lightcyan
@@ -28,7 +28,7 @@ text_selected = white
[network]
blocksize = 65536
fast_send = on
-own_ip = "167.114.7.65"
+own_ip = "198.108.77.243"
port_range = "42069"
send_ack = on
speed_limit_recv = 0