my shell and tool configurations

a bunch of weechat stuff i forgot to commit

+1015 -1453
+32 -31
weechat/.weechat/alias.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 + 12 + config_version = 2 11 13 12 14 [cmd] 13 15 alis = "/msg alis list $*" 14 16 bc = "/exec -sh -o echo "$*" | bc" 15 - BEEP = "print -beep" 16 - BYE = "quit" 17 - C = "buffer close" 18 - CHAT = "dcc chat" 19 - CL = "buffer clear" 20 - CLOSE = "buffer close" 17 + beep = "print -beep" 18 + bye = "quit" 19 + c = "buffer close" 20 + chat = "dcc chat" 21 + cl = "buffer clear" 22 + close = "buffer close" 21 23 cso = "cs op $channel" 22 24 emoji = "exec -o python3 -c "print(__import__(\"emoji\").emojize(\"$*\", use_aliases=True))"" 23 25 factor = "/exec -sh -o factor $1 | cut -d" " -f 2,3 | tr " " ","" 24 - IG = "ignore" 25 - J = "join" 26 - K = "kick" 27 - KB = "kickban" 28 - LEAVE = "part" 29 - lenny = "/msg $channel ( ͡° ͜ʖ ͡°)" 30 - M = "msg" 31 - MSGBUF = "command -buffer $1 * /input send $2-" 32 - MUB = "unban *" 33 - N = "names" 26 + ig = "ignore" 27 + j = "join" 28 + k = "kick" 29 + kb = "kickban" 30 + leave = "part" 31 + m = "msg" 32 + msgbuf = "command -buffer $1 * /input send $2-" 33 + mub = "unban *" 34 + n = "names" 34 35 ni = "/ns info =$1;/buffer server.libera" 35 36 pbcmd = "/exec -o -sh $* | pb" 36 37 py = "/exec -o python3 -c "print($*)"" 37 - Q = "query" 38 + q = "query" 38 39 rainbow = "/exec -o toilet --irc --gay -f term -- $*" 39 - REDRAW = "window refresh" 40 - SAY = "msg *" 41 - SLAP = "me slaps $1 around a bit with a large trout" 42 - T = "topic" 43 - UB = "unban" 44 - UMODE = "mode $nick" 40 + redraw = "window refresh" 41 + say = "msg *" 42 + slap = "me slaps $1 around a bit with a large trout" 43 + t = "topic" 44 + ub = "unban" 45 + umode = "mode $nick" 45 46 unscramble = "/exec -sh -o curl -s "http://anagramica.com/best/$*" | jq -r '.best[0]'" 46 - V = "command core version" 47 - W = "who" 48 - WC = "window merge" 49 - WI = "whois" 50 - WII = "whois $1 $1" 51 - WW = "whowas" 47 + v = "command core version" 48 + w = "who" 49 + wc = "window merge" 50 + wi = "whois" 51 + wii = "whois $1 $1" 52 + ww = "whowas" 52 53 53 54 [completion] 54 - MSGBUF = "%(buffers_plugins_names)" 55 + msgbuf = "%(buffers_plugins_names)"
+1 -1
weechat/.weechat/autosort.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 11 12 12 [sorting]
+1 -1
weechat/.weechat/buffer_autoset.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 11 12 12 [look]
+1 -1
weechat/.weechat/buflist.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 11 12 12 [look]
+1 -1
weechat/.weechat/charset.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 11 12 12 [default]
+1 -1
weechat/.weechat/colorize_nicks.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 11 12 12 [look]
+1 -1
weechat/.weechat/exec.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 11 12 12 [command]
+1 -1
weechat/.weechat/fifo.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 11 12 12 [file]
+18 -14
weechat/.weechat/fset.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 11 12 12 [look] ··· 20 20 show_plugins_desc = off 21 21 sort = "~name" 22 22 unmarked_string = " " 23 - use_color_value = off 23 + use_color_value = on 24 24 use_keys = on 25 25 use_mute = off 26 26 ··· 32 32 option2 = "${marked} ${name} ${type} ${value2}${newline} ${empty_name} ${_default_value}${color:darkgray} -- ${min}..${max}${newline} ${empty_name} ${description}" 33 33 34 34 [color] 35 + allowed_values = default 36 + allowed_values_selected = white 37 + color_name = 246 38 + color_name_selected = default 35 39 default_value = default 36 40 default_value_selected = white 37 - description = default 38 - description_selected = white 41 + description = 242 42 + description_selected = default 39 43 file = default 40 44 file_changed = brown 41 45 file_changed_selected = yellow ··· 47 51 help_values = default 48 52 index = cyan 49 53 index_selected = lightcyan 50 - line_marked_bg1 = default 51 - line_marked_bg2 = default 52 - line_selected_bg1 = blue 53 - line_selected_bg2 = red 54 + line_marked_bg1 = 17 55 + line_marked_bg2 = 17 56 + line_selected_bg1 = 24 57 + line_selected_bg2 = 24 54 58 marked = brown 55 59 marked_selected = yellow 56 60 max = default ··· 58 62 min = default 59 63 min_selected = white 60 64 name = default 61 - name_changed = brown 65 + name_changed = 185 62 66 name_changed_selected = yellow 63 67 name_selected = white 64 68 option = default ··· 84 88 title_filter = yellow 85 89 title_marked_options = lightgreen 86 90 title_sort = white 87 - type = green 88 - type_selected = lightgreen 91 + type = 138 92 + type_selected = 216 89 93 unmarked = default 90 94 unmarked_selected = white 91 - value = cyan 92 - value_changed = brown 95 + value = 38 96 + value_changed = 185 93 97 value_changed_selected = yellow 94 - value_selected = lightcyan 98 + value_selected = 159 95 99 value_undef = magenta 96 100 value_undef_selected = lightmagenta
+335 -300
weechat/.weechat/irc.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 + 12 + config_version = 5 11 13 12 14 [look] 13 15 buffer_open_before_autojoin = on ··· 27 29 display_extended_join = on 28 30 display_host_join = on 29 31 display_host_join_local = on 32 + display_host_notice = on 30 33 display_host_quit = on 34 + display_host_wallops = on 31 35 display_join_message = "329,332,333,366" 32 36 display_old_topic = on 33 37 display_pv_away_once = on 34 38 display_pv_back = on 39 + display_pv_nick_change = on 35 40 display_pv_warning_address = off 36 41 highlight_channel = "$nick" 37 42 highlight_pv = "$nick" 38 43 highlight_server = "$nick" 39 44 highlight_tags_restrict = "irc_privmsg,irc_notice" 45 + ignore_tag_messages = off 40 46 item_channel_modes_hide_args = "k" 41 47 item_display_server = buffer_plugin 42 48 item_nick_modes = on 43 49 item_nick_prefix = on 44 50 join_auto_add_chantype = off 51 + list_buffer = on 52 + list_buffer_format_export = "${name} (${users}): "${topic}"" 53 + list_buffer_scroll_horizontal = 10 54 + list_buffer_sort = "~name2" 55 + list_buffer_topic_strip_colors = on 45 56 msgbuffer_fallback = current 46 57 new_channel_position = none 58 + new_list_position = none 47 59 new_pv_position = none 48 60 nick_completion_smart = speakers 49 61 nick_mode = both ··· 54 66 notice_welcome_tags = "" 55 67 notify_tags_ison = "notify_message" 56 68 notify_tags_whois = "notify_message" 69 + open_pv_buffer_echo_msg = on 57 70 part_closes_buffer = off 58 71 pv_buffer = independent 59 72 pv_tags = "notify_private" ··· 68 81 smart_filter_mode = "+" 69 82 smart_filter_nick = on 70 83 smart_filter_quit = on 84 + smart_filter_setname = on 71 85 temporary_servers = off 72 86 topic_strip_colors = off 73 87 typing_status_nicks = on ··· 75 89 76 90 [color] 77 91 input_nick = lightcyan 78 - item_channel_modes = lightcyan 79 92 item_lag_counting = default 80 93 item_lag_finished = 130 81 94 item_nick_modes = lightgreen 82 95 item_tls_version_deprecated = yellow 83 96 item_tls_version_insecure = red 84 97 item_tls_version_ok = green 98 + list_buffer_line_selected = white 99 + list_buffer_line_selected_bg = 24 85 100 message_account = cyan 86 101 message_chghost = brown 87 102 message_join = green 88 103 message_kick = red 89 104 message_quit = red 105 + message_setname = brown 90 106 mirc_remap = "1,-1:darkgray" 91 - nick_prefixes = "q:lightred;a:lightcyan;o:lightgreen;h:lightmagenta;v:yellow;*:lightblue" 107 + nick_prefixes = "y:lightred;q:lightred;a:lightcyan;o:lightgreen;h:lightmagenta;v:yellow;*:lightblue" 92 108 notice = green 93 109 reason_kick = default 94 - reason_quit = default 110 + reason_quit = 244 111 + term_remap = "0,-1:darkgray" 95 112 topic_current = default 96 - topic_new = white 97 - topic_old = default 113 + topic_new = 36 114 + topic_old = 244 98 115 99 116 [network] 100 117 autoreconnect_delay_growing = 2 ··· 105 122 lag_check = 60 106 123 lag_max = 1800 107 124 lag_min_show = 500 108 - lag_reconnect = 0 125 + lag_reconnect = 300 109 126 lag_refresh_interval = 1 110 127 notify_check_ison = 1 111 128 notify_check_whois = 5 ··· 120 137 pronouns = "he/him" 121 138 122 139 [ignore] 140 + ignore = libera;*;^saslserv$ 141 + ignore = libera;#libera-audit;^operserv$ 123 142 124 143 [server_default] 125 144 addresses = "" 126 - anti_flood_prio_high = 2 127 - anti_flood_prio_low = 2 145 + anti_flood = 2000 128 146 autoconnect = on 129 147 autojoin = "" 148 + autojoin_delay = 0 130 149 autojoin_dynamic = on 131 150 autoreconnect = on 132 151 autoreconnect_delay = 10 ··· 140 159 command_delay = 0 141 160 connection_timeout = 60 142 161 default_chantypes = "#&" 143 - ipv6 = off 162 + ipv6 = disable 144 163 local_hostname = "" 145 164 msg_kick = "" 146 165 msg_part = "ping me anyways i guess" ··· 151 170 password = "" 152 171 proxy = "" 153 172 realname = "ben" 173 + registered_mode = "r" 154 174 sasl_fail = continue 155 175 sasl_key = "" 156 176 sasl_mechanism = plain ··· 158 178 sasl_timeout = 15 159 179 sasl_username = "" 160 180 split_msg_max_length = 512 161 - ssl = off 162 - ssl_cert = "%h/ssl/benharri.pem" 163 - ssl_dhkey_size = 2048 164 - ssl_fingerprint = "" 165 - ssl_password = "" 166 - ssl_priorities = "NORMAL" 167 - ssl_verify = on 181 + tls = off 182 + tls_cert = "%h/ssl/benharri.pem" 183 + tls_dhkey_size = 2048 184 + tls_fingerprint = "" 185 + tls_password = "" 186 + tls_priorities = "NORMAL" 187 + tls_verify = on 168 188 usermode = "" 169 189 username = "${env:USER}" 170 190 ··· 172 192 tilde.addresses = "tilde.chat/6697" 173 193 tilde.proxy 174 194 tilde.ipv6 175 - tilde.ssl = on 176 - tilde.ssl_cert 177 - tilde.ssl_password 178 - tilde.ssl_priorities 179 - tilde.ssl_dhkey_size 180 - tilde.ssl_fingerprint 181 - tilde.ssl_verify 195 + tilde.tls = on 196 + tilde.tls_cert 197 + tilde.tls_password 198 + tilde.tls_priorities 199 + tilde.tls_dhkey_size 200 + tilde.tls_fingerprint 201 + tilde.tls_verify 182 202 tilde.password 183 203 tilde.capabilities 184 204 tilde.sasl_mechanism ··· 196 216 tilde.realname 197 217 tilde.local_hostname 198 218 tilde.usermode 219 + tilde.command_delay 199 220 tilde.command = "/msg idlerpg_bot login wowbagger ${sec.data.idlerpgpass}" 200 - tilde.command_delay = 25 201 - 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" 221 + tilde.autojoin_delay 222 + 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" 202 223 tilde.autojoin_dynamic 203 224 tilde.autorejoin 204 225 tilde.autorejoin_delay 205 226 tilde.connection_timeout 206 - tilde.anti_flood_prio_high 207 - tilde.anti_flood_prio_low 227 + tilde.anti_flood 208 228 tilde.away_check 209 229 tilde.away_check_max_nicks 210 230 tilde.msg_kick ··· 214 234 tilde.split_msg_max_length 215 235 tilde.charset_message 216 236 tilde.default_chantypes 237 + tilde.registered_mode 217 238 hashbang.addresses = "irc.hashbang.sh/6697" 218 239 hashbang.proxy 219 240 hashbang.ipv6 220 - hashbang.ssl = on 221 - hashbang.ssl_cert 222 - hashbang.ssl_password 223 - hashbang.ssl_priorities 224 - hashbang.ssl_dhkey_size 225 - hashbang.ssl_fingerprint 226 - hashbang.ssl_verify 241 + hashbang.tls = on 242 + hashbang.tls_cert 243 + hashbang.tls_password 244 + hashbang.tls_priorities 245 + hashbang.tls_dhkey_size 246 + hashbang.tls_fingerprint 247 + hashbang.tls_verify 227 248 hashbang.password 228 249 hashbang.capabilities 229 250 hashbang.sasl_mechanism = external ··· 241 262 hashbang.realname 242 263 hashbang.local_hostname 243 264 hashbang.usermode 265 + hashbang.command_delay 244 266 hashbang.command 245 - hashbang.command_delay 267 + hashbang.autojoin_delay 246 268 hashbang.autojoin = "#!,#!opers,#!social" 247 269 hashbang.autojoin_dynamic 248 270 hashbang.autorejoin 249 271 hashbang.autorejoin_delay 250 272 hashbang.connection_timeout 251 - hashbang.anti_flood_prio_high 252 - hashbang.anti_flood_prio_low 273 + hashbang.anti_flood 253 274 hashbang.away_check 254 275 hashbang.away_check_max_nicks 255 276 hashbang.msg_kick ··· 259 280 hashbang.split_msg_max_length 260 281 hashbang.charset_message 261 282 hashbang.default_chantypes 283 + hashbang.registered_mode 262 284 town.addresses = "localhost/2345" 263 285 town.proxy 264 286 town.ipv6 265 - town.ssl 266 - town.ssl_cert 267 - town.ssl_password 268 - town.ssl_priorities 269 - town.ssl_dhkey_size 270 - town.ssl_fingerprint 271 - town.ssl_verify 287 + town.tls 288 + town.tls_cert 289 + town.tls_password 290 + town.tls_priorities 291 + town.tls_dhkey_size 292 + town.tls_fingerprint 293 + town.tls_verify 272 294 town.password 273 295 town.capabilities 274 296 town.sasl_mechanism ··· 286 308 town.realname 287 309 town.local_hostname 288 310 town.usermode 289 - town.command 290 311 town.command_delay 291 - town.autojoin = "#admins,#adventofcode,#announcements,#bots,#counting,#tildetown" 312 + town.command 313 + town.autojoin_delay 314 + town.autojoin = "#announcements,#bots,#counting,#tildetown" 292 315 town.autojoin_dynamic 293 316 town.autorejoin 294 317 town.autorejoin_delay 295 318 town.connection_timeout 296 - town.anti_flood_prio_high 297 - town.anti_flood_prio_low 319 + town.anti_flood 298 320 town.away_check 299 321 town.away_check_max_nicks 300 322 town.msg_kick ··· 304 326 town.split_msg_max_length 305 327 town.charset_message 306 328 town.default_chantypes 329 + town.registered_mode 307 330 esper.addresses = "irc.esper.net/6697" 308 331 esper.proxy 309 332 esper.ipv6 310 - esper.ssl = on 311 - esper.ssl_cert 312 - esper.ssl_password 313 - esper.ssl_priorities 314 - esper.ssl_dhkey_size 315 - esper.ssl_fingerprint 316 - esper.ssl_verify 333 + esper.tls = on 334 + esper.tls_cert 335 + esper.tls_password 336 + esper.tls_priorities 337 + esper.tls_dhkey_size 338 + esper.tls_fingerprint 339 + esper.tls_verify 317 340 esper.password 318 341 esper.capabilities 319 342 esper.sasl_mechanism ··· 331 354 esper.realname 332 355 esper.local_hostname 333 356 esper.usermode 357 + esper.command_delay 334 358 esper.command 335 - esper.command_delay 359 + esper.autojoin_delay 336 360 esper.autojoin = "#factorio,#lobby" 337 361 esper.autojoin_dynamic 338 362 esper.autorejoin 339 363 esper.autorejoin_delay 340 364 esper.connection_timeout 341 - esper.anti_flood_prio_high 342 - esper.anti_flood_prio_low 365 + esper.anti_flood 343 366 esper.away_check 344 367 esper.away_check_max_nicks 345 368 esper.msg_kick ··· 349 372 esper.split_msg_max_length 350 373 esper.charset_message 351 374 esper.default_chantypes 352 - sdf.addresses = "localhost/2346" 353 - sdf.proxy 354 - sdf.ipv6 355 - sdf.ssl 356 - sdf.ssl_cert 357 - sdf.ssl_password 358 - sdf.ssl_priorities 359 - sdf.ssl_dhkey_size 360 - sdf.ssl_fingerprint 361 - sdf.ssl_verify 362 - sdf.password 363 - sdf.capabilities 364 - sdf.sasl_mechanism 365 - sdf.sasl_username 366 - sdf.sasl_password 367 - sdf.sasl_key 368 - sdf.sasl_timeout 369 - sdf.sasl_fail 370 - sdf.autoconnect = on 371 - sdf.autoreconnect 372 - sdf.autoreconnect_delay 373 - sdf.nicks = "benharri" 374 - sdf.nicks_alternate 375 - sdf.username = "benharri" 376 - sdf.realname 377 - sdf.local_hostname 378 - sdf.usermode 379 - sdf.command 380 - sdf.command_delay 381 - sdf.autojoin = "#sdf,#spanish" 382 - sdf.autojoin_dynamic 383 - sdf.autorejoin 384 - sdf.autorejoin_delay 385 - sdf.connection_timeout 386 - sdf.anti_flood_prio_high 387 - sdf.anti_flood_prio_low 388 - sdf.away_check 389 - sdf.away_check_max_nicks 390 - sdf.msg_kick 391 - sdf.msg_part 392 - sdf.msg_quit 393 - sdf.notify 394 - sdf.split_msg_max_length 395 - sdf.charset_message 396 - sdf.default_chantypes 375 + esper.registered_mode 397 376 darwin.addresses = "irc.darwin.network/6698" 398 377 darwin.proxy 399 378 darwin.ipv6 400 - darwin.ssl = on 401 - darwin.ssl_cert 402 - darwin.ssl_password 403 - darwin.ssl_priorities 404 - darwin.ssl_dhkey_size 405 - darwin.ssl_fingerprint 406 - darwin.ssl_verify 379 + darwin.tls = on 380 + darwin.tls_cert 381 + darwin.tls_password 382 + darwin.tls_priorities 383 + darwin.tls_dhkey_size 384 + darwin.tls_fingerprint 385 + darwin.tls_verify 407 386 darwin.password 408 387 darwin.capabilities 409 388 darwin.sasl_mechanism = external ··· 421 400 darwin.realname 422 401 darwin.local_hostname 423 402 darwin.usermode 403 + darwin.command_delay 424 404 darwin.command 425 - darwin.command_delay 405 + darwin.autojoin_delay 426 406 darwin.autojoin = "#darwin" 427 407 darwin.autojoin_dynamic 428 408 darwin.autorejoin = on 429 409 darwin.autorejoin_delay 430 410 darwin.connection_timeout 431 - darwin.anti_flood_prio_high 432 - darwin.anti_flood_prio_low 411 + darwin.anti_flood 433 412 darwin.away_check 434 413 darwin.away_check_max_nicks 435 414 darwin.msg_kick ··· 439 418 darwin.split_msg_max_length 440 419 darwin.charset_message 441 420 darwin.default_chantypes 421 + darwin.registered_mode 442 422 oftc.addresses = "irc4.oftc.net/6697" 443 423 oftc.proxy 444 424 oftc.ipv6 445 - oftc.ssl = on 446 - oftc.ssl_cert 447 - oftc.ssl_password 448 - oftc.ssl_priorities 449 - oftc.ssl_dhkey_size 450 - oftc.ssl_fingerprint 451 - oftc.ssl_verify 425 + oftc.tls = on 426 + oftc.tls_cert 427 + oftc.tls_password 428 + oftc.tls_priorities 429 + oftc.tls_dhkey_size 430 + oftc.tls_fingerprint 431 + oftc.tls_verify 452 432 oftc.password 453 433 oftc.capabilities 454 434 oftc.sasl_mechanism ··· 466 446 oftc.realname 467 447 oftc.local_hostname 468 448 oftc.usermode 469 - oftc.command 470 449 oftc.command_delay 471 - oftc.autojoin = "#bitlbee,#debian-devel,#debian-www,#fish,#salsa,#tilde.team" 450 + oftc.command 451 + oftc.autojoin_delay 452 + oftc.autojoin = "#bitlbee,#debian-devel,#fish,#salsa,#tilde.team" 472 453 oftc.autojoin_dynamic 473 454 oftc.autorejoin 474 455 oftc.autorejoin_delay 475 456 oftc.connection_timeout 476 - oftc.anti_flood_prio_high 477 - oftc.anti_flood_prio_low 457 + oftc.anti_flood 478 458 oftc.away_check 479 459 oftc.away_check_max_nicks 480 460 oftc.msg_kick ··· 484 464 oftc.split_msg_max_length 485 465 oftc.charset_message 486 466 oftc.default_chantypes 467 + oftc.registered_mode 487 468 blinkenshell.addresses = "irc.blinkenshell.org/6697" 488 469 blinkenshell.proxy 489 470 blinkenshell.ipv6 490 - blinkenshell.ssl = on 491 - blinkenshell.ssl_cert 492 - blinkenshell.ssl_password 493 - blinkenshell.ssl_priorities 494 - blinkenshell.ssl_dhkey_size 495 - blinkenshell.ssl_fingerprint 496 - blinkenshell.ssl_verify 471 + blinkenshell.tls = on 472 + blinkenshell.tls_cert 473 + blinkenshell.tls_password 474 + blinkenshell.tls_priorities 475 + blinkenshell.tls_dhkey_size 476 + blinkenshell.tls_fingerprint 477 + blinkenshell.tls_verify 497 478 blinkenshell.password 498 479 blinkenshell.capabilities 499 480 blinkenshell.sasl_mechanism ··· 511 492 blinkenshell.realname 512 493 blinkenshell.local_hostname 513 494 blinkenshell.usermode 495 + blinkenshell.command_delay 514 496 blinkenshell.command 515 - blinkenshell.command_delay 497 + blinkenshell.autojoin_delay 516 498 blinkenshell.autojoin = "#blinkenshell" 517 499 blinkenshell.autojoin_dynamic 518 500 blinkenshell.autorejoin 519 501 blinkenshell.autorejoin_delay 520 502 blinkenshell.connection_timeout 521 - blinkenshell.anti_flood_prio_high 522 - blinkenshell.anti_flood_prio_low 503 + blinkenshell.anti_flood 523 504 blinkenshell.away_check 524 505 blinkenshell.away_check_max_nicks 525 506 blinkenshell.msg_kick ··· 529 510 blinkenshell.split_msg_max_length 530 511 blinkenshell.charset_message 531 512 blinkenshell.default_chantypes 513 + blinkenshell.registered_mode 532 514 inspircd.addresses = "irc.inspircd.org" 533 515 inspircd.proxy 534 516 inspircd.ipv6 535 - inspircd.ssl 536 - inspircd.ssl_cert 537 - inspircd.ssl_password 538 - inspircd.ssl_priorities 539 - inspircd.ssl_dhkey_size 540 - inspircd.ssl_fingerprint 541 - inspircd.ssl_verify 517 + inspircd.tls 518 + inspircd.tls_cert 519 + inspircd.tls_password 520 + inspircd.tls_priorities 521 + inspircd.tls_dhkey_size 522 + inspircd.tls_fingerprint 523 + inspircd.tls_verify 542 524 inspircd.password 543 525 inspircd.capabilities 544 526 inspircd.sasl_mechanism ··· 556 538 inspircd.realname 557 539 inspircd.local_hostname 558 540 inspircd.usermode 541 + inspircd.command_delay 559 542 inspircd.command 560 - inspircd.command_delay 543 + inspircd.autojoin_delay 561 544 inspircd.autojoin = "#inspircd" 562 545 inspircd.autojoin_dynamic 563 546 inspircd.autorejoin 564 547 inspircd.autorejoin_delay 565 548 inspircd.connection_timeout 566 - inspircd.anti_flood_prio_high 567 - inspircd.anti_flood_prio_low 549 + inspircd.anti_flood 568 550 inspircd.away_check 569 551 inspircd.away_check_max_nicks 570 552 inspircd.msg_kick ··· 574 556 inspircd.split_msg_max_length 575 557 inspircd.charset_message 576 558 inspircd.default_chantypes 559 + inspircd.registered_mode 577 560 slashnet.addresses = "us.slashnet.org" 578 561 slashnet.proxy 579 562 slashnet.ipv6 580 - slashnet.ssl 581 - slashnet.ssl_cert 582 - slashnet.ssl_password 583 - slashnet.ssl_priorities 584 - slashnet.ssl_dhkey_size 585 - slashnet.ssl_fingerprint 586 - slashnet.ssl_verify 563 + slashnet.tls 564 + slashnet.tls_cert 565 + slashnet.tls_password 566 + slashnet.tls_priorities 567 + slashnet.tls_dhkey_size 568 + slashnet.tls_fingerprint 569 + slashnet.tls_verify 587 570 slashnet.password 588 571 slashnet.capabilities 589 572 slashnet.sasl_mechanism ··· 601 584 slashnet.realname 602 585 slashnet.local_hostname 603 586 slashnet.usermode 604 - slashnet.command = "/ns identify ${sec.data.slashnetpass}" 605 587 slashnet.command_delay 588 + slashnet.command = "/ns identify ${sec.data.slashnetpass}" 589 + slashnet.autojoin_delay 606 590 slashnet.autojoin = "#gtlug" 607 591 slashnet.autojoin_dynamic 608 592 slashnet.autorejoin 609 593 slashnet.autorejoin_delay 610 594 slashnet.connection_timeout 611 - slashnet.anti_flood_prio_high 612 - slashnet.anti_flood_prio_low 595 + slashnet.anti_flood 613 596 slashnet.away_check 614 597 slashnet.away_check_max_nicks 615 598 slashnet.msg_kick ··· 619 602 slashnet.split_msg_max_length 620 603 slashnet.charset_message 621 604 slashnet.default_chantypes 605 + slashnet.registered_mode 622 606 bitlbee.addresses = "localhost" 623 607 bitlbee.proxy 624 608 bitlbee.ipv6 625 - bitlbee.ssl 626 - bitlbee.ssl_cert 627 - bitlbee.ssl_password 628 - bitlbee.ssl_priorities 629 - bitlbee.ssl_dhkey_size 630 - bitlbee.ssl_fingerprint 631 - bitlbee.ssl_verify 609 + bitlbee.tls 610 + bitlbee.tls_cert 611 + bitlbee.tls_password 612 + bitlbee.tls_priorities 613 + bitlbee.tls_dhkey_size 614 + bitlbee.tls_fingerprint 615 + bitlbee.tls_verify 632 616 bitlbee.password 633 617 bitlbee.capabilities 634 618 bitlbee.sasl_mechanism 635 - bitlbee.sasl_username = "ben" 636 - bitlbee.sasl_password = "${sec.data.pass}" 619 + bitlbee.sasl_username 620 + bitlbee.sasl_password 637 621 bitlbee.sasl_key 638 622 bitlbee.sasl_timeout 639 623 bitlbee.sasl_fail ··· 646 630 bitlbee.realname 647 631 bitlbee.local_hostname 648 632 bitlbee.usermode 649 - bitlbee.command 650 633 bitlbee.command_delay 634 + bitlbee.command = "/msg &bitlbee identify ${sec.data.bitlbeepass}" 635 + bitlbee.autojoin_delay 651 636 bitlbee.autojoin 652 637 bitlbee.autojoin_dynamic = off 653 638 bitlbee.autorejoin 654 639 bitlbee.autorejoin_delay 655 640 bitlbee.connection_timeout 656 - bitlbee.anti_flood_prio_high 657 - bitlbee.anti_flood_prio_low 641 + bitlbee.anti_flood 658 642 bitlbee.away_check 659 643 bitlbee.away_check_max_nicks 660 644 bitlbee.msg_kick ··· 664 648 bitlbee.split_msg_max_length 665 649 bitlbee.charset_message 666 650 bitlbee.default_chantypes 651 + bitlbee.registered_mode 667 652 libera.addresses = "irc.us.libera.chat/6697" 668 653 libera.proxy 669 654 libera.ipv6 670 - libera.ssl = on 671 - libera.ssl_cert 672 - libera.ssl_password 673 - libera.ssl_priorities 674 - libera.ssl_dhkey_size 675 - libera.ssl_fingerprint 676 - libera.ssl_verify 655 + libera.tls = on 656 + libera.tls_cert 657 + libera.tls_password 658 + libera.tls_priorities 659 + libera.tls_dhkey_size 660 + libera.tls_fingerprint 661 + libera.tls_verify 677 662 libera.password = "ben:${sec.data.liberapass}" 678 663 libera.capabilities 679 664 libera.sasl_mechanism ··· 690 675 libera.username 691 676 libera.realname 692 677 libera.local_hostname 693 - libera.usermode = "+w" 694 - libera.command = "/challenge ${server} ben ${sec.data.challengepass}" 678 + libera.usermode = "+ws +FZbcdfksuxy" 695 679 libera.command_delay 696 680 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" 697 681 libera.autorejoin 698 682 libera.autorejoin_delay 699 683 libera.connection_timeout 700 - libera.anti_flood_prio_high = 0 701 - libera.anti_flood_prio_low = 0 684 + libera.anti_flood 702 685 libera.away_check 703 686 libera.away_check_max_nicks 704 687 libera.msg_kick ··· 708 691 libera.split_msg_max_length 709 692 libera.charset_message 710 693 libera.default_chantypes 694 + libera.registered_mode 711 695 ergo.addresses = "irc.ergo.chat/6697" 712 696 ergo.proxy 713 697 ergo.ipv6 714 - ergo.ssl = on 715 - ergo.ssl_cert 716 - ergo.ssl_password 717 - ergo.ssl_priorities 718 - ergo.ssl_dhkey_size 719 - ergo.ssl_fingerprint 720 - ergo.ssl_verify 698 + ergo.tls = on 699 + ergo.tls_cert 700 + ergo.tls_password 701 + ergo.tls_priorities 702 + ergo.tls_dhkey_size 703 + ergo.tls_fingerprint 704 + ergo.tls_verify 721 705 ergo.password 722 706 ergo.capabilities 723 707 ergo.sasl_mechanism = external ··· 735 719 ergo.realname 736 720 ergo.local_hostname 737 721 ergo.usermode 722 + ergo.command_delay 738 723 ergo.command 739 - ergo.command_delay 724 + ergo.autojoin_delay 740 725 ergo.autojoin = "#ergo" 741 726 ergo.autojoin_dynamic 742 727 ergo.autorejoin 743 728 ergo.autorejoin_delay 744 729 ergo.connection_timeout 745 - ergo.anti_flood_prio_high 746 - ergo.anti_flood_prio_low 730 + ergo.anti_flood 747 731 ergo.away_check 748 732 ergo.away_check_max_nicks 749 733 ergo.msg_kick ··· 753 737 ergo.split_msg_max_length 754 738 ergo.charset_message 755 739 ergo.default_chantypes 756 - pisslocal.addresses = "localhost/6668" 757 - pisslocal.proxy 758 - pisslocal.ipv6 759 - pisslocal.ssl 760 - pisslocal.ssl_cert 761 - pisslocal.ssl_password 762 - pisslocal.ssl_priorities 763 - pisslocal.ssl_dhkey_size 764 - pisslocal.ssl_fingerprint 765 - pisslocal.ssl_verify 766 - pisslocal.password 767 - pisslocal.capabilities 768 - pisslocal.sasl_mechanism 769 - pisslocal.sasl_username 770 - pisslocal.sasl_password 771 - pisslocal.sasl_key 772 - pisslocal.sasl_timeout 773 - pisslocal.sasl_fail 774 - pisslocal.autoconnect 775 - pisslocal.autoreconnect 776 - pisslocal.autoreconnect_delay 777 - pisslocal.nicks 778 - pisslocal.nicks_alternate 779 - pisslocal.username 780 - pisslocal.realname 781 - pisslocal.local_hostname 782 - pisslocal.usermode 783 - pisslocal.command = "/oper ben ${sec.data.pissnetoper}" 784 - pisslocal.command_delay 785 - pisslocal.autojoin = "#opers,#pissnet,#services" 786 - pisslocal.autojoin_dynamic 787 - pisslocal.autorejoin 788 - pisslocal.autorejoin_delay 789 - pisslocal.connection_timeout 790 - pisslocal.anti_flood_prio_high 791 - pisslocal.anti_flood_prio_low 792 - pisslocal.away_check 793 - pisslocal.away_check_max_nicks 794 - pisslocal.msg_kick 795 - pisslocal.msg_part 796 - pisslocal.msg_quit 797 - pisslocal.notify 798 - pisslocal.split_msg_max_length 799 - pisslocal.charset_message 800 - pisslocal.default_chantypes 740 + ergo.registered_mode 801 741 snoonet.addresses = "irc.snoonet.org/6697" 802 742 snoonet.proxy 803 743 snoonet.ipv6 804 - snoonet.ssl = on 805 - snoonet.ssl_cert 806 - snoonet.ssl_password 807 - snoonet.ssl_priorities 808 - snoonet.ssl_dhkey_size 809 - snoonet.ssl_fingerprint 810 - snoonet.ssl_verify 744 + snoonet.tls = on 745 + snoonet.tls_cert 746 + snoonet.tls_password 747 + snoonet.tls_priorities 748 + snoonet.tls_dhkey_size 749 + snoonet.tls_fingerprint 750 + snoonet.tls_verify 811 751 snoonet.password 812 752 snoonet.capabilities 813 753 snoonet.sasl_mechanism ··· 825 765 snoonet.realname 826 766 snoonet.local_hostname 827 767 snoonet.usermode 828 - snoonet.command 829 768 snoonet.command_delay 830 - snoonet.autojoin = "#help,#personalfinance,#snoonet" 769 + snoonet.command 770 + snoonet.autojoin_delay 771 + snoonet.autojoin = "#personalfinance" 831 772 snoonet.autojoin_dynamic 832 773 snoonet.autorejoin 833 774 snoonet.autorejoin_delay 834 775 snoonet.connection_timeout 835 - snoonet.anti_flood_prio_high 836 - snoonet.anti_flood_prio_low 776 + snoonet.anti_flood 837 777 snoonet.away_check 838 778 snoonet.away_check_max_nicks 839 779 snoonet.msg_kick ··· 843 783 snoonet.split_msg_max_length 844 784 snoonet.charset_message 845 785 snoonet.default_chantypes 846 - liberta.casa.addresses = "irc.liberta.casa/6697" 847 - liberta.casa.proxy 848 - liberta.casa.ipv6 849 - liberta.casa.ssl = on 850 - liberta.casa.ssl_cert 851 - liberta.casa.ssl_password 852 - liberta.casa.ssl_priorities 853 - liberta.casa.ssl_dhkey_size 854 - liberta.casa.ssl_fingerprint 855 - liberta.casa.ssl_verify 856 - liberta.casa.password 857 - liberta.casa.capabilities 858 - liberta.casa.sasl_mechanism 859 - liberta.casa.sasl_username = "ben" 860 - liberta.casa.sasl_password = "${sec.data.libertacasapass}" 861 - liberta.casa.sasl_key 862 - liberta.casa.sasl_timeout 863 - liberta.casa.sasl_fail 864 - liberta.casa.autoconnect 865 - liberta.casa.autoreconnect 866 - liberta.casa.autoreconnect_delay 867 - liberta.casa.nicks 868 - liberta.casa.nicks_alternate 869 - liberta.casa.username 870 - liberta.casa.realname 871 - liberta.casa.local_hostname 872 - liberta.casa.usermode 873 - liberta.casa.command 874 - liberta.casa.command_delay 875 - liberta.casa.autojoin = "#libcasa.info,#mods" 876 - liberta.casa.autojoin_dynamic 877 - liberta.casa.autorejoin 878 - liberta.casa.autorejoin_delay 879 - liberta.casa.connection_timeout 880 - liberta.casa.anti_flood_prio_high 881 - liberta.casa.anti_flood_prio_low 882 - liberta.casa.away_check 883 - liberta.casa.away_check_max_nicks 884 - liberta.casa.msg_kick 885 - liberta.casa.msg_part 886 - liberta.casa.msg_quit 887 - liberta.casa.notify 888 - liberta.casa.split_msg_max_length 889 - liberta.casa.charset_message 890 - liberta.casa.default_chantypes 786 + snoonet.registered_mode 891 787 m455.addresses = "m455.casa/6697" 892 788 m455.proxy 893 789 m455.ipv6 894 - m455.ssl = on 895 - m455.ssl_cert 896 - m455.ssl_password 897 - m455.ssl_priorities 898 - m455.ssl_dhkey_size 899 - m455.ssl_fingerprint 900 - m455.ssl_verify 790 + m455.tls = on 791 + m455.tls_cert 792 + m455.tls_password 793 + m455.tls_priorities 794 + m455.tls_dhkey_size 795 + m455.tls_fingerprint 796 + m455.tls_verify 901 797 m455.password 902 798 m455.capabilities 903 799 m455.sasl_mechanism = external ··· 915 811 m455.realname 916 812 m455.local_hostname 917 813 m455.usermode 918 - m455.command 919 814 m455.command_delay 920 - m455.autojoin = "#basement,#serverroom,#siliconpals,#tildebot" 815 + m455.command 816 + m455.autojoin_delay 817 + m455.autojoin = "#basement,#serverroom,#siliconpals" 921 818 m455.autojoin_dynamic 922 819 m455.autorejoin 923 820 m455.autorejoin_delay 924 821 m455.connection_timeout 925 - m455.anti_flood_prio_high 926 - m455.anti_flood_prio_low 822 + m455.anti_flood 927 823 m455.away_check 928 824 m455.away_check_max_nicks 929 825 m455.msg_kick ··· 933 829 m455.split_msg_max_length 934 830 m455.charset_message 935 831 m455.default_chantypes 832 + m455.registered_mode 833 + hackint.addresses = "irc.hackint.org/6697" 834 + hackint.proxy 835 + hackint.ipv6 836 + hackint.tls = on 837 + hackint.tls_cert 838 + hackint.tls_password 839 + hackint.tls_priorities 840 + hackint.tls_dhkey_size 841 + hackint.tls_fingerprint 842 + hackint.tls_verify 843 + hackint.password 844 + hackint.capabilities 845 + hackint.sasl_mechanism 846 + hackint.sasl_username = "ben" 847 + hackint.sasl_password = "${sec.data.hackintpass}" 848 + hackint.sasl_key 849 + hackint.sasl_timeout 850 + hackint.sasl_fail 851 + hackint.autoconnect 852 + hackint.autoreconnect 853 + hackint.autoreconnect_delay 854 + hackint.nicks 855 + hackint.nicks_alternate 856 + hackint.username 857 + hackint.realname 858 + hackint.local_hostname 859 + hackint.usermode 860 + hackint.command_delay 861 + hackint.command 862 + hackint.autojoin_delay 863 + hackint.autojoin = "" 864 + hackint.autojoin_dynamic 865 + hackint.autorejoin 866 + hackint.autorejoin_delay 867 + hackint.connection_timeout 868 + hackint.anti_flood 869 + hackint.away_check 870 + hackint.away_check_max_nicks 871 + hackint.msg_kick 872 + hackint.msg_part 873 + hackint.msg_quit 874 + hackint.notify 875 + hackint.split_msg_max_length 876 + hackint.charset_message 877 + hackint.default_chantypes 878 + hackint.registered_mode 879 + syn.addresses = "irc.us.synirc.net/6697" 880 + syn.proxy 881 + syn.ipv6 882 + syn.tls = on 883 + syn.tls_cert 884 + syn.tls_password 885 + syn.tls_priorities 886 + syn.tls_dhkey_size 887 + syn.tls_fingerprint 888 + syn.tls_verify 889 + syn.password 890 + syn.capabilities 891 + syn.sasl_mechanism 892 + syn.sasl_username = "ben" 893 + syn.sasl_password = "${sec.data.synpass}" 894 + syn.sasl_key 895 + syn.sasl_timeout 896 + syn.sasl_fail 897 + syn.autoconnect 898 + syn.autoreconnect 899 + syn.autoreconnect_delay 900 + syn.nicks 901 + syn.nicks_alternate 902 + syn.username 903 + syn.realname 904 + syn.local_hostname 905 + syn.usermode 906 + syn.command_delay 907 + syn.command 908 + syn.autojoin_delay 909 + syn.autojoin = "#nzbfinder" 910 + syn.autojoin_dynamic 911 + syn.autorejoin 912 + syn.autorejoin_delay 913 + syn.connection_timeout 914 + syn.anti_flood 915 + syn.away_check 916 + syn.away_check_max_nicks 917 + syn.msg_kick 918 + syn.msg_part 919 + syn.msg_quit 920 + syn.notify 921 + syn.split_msg_max_length 922 + syn.charset_message 923 + syn.default_chantypes 924 + syn.registered_mode 925 + efnet.addresses = "irc.efnet.org" 926 + efnet.proxy 927 + efnet.ipv6 928 + efnet.tls 929 + efnet.tls_cert 930 + efnet.tls_password 931 + efnet.tls_priorities 932 + efnet.tls_dhkey_size 933 + efnet.tls_fingerprint 934 + efnet.tls_verify 935 + efnet.password 936 + efnet.capabilities 937 + efnet.sasl_mechanism 938 + efnet.sasl_username 939 + efnet.sasl_password 940 + efnet.sasl_key 941 + efnet.sasl_timeout 942 + efnet.sasl_fail 943 + efnet.autoconnect 944 + efnet.autoreconnect 945 + efnet.autoreconnect_delay 946 + efnet.nicks 947 + efnet.nicks_alternate 948 + efnet.username 949 + efnet.realname 950 + efnet.local_hostname 951 + efnet.usermode 952 + efnet.command_delay 953 + efnet.command 954 + efnet.autojoin_delay 955 + efnet.autojoin = "#pinball,#StarCitizen" 956 + efnet.autojoin_dynamic 957 + efnet.autorejoin 958 + efnet.autorejoin_delay 959 + efnet.connection_timeout 960 + efnet.anti_flood 961 + efnet.away_check 962 + efnet.away_check_max_nicks 963 + efnet.msg_kick 964 + efnet.msg_part 965 + efnet.msg_quit 966 + efnet.notify 967 + efnet.split_msg_max_length 968 + efnet.charset_message 969 + efnet.default_chantypes 970 + efnet.registered_mode
+8 -5
weechat/.weechat/logger.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 11 12 12 [look] ··· 14 14 backlog_conditions = "" 15 15 16 16 [color] 17 - backlog_end = default 18 - backlog_line = default 17 + backlog_end = 246 18 + backlog_line = 246 19 19 20 20 [file] 21 21 auto_log = on ··· 23 23 flush_delay = 120 24 24 fsync = off 25 25 info_lines = off 26 + log_conditions = "" 26 27 mask = "$plugin.$name.weechatlog" 27 28 name_lower_case = on 28 29 nick_prefix = "" 29 30 nick_suffix = "" 30 31 path = "%h/logs/" 31 32 replacement_char = "_" 33 + rotation_compression_level = 20 34 + rotation_compression_type = none 35 + rotation_size_max = "0" 32 36 time_format = "%Y-%m-%d %H:%M:%S" 33 37 34 38 [level] 35 - core.weechat = 0 39 + core.weechat = 1 36 40 irc = 3 37 - irc.server.pisslocal = 0 38 41 39 42 [mask]
+1 -1
weechat/.weechat/perl.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 11 12 12 [look]
+3 -2
weechat/.weechat/perl/colorize_lines.pl
··· 19 19 # along with this program. If not, see <http://www.gnu.org/licenses/>. 20 20 21 21 # history: 22 + # 4.0.1: fix display of multiline messages 22 23 # 4.0: add compatibility with XDG directories (WeeChat >= 3.2) 23 24 # 3.9: add compatibility with new weechat_print modifier data (WeeChat >= 2.9) 24 25 # 3.8: new option custom_action_text (https://github.com/weechat/scripts/issues/313) (idea by 3v1n0) ··· 88 89 89 90 use strict; 90 91 my $PRGNAME = "colorize_lines"; 91 - my $VERSION = "4.0"; 92 + my $VERSION = "4.0.1"; 92 93 my $AUTHOR = "Nils Görs <weechatter\@arcor.de>"; 93 94 my $LICENCE = "GPL3"; 94 95 my $DESCR = "Colorize users' text in chat area with their nick color, including highlights"; ··· 172 173 my $servername = weechat::buffer_get_string($buf_ptr, "localvar_server"); 173 174 174 175 # find stuff between \t 175 - $string =~ m/^([^\t]*)\t(.*)/; 176 + $string =~ m/^([^\t]*)\t(.*)/s; 176 177 my $left = $1; 177 178 my $right = $2; 178 179
+6 -3
weechat/.weechat/plugins.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 11 12 12 [var] ··· 61 61 python.autosavekey.mute = "off" 62 62 python.autosavekey.secure = "on" 63 63 python.buffer_autoclose.age_limit = "30" 64 - python.buffer_autoclose.ignore = "bitlbee.maddie" 64 + python.buffer_autoclose.ignore = "bitlbee.marley" 65 65 python.buffer_autoclose.interval = "1" 66 + python.buffer_autoclose.prefer = "" 66 67 python.check_license = "off" 67 68 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" 68 69 python.go.auto_jump = "off" ··· 75 76 python.go.color_number_selected = "yellow,red" 76 77 python.go.fuzzy_search = "on" 77 78 python.go.message = "Go to: " 79 + python.go.min_chars = "0" 78 80 python.go.short_name = "off" 79 81 python.go.short_name_server = "off" 80 82 python.go.sort = "number,beginning" ··· 96 98 python.screen_away.away_suffix = "" 97 99 python.screen_away.command_on_attach = "" 98 100 python.screen_away.command_on_detach = "" 99 - python.screen_away.ignore = "" 101 + python.screen_away.ignore = "thermite" 100 102 python.screen_away.ignore_relays = "on" 101 103 python.screen_away.interval = "5" 102 104 python.screen_away.message = "detached from byobu" ··· 198 200 python.go.color_number_selected = "color for selected buffer number (default: "yellow,red")" 199 201 python.go.fuzzy_search = "search buffer matches using approximation (default: "off")" 200 202 python.go.message = "message to display before list of buffers (default: "Go to: ")" 203 + python.go.min_chars = "Minimum chars to search and display list of matching buffers (default: "0")" 201 204 python.go.short_name = "display and search in short names instead of buffer name (default: "off")" 202 205 python.go.short_name_server = "prefix short names with server names for search and display (default: "off")" 203 206 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")"
+1 -1
weechat/.weechat/python.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 11 12 12 [look]
-121
weechat/.weechat/python/aformat.py
··· 1 - # -*- coding: utf-8 -*- 2 - # 3 - # Copyright (c) 2016 Hairo R. Carela <hairocr8@gmail.com> 4 - # 5 - # Everyone is permitted to copy and distribute verbatim or modified 6 - # copies of this license document, and changing it is allowed as long 7 - # as the name is changed. 8 - # 9 - # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 10 - # TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 11 - # 12 - # 0. You just DO WHAT THE FUCK YOU WANT TO. 13 - # 14 - # Alternate way of text formatting, useful for relays without text formatting 15 - # features (Glowingbear, WeechatAndroid, etc) 16 - # 17 - # Usage: 18 - # /aformat *text* for bold text 19 - # /aformat /text/ for italic text 20 - # /aformat _text_ for underlined text 21 - # /aformat |text| for reversed (black on white) text 22 - # 23 - # History: 24 - # 2016-09-24: 25 - # v0.1: Initial release 26 - # 2018-06-19: 27 - # v0.2: py3k-ok 28 - # 29 - # TODO: 30 - # - Colors support 31 - 32 - import sys 33 - 34 - try: 35 - import weechat 36 - from weechat import WEECHAT_RC_OK 37 - import_ok = True 38 - except ImportError: 39 - print("This script must be run under WeeChat.") 40 - print("Get WeeChat now at: http://www.weechat.org/") 41 - import_ok = False 42 - 43 - SCRIPT_NAME = "aformat" 44 - SCRIPT_AUTHOR = "Hairo R. Carela <hairocr8@gmail.com>" 45 - SCRIPT_VERSION = "0.2" 46 - SCRIPT_LICENSE = "WTFPL" 47 - SCRIPT_DESC = ("Alternate way of text formatting, see /help for instructions") 48 - 49 - PY3 = sys.version > '3' 50 - 51 - class format: 52 - # Special byte sequences, using weechat.color("stuff") had some unwanted 53 - # results, i'll look into it if needed. Colors are unused for now 54 - BOLD = '\x02' 55 - ITALIC = '\x1D' 56 - UNDERLINE = '\x1F' 57 - REVERSE = '\x16' 58 - END = '\x0F' 59 - 60 - if PY3: 61 - unichr = chr 62 - def send(buf, text): 63 - weechat.command(buf, "/input send {}".format(text)) 64 - else: 65 - def send(buf, text): 66 - weechat.command(buf, "/input send {}".format(text.encode("utf-8"))) 67 - 68 - def cb_aformat_cmd(data, buf, args): 69 - if not PY3: 70 - args = args.decode("utf-8") 71 - 72 - # Get the indexes of the separators (*/_|) in the string 73 - bolds = [i for i, ltr in enumerate(args) if ltr == "*"] 74 - italics = [i for i, ltr in enumerate(args) if ltr == "/"] 75 - underlines = [i for i, ltr in enumerate(args) if ltr == "_"] 76 - reverses = [i for i, ltr in enumerate(args) if ltr == "|"] 77 - 78 - if len(bolds) != 0: 79 - for i, v in enumerate(bolds): 80 - if i%2 == 0: 81 - args = args[:v] + format.BOLD + args[v+1:] 82 - else: 83 - args = args[:v] + format.END + args[v+1:] 84 - 85 - if len(italics) != 0: 86 - for i, v in enumerate(italics): 87 - if i%2 == 0: 88 - args = args[:v] + format.ITALIC + args[v+1:] 89 - else: 90 - args = args[:v] + format.END + args[v+1:] 91 - 92 - if len(underlines) != 0: 93 - for i, v in enumerate(underlines): 94 - if i%2 == 0: 95 - args = args[:v] + format.UNDERLINE + args[v+1:] 96 - else: 97 - args = args[:v] + format.END + args[v+1:] 98 - 99 - if len(reverses) != 0: 100 - for i, v in enumerate(reverses): 101 - if i%2 == 0: 102 - args = args[:v] + format.REVERSE + args[v+1:] 103 - else: 104 - args = args[:v] + format.END + args[v+1:] 105 - 106 - send(buf, args) 107 - return weechat.WEECHAT_RC_OK 108 - 109 - 110 - if import_ok and __name__ == "__main__": 111 - weechat.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION, 112 - SCRIPT_LICENSE, SCRIPT_DESC, '', '') 113 - weechat.hook_command("aformat", "Alternate way of text formatting, useful for relays without text formatting features (Glowingbear, WeechatAndroid, etc)", 114 - "text <*/_|> text <*/_|> more text", 115 - " *: bold text\n" 116 - " /: italic text\n" 117 - " _: underlined text\n" 118 - " |: reversed (black on white) text\n\n" 119 - " eg.: typing: /aformat This /must/ be the *work* of an _enemy_ |stand|\n" 120 - " 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")), 121 - "", "cb_aformat_cmd", "")
-1
weechat/.weechat/python/autoload/aformat.py
··· 1 - ../aformat.py
-1
weechat/.weechat/python/autoload/bitlbee_completion.py
··· 1 - ../bitlbee_completion.py
-1
weechat/.weechat/python/autoload/fzf.py
··· 1 - ../fzf.py
-1
weechat/.weechat/python/autoload/listbuffer.py
··· 1 - ../listbuffer.py
-1
weechat/.weechat/python/autoload/wee_slack.py
··· 1 - ../wee_slack.py
+6 -5
weechat/.weechat/python/autosort.py
··· 25 25 26 26 # 27 27 # Changelog: 28 + # 3.10: 29 + # * Fix exception in `/autosort helpers swap`. 28 30 # 3.9: 29 31 # * Remove `buffers.pl` from recommended settings. 30 32 # 3,8: ··· 87 89 88 90 SCRIPT_NAME = 'autosort' 89 91 SCRIPT_AUTHOR = 'Maarten de Vries <maarten@de-vri.es>' 90 - SCRIPT_VERSION = '3.9' 92 + SCRIPT_VERSION = '3.10' 91 93 SCRIPT_LICENSE = 'GPL3' 92 94 SCRIPT_DESC = 'Flexible automatic (or manual) buffer sorting based on eval expressions.' 93 95 ··· 616 618 except KeyError as e: 617 619 raise HumanReadableError('No such helper: {0}'.format(e.args[0])) 618 620 619 - config.helpers.swap(index_a, index_b) 620 621 config.save_helpers() 621 622 command_helper_list(buffer, command, '') 622 623 return weechat.WEECHAT_RC_OK ··· 829 830 830 831 def add_completions(completion, words): 831 832 for word in words: 832 - weechat.hook_completion_list_add(completion, word, 0, weechat.WEECHAT_LIST_POS_END) 833 + weechat.completion_list_add(completion, word, 0, weechat.WEECHAT_LIST_POS_END) 833 834 834 835 def autosort_complete_rules(words, completion): 835 836 if len(words) == 0: ··· 1001 1002 1002 1003 {*white}# Recommended settings 1003 1004 For the best visual effect, consider setting the following options: 1004 - {*white}/set {cyan}irc.look.server_buffer{reset} {brown}independent{reset} 1005 + {*white}/set {cyan}irc.look.server_buffer{reset} {brown}independent{reset} 1005 1006 1006 1007 This setting allows server buffers to be sorted independently, which is 1007 1008 needed to create a hierarchical tree view of the server and channel buffers. 1008 1009 1009 1010 If you are using the {*default}buflist{reset} plugin you can (ab)use Unicode to draw a tree 1010 1011 structure with the following setting (modify to suit your need): 1011 - {*white}/set {cyan}buflist.format.indent {brown}"${{color:237}}${{if:${{buffer.next_buffer.local_variables.type}}=~^(channel|private)$?├─:└─}}"{reset} 1012 + {*white}/set {cyan}buflist.format.indent {brown}"${{color:237}}${{if:${{buffer.next_buffer.local_variables.type}}=~^(channel|private)$?├─:└─}}"{reset} 1012 1013 ''' 1013 1014 1014 1015 command_completion = '%(plugin_autosort) %(plugin_autosort) %(plugin_autosort) %(plugin_autosort) %(plugin_autosort)'
-114
weechat/.weechat/python/bitlbee_completion.py
··· 1 - # -*- coding: utf-8 -*- 2 - # Add tab completion to bitlbee commands 3 - # based on http://scripts.irssi.org/scripts/bitlbee_tab_completion.pl 4 - # 5 - # History: 6 - # 7 - # 2015-11-02, Mickaël Thomas <mickael9@gmail.com>: 8 - # version 0.2: strip color attributes for topic detection 9 - # 2015-03-22, Roger Duran <rogerduran@gmail.com>: 10 - # version 0.1: initial version 11 - 12 - import weechat 13 - 14 - SCRIPT_NAME = "bitlbee_completion" 15 - SCRIPT_AUTHOR = "Roger Duran <rogerduran@gmail.com>" 16 - SCRIPT_VERSION = "0.2" 17 - SCRIPT_LICENSE = "GPL3" 18 - SCRIPT_DESC = "Add tab completion to bitlbee commands" 19 - 20 - OPTS = { 21 - "server": None, 22 - "channel": None 23 - } 24 - 25 - TOPIC = "Welcome to the control channel. "\ 26 - "Type help for help information." 27 - 28 - commands = [] 29 - 30 - 31 - def request_completion(): 32 - """ 33 - Request the completion to the bitlbee server and wait for response 34 - """ 35 - server = OPTS["server"] 36 - weechat.command(server, "/quote -server %s COMPLETIONS" % server) 37 - 38 - 39 - def modifier_cb(data, modifier, modifier_data, string): 40 - """ 41 - When the server returns the completion, update the commands list 42 - """ 43 - 44 - if ":COMPLETIONS" not in string: 45 - return string 46 - command = string.split(":COMPLETIONS ")[1] 47 - if command not in ("OK", "END"): 48 - commands.append(command) 49 - return "" 50 - 51 - 52 - def bitlbee_completion(data, completion_item, buffer, completion): 53 - """ 54 - Complete bitlbee commands only in the bitlbee buffer 55 - """ 56 - 57 - server = OPTS["server"] 58 - channel = OPTS["channel"] 59 - if not server or not channel: 60 - return weechat.WEECHAT_RC_OK 61 - 62 - buff_name = weechat.buffer_get_string(buffer, "name") 63 - if buff_name == "%s.%s" % (server, channel): 64 - for command in commands: 65 - weechat.hook_completion_list_add(completion, command, 0, 66 - weechat.WEECHAT_LIST_POS_SORT) 67 - return weechat.WEECHAT_RC_OK 68 - 69 - 70 - def find_buffer(): 71 - """ 72 - Find the buffer when the plugin starts 73 - """ 74 - infolist = weechat.infolist_get("buffer", "", "") 75 - while weechat.infolist_next(infolist): 76 - topic = weechat.infolist_string(infolist, "title") 77 - if weechat.string_remove_color(topic, "") == TOPIC: 78 - name = weechat.infolist_string(infolist, "name") 79 - set_options(name) 80 - request_completion() 81 - break 82 - weechat.infolist_free(infolist) 83 - 84 - 85 - def set_options(name): 86 - server, channel = name.split(".") 87 - OPTS["server"] = server 88 - OPTS["channel"] = channel 89 - 90 - 91 - def print_332(data, buffer, time, tags, displayed, highlight, prefix, message): 92 - """ 93 - Find the buffer when a new one is open 94 - """ 95 - if weechat.string_remove_color(message, "") == TOPIC: 96 - name = weechat.buffer_get_string(buffer, "name") 97 - set_options(name) 98 - request_completion() 99 - return weechat.WEECHAT_RC_OK 100 - 101 - 102 - def main(): 103 - weechat.hook_modifier("irc_in_notice", "modifier_cb", "") 104 - weechat.hook_completion("bitlbee", "bitlbee completion", 105 - "bitlbee_completion", "") 106 - 107 - weechat.hook_print('', 'irc_332', '', 1, 'print_332', '') 108 - weechat.hook_print('', 'irc_topic', '', 1, 'print_332', '') 109 - find_buffer() 110 - 111 - if __name__ == "__main__": 112 - if weechat.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION, 113 - SCRIPT_LICENSE, SCRIPT_DESC, "", ""): 114 - main()
+9 -1
weechat/.weechat/python/buffer_autoclose.py
··· 20 20 # (this script requires WeeChat 0.3.0 or newer) 21 21 # 22 22 # History: 23 + # 2024-05-04, Miklos Vajna 24 + # version 0.6: Allow autoclosing explicitly listed non-private buffers as well 23 25 # 2018-04-10, Sébastien Helleu <flashcode@flashtux.org> 24 26 # version 0.5: fix infolist_time for WeeChat >= 2.2 (WeeChat returns a long 25 27 # integer instead of a string) ··· 37 39 38 40 SCRIPT_NAME = "buffer_autoclose" 39 41 SCRIPT_AUTHOR = "xt <xt@bash.no>" 40 - SCRIPT_VERSION = "0.5" 42 + SCRIPT_VERSION = "0.6" 41 43 SCRIPT_LICENSE = "GPL3" 42 44 SCRIPT_DESC = "Automatically close inactive private message buffers" 43 45 ··· 45 47 'interval': '1', # How often in minutes to check 46 48 'age_limit': '30', # How old in minutes before auto close 47 49 'ignore': '', # Buffers to ignore (use full name: server.buffer_name) 50 + 'prefer': '', # Buffers to prefer, even if they are not private (use full name: server.buffer_name) 48 51 } 49 52 50 53 if w.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION, SCRIPT_LICENSE, ··· 64 67 '''Returns list with pointers of all open buffers.''' 65 68 buffers = [] 66 69 infolist = w.infolist_get('buffer', '', '') 70 + preferlist = w.config_get_plugin('prefer').split(',') 67 71 while w.infolist_next(infolist): 68 72 buffer_type = w.buffer_get_string(w.infolist_pointer(infolist, 'pointer'), 'localvar_type') 73 + name = w.buffer_get_string(w.infolist_pointer(infolist, 'pointer'), 'name') 74 + if name in preferlist: 75 + buffers.append(w.infolist_pointer(infolist, 'pointer')) 76 + continue 69 77 if buffer_type == 'private': # we only close private message buffers for now 70 78 buffers.append(w.infolist_pointer(infolist, 'pointer')) 71 79 w.infolist_free(infolist)
+25 -10
weechat/.weechat/python/colorize_nicks.py
··· 21 21 # 22 22 # 23 23 # History: 24 + # 2023-10-30: Sébastien Helleu <flashcode@flashtux.org> 25 + # version 32: revert to info "nick_color" with WeeChat >= 4.1.1 26 + # 2023-10-16: Sébastien Helleu <flashcode@flashtux.org> 27 + # version 31: use info "irc_nick_color" on IRC buffers with WeeChat >= 4.1.0 28 + # 2022-11-07: mva 29 + # version 30: add ":" and "," to VALID_NICK regexp, 30 + # to don't reset colorization in input_line 31 + # 2022-07-11: ncfavier 32 + # version 29: check nick for exclusion *after* stripping 33 + # decrease minimum min_nick_length to 1 24 34 # 2020-11-29: jess 25 35 # version 28: fix ignore_tags having been broken by weechat 2.9 changes 26 36 # 2020-05-09: Sébastien Helleu <flashcode@flashtux.org> ··· 90 100 91 101 SCRIPT_NAME = "colorize_nicks" 92 102 SCRIPT_AUTHOR = "xt <xt@bash.no>" 93 - SCRIPT_VERSION = "28" 103 + SCRIPT_VERSION = "32" 94 104 SCRIPT_LICENSE = "GPL" 95 105 SCRIPT_DESC = "Use the weechat nick colors in the chat area" 96 106 97 107 # Based on the recommendations in RFC 7613. A valid nick is composed 98 108 # of anything but " ,*?.!@". 99 - VALID_NICK = r'([@~&!%+-])?([^\s,\*?\.!@]+)' 109 + VALID_NICK = r'([@~&!%+-])?([^\s,\*?\.!@:,]+)' 100 110 valid_nick_re = re.compile(VALID_NICK) 101 111 ignore_channels = [] 102 112 ignore_nicks = [] ··· 138 148 colorize_config_option["min_nick_length"] = weechat.config_new_option( 139 149 colorize_config_file, section_look, "min_nick_length", 140 150 "integer", "Minimum length nick to colorize", "", 141 - 2, 20, "", "", 0, "", "", "", "", "", "") 151 + 1, 20, "2", "2", 0, "", "", "", "", "", "") 142 152 colorize_config_option["colorize_input"] = weechat.config_new_option( 143 153 colorize_config_file, section_look, "colorize_input", 144 154 "boolean", "Whether to colorize input", "", 0, ··· 165 175 global colorize_config_file 166 176 return weechat.config_read(colorize_config_file) 167 177 168 - def colorize_nick_color(nick, my_nick): 178 + def colorize_nick_color(buffer, nick, my_nick): 169 179 ''' Retrieve nick color from weechat. ''' 170 180 if nick == my_nick: 171 181 return w.color(w.config_string(w.config_get('weechat.color.chat_nick_self'))) 172 182 else: 173 - return w.info_get('irc_nick_color', nick) 183 + version = int(w.info_get('version_number', '') or 0) 184 + if w.buffer_get_string(buffer, 'plugin') == 'irc' and version == 0x4010000: 185 + server = w.buffer_get_string(buffer, 'localvar_server') 186 + return w.info_get('irc_nick_color', '%s,%s' % (server, nick)) 187 + return w.info_get('nick_color', nick) 174 188 175 189 def colorize_cb(data, modifier, modifier_data, line): 176 190 ''' Callback that does the colorizing, and returns new line if changed ''' ··· 206 220 207 221 for words in valid_nick_re.findall(line): 208 222 nick = words[1] 209 - # Check that nick is not ignored and longer than minimum length 210 - if len(nick) < min_length or nick in ignore_nicks: 211 - continue 212 223 213 224 # If the matched word is not a known nick, we try to match the 214 225 # word without its first or last character (if not a letter). ··· 224 235 elif not nick[-1].isalpha(): 225 236 if nick[:-1] in colored_nicks[buffer]: 226 237 nick = nick[:-1] 238 + 239 + # Check that nick is not ignored and longer than minimum length 240 + if len(nick) < min_length or nick in ignore_nicks: 241 + continue 227 242 228 243 # Check that nick is in the dictionary colored_nicks 229 244 if nick in colored_nicks[buffer]: ··· 336 351 continue 337 352 338 353 nick = w.infolist_string(nicklist, 'name') 339 - nick_color = colorize_nick_color(nick, my_nick) 354 + nick_color = colorize_nick_color(buffer_ptr, nick, my_nick) 340 355 341 356 colored_nicks[buffer_ptr][nick] = nick_color 342 357 ··· 358 373 colored_nicks[pointer] = {} 359 374 360 375 my_nick = w.buffer_get_string(pointer, 'localvar_nick') 361 - nick_color = colorize_nick_color(nick, my_nick) 376 + nick_color = colorize_nick_color(pointer, nick, my_nick) 362 377 363 378 colored_nicks[pointer][nick] = nick_color 364 379
+33 -14
weechat/.weechat/python/go.py
··· 1 1 # -*- coding: utf-8 -*- 2 2 # 3 - # Copyright (C) 2009-2014 Sébastien Helleu <flashcode@flashtux.org> 3 + # Copyright (C) 2009-2023 Sébastien Helleu <flashcode@flashtux.org> 4 4 # Copyright (C) 2010 m4v <lambdae2@gmail.com> 5 5 # Copyright (C) 2011 stfn <stfnmd@googlemail.com> 6 6 # ··· 21 21 # 22 22 # History: 23 23 # 24 + # 2024-05-30, Sébastien Helleu <flashcode@flashtux.org>: 25 + # version 3.0.1: refresh buffer input at the end of search 26 + # 2024-05-30, Sébastien Helleu <flashcode@flashtux.org>: 27 + # version 3.0: refresh immediately buffer input when /go command is executed 28 + # (needed for WeeChat >= 4.3.0) 29 + # 2023-06-21, Sébastien Helleu <flashcode@flashtux.org>: 30 + # version 2.9: add option "min_chars" 31 + # 2023-01-08, Sébastien Helleu <flashcode@flashtux.org>: 32 + # version 2.8: send buffer pointer with signal "input_text_changed" 24 33 # 2021-05-25, Tomáš Janoušek <tomi@nomi.cz>: 25 34 # version 2.7: add new option to prefix short names with server names 26 35 # 2019-07-11, Simmo Saan <simmo.saan@gmail.com> ··· 96 105 97 106 SCRIPT_NAME = 'go' 98 107 SCRIPT_AUTHOR = 'Sébastien Helleu <flashcode@flashtux.org>' 99 - SCRIPT_VERSION = '2.7' 108 + SCRIPT_VERSION = '3.0.1' 100 109 SCRIPT_LICENSE = 'GPL3' 101 110 SCRIPT_DESC = 'Quick jump to buffers' 102 111 ··· 108 117 import weechat 109 118 except ImportError: 110 119 print('This script must be run under WeeChat.') 111 - print('Get WeeChat now at: http://www.weechat.org/') 120 + print('Get WeeChat now at: https://weechat.org/') 112 121 IMPORT_OK = False 113 122 114 123 import re 115 124 116 125 # script options 117 126 SETTINGS = { 127 + 'auto_jump': ( 128 + 'off', 129 + 'automatically jump to buffer when it is uniquely selected'), 130 + 'buffer_number': ( 131 + 'on', 132 + 'display buffer number'), 118 133 'color_number': ( 119 134 'yellow,magenta', 120 135 'color for buffer number (not selected)'), ··· 133 148 'color_name_highlight_selected': ( 134 149 'red,brown', 135 150 'color for highlight in a selected buffer name'), 151 + 'fuzzy_search': ( 152 + 'off', 153 + 'search buffer matches using approximation'), 136 154 'message': ( 137 155 'Go to: ', 138 156 'message to display before list of buffers'), 157 + 'min_chars': ( 158 + '0', 159 + 'Minimum chars to search and display list of matching buffers'), 139 160 'short_name': ( 140 161 'off', 141 162 'display and search in short names instead of buffer name'), ··· 154 175 'use_core_instead_weechat': ( 155 176 'off', 156 177 'use name "core" instead of "weechat" for core buffer'), 157 - 'auto_jump': ( 158 - 'off', 159 - 'automatically jump to buffer when it is uniquely selected'), 160 - 'fuzzy_search': ( 161 - 'off', 162 - 'search buffer matches using approximation'), 163 - 'buffer_number': ( 164 - 'on', 165 - 'display buffer number'), 166 178 } 167 179 168 180 # hooks management ··· 208 220 go_unhook_one('modifier') 209 221 for hook in HOOK_COMMAND_RUN: 210 222 go_unhook_one(hook) 223 + weechat.bar_item_update('input_text') 211 224 212 225 213 226 def go_hook_all(): ··· 227 240 if 'modifier' not in hooks: 228 241 hooks['modifier'] = weechat.hook_modifier( 229 242 'input_text_display_with_cursor', 'go_input_modifier', '') 243 + weechat.bar_item_update('input_text') 230 244 231 245 232 246 def go_start(buf): ··· 410 424 411 425 def go_buffers_to_string(listbuf, pos, strinput): 412 426 """Return string built with list of buffers found (matching user input).""" 427 + try: 428 + if len(strinput) < int(weechat.config_get_plugin('min_chars')): 429 + return '' 430 + except: 431 + pass 413 432 string = '' 414 433 strinput = strinput.lower() 415 434 for i in range(len(listbuf)): ··· 500 519 if buffers_pos >= len(buffers): 501 520 buffers_pos = 0 502 521 weechat.hook_signal_send('input_text_changed', 503 - weechat.WEECHAT_HOOK_SIGNAL_STRING, '') 522 + weechat.WEECHAT_HOOK_SIGNAL_POINTER, buf) 504 523 return weechat.WEECHAT_RC_OK_EAT 505 524 elif command == '/input complete_previous': 506 525 # choose previous buffer in list ··· 508 527 if buffers_pos < 0: 509 528 buffers_pos = len(buffers) - 1 510 529 weechat.hook_signal_send('input_text_changed', 511 - weechat.WEECHAT_HOOK_SIGNAL_STRING, '') 530 + weechat.WEECHAT_HOOK_SIGNAL_POINTER, buf) 512 531 return weechat.WEECHAT_RC_OK_EAT 513 532 elif command == '/input return': 514 533 # switch to selected buffer (if any)
+5 -2
weechat/.weechat/python/grep.py
··· 69 69 # 70 70 # History: 71 71 # 72 + # 2022-11-11, anonymous2ch 73 + # version 0.8.6: ignore utf-8 decoding errors 74 + # 72 75 # 2021-05-02, Sébastien Helleu <flashcode@flashtux.org> 73 76 # version 0.8.5: add compatibility with WeeChat >= 3.2 (XDG directories) 74 77 # ··· 239 242 240 243 SCRIPT_NAME = "grep" 241 244 SCRIPT_AUTHOR = "Elián Hanisch <lambdae2@gmail.com>" 242 - SCRIPT_VERSION = "0.8.5" 245 + SCRIPT_VERSION = "0.8.6" 243 246 SCRIPT_LICENSE = "GPL3" 244 247 SCRIPT_DESC = "Search in buffers and logs" 245 248 SCRIPT_COMMAND = "grep" ··· 738 741 check = lambda s: check_string(s, regexp, hilight, exact) 739 742 740 743 try: 741 - file_object = open(file, 'r') 744 + file_object = open(file, 'r', errors='ignore') 742 745 except IOError: 743 746 # file doesn't exist 744 747 return lines
-474
weechat/.weechat/python/listbuffer.py
··· 1 - # -*- coding: utf-8 -*- 2 - # 3 - # ListBuffer, version 0.8.1 for WeeChat version 0.3 4 - # Latest development version: https://github.com/FiXato/listbuffer 5 - # 6 - # Show /list results in a common buffer and interact with them. 7 - # 8 - # This script allows you to easily join channels from the /list output. 9 - # It will open a common buffer for the /list result, through which you 10 - # browse with your cursor keys, and join with the meta-enter keys. 11 - # Adjust sorting with meta->, meta-< and meta-/ keybindings. 12 - # 13 - ## History: 14 - ### 2011-09-08: FiXato: 15 - # 16 - # * version 0.1: initial release. 17 - # * added a common buffer for /list results 18 - # * added highlighting for currently selected line 19 - # * added /join support via enter key 20 - # * added scroll_top and scroll_bottom support 21 - # 22 - # * version 0.2: /list format bugfix 23 - # * added support for /list results without modes 24 - # * some servers don't send 321 (/list start). Taken into account. 25 - # 26 - # * version 0.3: Sorting support 27 - # * Added some basic sorting support. Scroll through sort options 28 - # with meta-> and meta-< (users, channel, topic, modes) 29 - # 30 - ### 2011-09-19: FiXato 31 - # 32 - # * version 0.4: 33 - # * Case-insensitive buffer lookup fix. 34 - # * Removed default enter keybind 35 - # 36 - ### 2011-12-28: troydm: 37 - # 38 - # * version 0.5: It's an upside-down-world 39 - # * Added inverted sorting support provided by Dmitry "troydm" Geurkov 40 - # Use meta-/ to switch between inverted and regular sorting. 41 - # 42 - ### 2012-02-10: FiXato: 43 - # 44 - # * version 0.6: Stop shoving that buffer in my face! 45 - # * The listbuffer should no longer pop up by itself when you load the script. 46 - # It should only pop up now when you actually do a /list query. 47 - # 48 - # * version 0.7: .. but please pop it up in my current window when I ask for it 49 - # * Added setting plugins.var.python.listbuffer.autofocus 50 - # This will autofocus the listbuffer in the current window if another window isn't 51 - # already showing it, and of course only when the user issues /list 52 - # 53 - ### 2012-07-10: FiXato: 54 - # 55 - # * version 0.7.1: Forgetful bugfix 56 - # * Made sure lb_curline global variable is defined 57 - # 58 - ### 2013-03-19: FiXato: 59 - # 60 - # * version 0.8: Sorted out the sorting 61 - # * Added automatically updating options for sorting: 62 - # * plugins.var.python.listbuffer.sort_inverted 63 - # * plugins.var.python.listbuffer.sort_order 64 - # * version 0.8.1: Pad it baby! 65 - # * Channel modes are equally padded even when there are no channel modes. 66 - # * Added padding options: 67 - # * plugins.var.python.listbuffer.modes_min_width 68 - # * plugins.var.python.listbuffer.channel_min_width 69 - # * plugins.var.python.listbuffer.users_min_width 70 - # 71 - ### 2019-07-05: Sébastien Helleu: 72 - # 73 - # * version 0.8.2: Make script compatible with Python 3. 74 - # 75 - ## Acknowledgements: 76 - # * Dmitry "troydm" Geurkov, for providing the inverse-sorting patch to the project. 77 - # * Sebastien "Flashcode" Helleu, for developing the kick-ass IRC client WeeChat 78 - # and the iset.pl script which inspired me to this script. 79 - # * Nils "nils_2" Görs, for his contributions to iset.pl which served as 80 - # example code. 81 - # * David "drubin" Rubin, for his urlgrab.py script, which also served 82 - # as example code. 83 - # * ArZa, whose listsort.pl script helped me getting started with 84 - # grabbing the /list results. Parts of his code have been shamelessly 85 - # copied and ported to Python. 86 - # * Khaled Mardam-Bey, for making me yearn for similar /list support in 87 - # WeeChat as mIRC already offered. :P 88 - # * mave_, for pointing out that sort orders weren't remembered. 89 - # 90 - ## TODO: 91 - # - Auto-scroll selected line upon window scroll. 92 - # - Add option to hide already joined channels. 93 - # - Improve sorting methods 94 - # - Add auto-join support 95 - # - Detect if channel is already in auto-join 96 - # - Allow automatically switching to the listbuffer 97 - # - Add support for ALIS (/squery alis LIST * -mix 100 (IRCNet) 98 - # - Make colours configurable 99 - # - Limit number of channels to parse 100 - # - Add filter support a la iset 101 - # - Allow selecting multiple channels 102 - # - Add optional command redirection. 103 - # 104 - ## Copyright (c) 2011,2012,2013 Filip H.F. "FiXato" Slagter, 105 - # <FiXato [at] Gmail [dot] com> 106 - # http://profile.fixato.org 107 - # 108 - # Permission is hereby granted, free of charge, to any person obtaining 109 - # a copy of this software and associated documentation files (the 110 - # "Software"), to deal in the Software without restriction, including 111 - # without limitation the rights to use, copy, modify, merge, publish, 112 - # distribute, sublicense, and/or sell copies of the Software, and to 113 - # permit persons to whom the Software is furnished to do so, subject to 114 - # the following conditions: 115 - # 116 - # The above copyright notice and this permission notice shall be 117 - # included in all copies or substantial portions of the Software. 118 - # 119 - # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 120 - # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 121 - # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 122 - # NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 123 - # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 124 - # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 125 - # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 126 - # 127 - 128 - from __future__ import print_function 129 - 130 - SCRIPT_NAME = "listbuffer" 131 - SCRIPT_AUTHOR = "Filip H.F. 'FiXato' Slagter <fixato [at] gmail [dot] com>" 132 - SCRIPT_VERSION = "0.8.2" 133 - SCRIPT_LICENSE = "MIT" 134 - SCRIPT_DESC = "A common buffer for /list output." 135 - SCRIPT_COMMAND = "listbuffer" 136 - 137 - import_ok = True 138 - 139 - try: 140 - import weechat 141 - except ImportError: 142 - print("This script must be run under WeeChat.") 143 - import_ok = False 144 - 145 - import re 146 - 147 - lb_settings = ( 148 - ("autofocus", "on", "Focus the listbuffer in the current window if it isn't already displayed by a window."), 149 - ("sort_order", "users", "Last used sort order for the channel list."), 150 - ("sort_inverted", "on", "Invert the sort order for the channel list."), 151 - ("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."), 152 - ("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."), 153 - ("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."), 154 - ) 155 - lb_buffer = None 156 - lb_curline = 0 157 - lb_channels = [] 158 - lb_network = None 159 - lb_list_started = False 160 - lb_current_sort = None 161 - lb_sort_inverted = False 162 - lb_sort_options = ( 163 - 'channel', 164 - 'users', 165 - 'modes', 166 - 'topic', 167 - ) 168 - 169 - # server numeric Nick Chan Users Modes Topic 170 - lb_channel_list_expression = '(:\S+) (\d{3}) (\S+) (\S+) (\d+) :(\[(.*?)\] )?(.*)' 171 - 172 - # Create listbuffer. 173 - def lb_create_buffer(): 174 - global lb_buffer, lb_curline 175 - 176 - if not lb_buffer: 177 - lb_buffer = weechat.buffer_new("listbuffer", "lb_input_cb", \ 178 - "", "lb_close_cb", "") 179 - lb_set_buffer_title() 180 - # Sets notify to 0 as this buffer does not need to be in hotlist. 181 - weechat.buffer_set(lb_buffer, "notify", "0") 182 - weechat.buffer_set(lb_buffer, "nicklist", "0") 183 - weechat.buffer_set(lb_buffer, "type", "free") 184 - weechat.buffer_set(lb_buffer, "key_bind_ctrl-L", "/listbuffer **refresh") 185 - weechat.buffer_set(lb_buffer, "key_bind_meta2-A", "/listbuffer **up") 186 - weechat.buffer_set(lb_buffer, "key_bind_meta2-B", "/listbuffer **down") 187 - weechat.buffer_set(lb_buffer, "key_bind_meta2-1~", "/listbuffer **scroll_top") 188 - weechat.buffer_set(lb_buffer, "key_bind_meta2-4~", "/listbuffer **scroll_bottom") 189 - weechat.buffer_set(lb_buffer, "key_bind_meta-ctrl-J", "/listbuffer **enter") 190 - weechat.buffer_set(lb_buffer, "key_bind_meta-ctrl-M", "/listbuffer **enter") 191 - weechat.buffer_set(lb_buffer, "key_bind_meta->", "/listbuffer **sort_next") 192 - weechat.buffer_set(lb_buffer, "key_bind_meta-<", "/listbuffer **sort_previous") 193 - weechat.buffer_set(lb_buffer, "key_bind_meta-/", "/listbuffer **sort_invert") 194 - lb_curline = 0 195 - if weechat.config_get_plugin("autofocus") == "on": 196 - if not weechat.window_search_with_buffer(lb_buffer): 197 - weechat.command("", "/buffer " + weechat.buffer_get_string(lb_buffer,"name")) 198 - 199 - def lb_set_buffer_title(): 200 - global lb_buffer, lb_current_sort 201 - ascdesc = '(v)' if lb_sort_inverted else '(^)' 202 - weechat.buffer_set(lb_buffer, "title", lb_line_format({ 203 - 'channel': 'Channel name%s' % (ascdesc if lb_current_sort == 'channel' else ''), 204 - 'users': 'Users%s' % (ascdesc if lb_current_sort == 'users' else ''), 205 - 'modes': 'Modes%s' % (ascdesc if lb_current_sort == 'modes' else ''), 206 - 'topic': 'Topic%s' % (ascdesc if lb_current_sort == 'topic' else ''), 207 - 'nomodes': None, 208 - })) 209 - 210 - def lb_list_start(data, signal, message): 211 - lb_initialise_list 212 - 213 - return weechat.WEECHAT_RC_OK 214 - 215 - def lb_initialise_list(signal): 216 - global lb_channels, lb_network, lb_list_started 217 - 218 - lb_create_buffer() 219 - lb_channels = [] 220 - lb_network = signal.split(',')[0] 221 - lb_list_started = True 222 - return 223 - 224 - 225 - def lb_list_chan(data, signal, message): 226 - global lb_channels, lb_buffer, lb_list_started 227 - 228 - # Work-around for IRCds which don't send 321 Numeric (/List start) 229 - if not lb_list_started: 230 - lb_initialise_list(signal) 231 - 232 - for chan_data in re.findall(lb_channel_list_expression,message): 233 - lb_channels.append({ 234 - 'server': chan_data[0][1:-1], 235 - 'numeric': chan_data[1], 236 - 'nick': chan_data[2], 237 - 'channel': chan_data[3], 238 - 'users': chan_data[4], 239 - 'nomodes': chan_data[5] == '', 240 - 'modes': chan_data[6], 241 - 'topic': weechat.hook_modifier_exec("irc_color_decode", "1", chan_data[7]) 242 - }) 243 - return weechat.WEECHAT_RC_OK 244 - 245 - def lb_list_end(data, signal, message): 246 - global lb_list_started 247 - 248 - # Work-around for IRCds which don't send 321 Numeric (/List start) 249 - if not lb_list_started: 250 - lb_initialise_list(signal) 251 - 252 - lb_list_started = False 253 - if lb_current_sort: 254 - lb_sort() 255 - lb_refresh() 256 - return weechat.WEECHAT_RC_OK 257 - 258 - def keyEvent (data, buffer, args): 259 - global lb_options 260 - lb_options[args]() 261 - 262 - def lb_input_cb(data, buffer, input_data): 263 - global lb_options, lb_curline 264 - lb_options[input_data]() 265 - return weechat.WEECHAT_RC_OK 266 - 267 - def lb_refresh(): 268 - global lb_channels, lb_buffer 269 - weechat.buffer_clear(lb_buffer) 270 - 271 - y = 0 272 - for list_data in lb_channels: 273 - lb_refresh_line(y) 274 - y += 1 275 - return 276 - 277 - def lb_refresh_line(y): 278 - global lb_buffer, lb_curline, lb_channels 279 - if y >= 0 and y < len(lb_channels): 280 - formatted_line = lb_line_format(lb_channels[y], y == lb_curline) 281 - weechat.prnt_y(lb_buffer, y, formatted_line) 282 - 283 - def lb_refresh_curline(): 284 - global lb_curline 285 - lb_refresh_line(lb_curline-1) 286 - lb_refresh_line(lb_curline) 287 - lb_refresh_line(lb_curline+1) 288 - return 289 - 290 - def lb_line_format(list_data,curr=False): 291 - str = "" 292 - if (curr): 293 - str += weechat.color("yellow,red") 294 - channel_text = list_data['channel'].ljust(int(weechat.config_get_plugin('channel_min_width'))) 295 - users_text = "(%s)" % list_data['users'] 296 - padded_users_text = users_text.rjust(int(weechat.config_get_plugin('users_min_width')) + 2) 297 - str += "%s%s %s " % (weechat.color("bold"), channel_text, padded_users_text) 298 - if not list_data['nomodes']: 299 - modes = "[%s]" % list_data['modes'] 300 - else: 301 - modes = "[]" 302 - str += "%s: " % modes.rjust(int(weechat.config_get_plugin('modes_min_width')) + 2) 303 - str += "%s" % list_data['topic'] 304 - return str 305 - 306 - def lb_line_up(): 307 - global lb_curline 308 - if lb_curline <= 0: 309 - return 310 - lb_curline -= 1 311 - lb_refresh_curline() 312 - lb_check_outside_window() 313 - return 314 - 315 - def lb_line_down(): 316 - global lb_curline, lb_channels 317 - if lb_curline+1 >= len(lb_channels): 318 - return 319 - lb_curline += 1 320 - lb_refresh_curline() 321 - lb_check_outside_window() 322 - return 323 - 324 - def lb_line_run(): 325 - global lb_channels, lb_curline, lb_network 326 - buff = weechat.info_get("irc_buffer", lb_network) 327 - channel = lb_channels[lb_curline]['channel'] 328 - command = "/join %s" % channel 329 - weechat.command(buff, command) 330 - return 331 - 332 - def lb_line_select(): 333 - return 334 - 335 - def lb_scroll_top(): 336 - global lb_curline 337 - old_y = lb_curline 338 - lb_curline = 0 339 - lb_refresh_curline() 340 - lb_refresh_line(old_y) 341 - weechat.command(lb_buffer, "/window scroll_top") 342 - return 343 - 344 - def lb_scroll_bottom(): 345 - global lb_curline, lb_channels 346 - old_y = lb_curline 347 - lb_curline = len(lb_channels)-1 348 - lb_refresh_curline() 349 - lb_refresh_line(old_y) 350 - weechat.command(lb_buffer, "/window scroll_bottom") 351 - return 352 - 353 - def lb_check_outside_window(): 354 - global lb_buffer, lb_curline 355 - if (lb_buffer): 356 - infolist = weechat.infolist_get("window", "", "current") 357 - if (weechat.infolist_next(infolist)): 358 - start_line_y = weechat.infolist_integer(infolist, "start_line_y") 359 - chat_height = weechat.infolist_integer(infolist, "chat_height") 360 - if(start_line_y > lb_curline): 361 - weechat.command(lb_buffer, "/window scroll -%i" %(start_line_y - lb_curline)) 362 - elif(start_line_y <= lb_curline - chat_height): 363 - weechat.command(lb_buffer, "/window scroll +%i"%(lb_curline - start_line_y - chat_height + 1)) 364 - weechat.infolist_free(infolist) 365 - 366 - def lb_sort_next(): 367 - global lb_current_sort, lb_sort_options 368 - if lb_current_sort: 369 - new_index = lb_sort_options.index(lb_current_sort) + 1 370 - else: 371 - new_index = 0 372 - 373 - if len(lb_sort_options) <= new_index: 374 - new_index = 0 375 - 376 - lb_set_current_sort_order(lb_sort_options[new_index]) 377 - lb_sort() 378 - 379 - def lb_set_current_sort_order(value): 380 - global lb_current_sort 381 - lb_current_sort = value 382 - weechat.config_set_plugin('sort_order', lb_current_sort) 383 - 384 - def lb_set_invert_sort_order(value): 385 - global lb_sort_inverted 386 - lb_sort_inverted = value 387 - weechat.config_set_plugin('sort_inverted', ('on' if lb_sort_inverted else 'off')) 388 - 389 - def lb_sort_previous(): 390 - global lb_current_sort, lb_sort_options 391 - if lb_current_sort: 392 - new_index = lb_sort_options.index(lb_current_sort) - 1 393 - else: 394 - new_index = 0 395 - 396 - if new_index < 0: 397 - new_index = len(lb_sort_options) - 1 398 - 399 - lb_set_current_sort_order(lb_sort_options[new_index]) 400 - lb_sort() 401 - 402 - def lb_sort(sort_key=None): 403 - global lb_channels, lb_current_sort, lb_sort_inverted 404 - if sort_key: 405 - lb_set_current_sort_order(sort_key) 406 - if lb_current_sort == 'users': 407 - lb_channels = sorted(lb_channels, key=lambda chan_data: int(chan_data[lb_current_sort])) 408 - else: 409 - lb_channels = sorted(lb_channels, key=lambda chan_data: chan_data[lb_current_sort]) 410 - if lb_sort_inverted: 411 - lb_channels.reverse() 412 - lb_set_buffer_title() 413 - lb_refresh() 414 - 415 - def lb_sort_invert(): 416 - global lb_current_sort, lb_sort_inverted 417 - if lb_current_sort: 418 - lb_set_invert_sort_order(not lb_sort_inverted) 419 - lb_sort() 420 - 421 - def lb_close_cb(*kwargs): 422 - """ A callback for buffer closing. """ 423 - global lb_buffer 424 - 425 - lb_buffer = None 426 - return weechat.WEECHAT_RC_OK 427 - 428 - lb_options = { 429 - 'refresh' : lb_refresh, 430 - 'up' : lb_line_up, 431 - 'down' : lb_line_down, 432 - 'enter' : lb_line_run, 433 - 'space' : lb_line_select, 434 - 'scroll_top' : lb_scroll_top, 435 - 'scroll_bottom': lb_scroll_bottom, 436 - 'sort_next' : lb_sort_next, 437 - 'sort_previous': lb_sort_previous, 438 - 'sort_invert': lb_sort_invert 439 - } 440 - 441 - def lb_command_main(data, buffer, args): 442 - if args[0:2] == "**": 443 - keyEvent(data, buffer, args[2:]) 444 - return weechat.WEECHAT_RC_OK 445 - 446 - def lb_set_default_settings(): 447 - global lb_settings 448 - # Set default settings 449 - for option, default_value, description in lb_settings: 450 - if not weechat.config_is_set_plugin(option): 451 - weechat.config_set_plugin(option, default_value) 452 - version = weechat.info_get("version_number", "") or 0 453 - if int(version) >= 0x00030500: 454 - weechat.config_set_desc_plugin(option, description) 455 - 456 - def lb_reset_stored_sort_order(): 457 - global lb_current_sort, lb_sort_inverted 458 - lb_current_sort = weechat.config_get_plugin('sort_order') 459 - lb_sort_inverted = (True if weechat.config_get_plugin('sort_inverted') == 'on' else False) 460 - 461 - if __name__ == "__main__" and import_ok: 462 - if weechat.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION, 463 - SCRIPT_LICENSE, SCRIPT_DESC, "lb_close_cb", ""): 464 - lb_set_default_settings() 465 - lb_reset_stored_sort_order() 466 - lb_buffer = weechat.buffer_search("python", "listbuffer") 467 - 468 - weechat.hook_signal("*,irc_in_321", "lb_list_start", "") 469 - weechat.hook_signal("*,irc_in_322", "lb_list_chan", "") 470 - weechat.hook_signal("*,irc_in_323", "lb_list_end", "") 471 - weechat.hook_command(SCRIPT_COMMAND, 472 - "List Buffer", 473 - "", "", "", 474 - "lb_command_main", "")
+23 -12
weechat/.weechat/relay.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 11 12 + config_version = 2 13 + 12 14 [look] 13 - auto_open_buffer = on 15 + auto_open_buffer = "on" 16 + display_clients = "irc,weechat" 14 17 raw_messages = 256 18 + raw_messages_max_length = 4096 15 19 16 20 [color] 17 21 client = cyan 18 - status_active = lightblue 19 - status_auth_failed = lightred 20 - status_connecting = 130 22 + status_active = green 23 + status_auth_failed = lightmagenta 24 + status_authenticating = yellow 25 + status_connecting = white 21 26 status_disconnected = lightred 22 - status_waiting_auth = brown 23 27 text = default 24 28 text_bg = default 25 29 text_selected = white ··· 30 34 auth_timeout = 60 31 35 bind_address = "" 32 36 clients_purge_delay = 0 37 + commands = "*,!quit" 33 38 compression = 20 34 39 ipv6 = on 35 40 max_clients = 5 ··· 37 42 password = "${sec.data.relaypass}" 38 43 password_hash_algo = "*" 39 44 password_hash_iterations = 100000 40 - ssl_cert_key = "%h/ssl/relay.pem" 41 - ssl_priorities = "NORMAL:-VERS-SSL3.0" 45 + time_window = 5 46 + tls_cert_key = "%h/ssl/relay.pem" 47 + tls_priorities = "NORMAL:-VERS-SSL3.0" 42 48 totp_secret = "" 43 49 totp_window = 0 44 50 websocket_allowed_origins = "" 51 + websocket_permessage_deflate = on 45 52 46 53 [irc] 47 - backlog_max_minutes = 525600 48 - backlog_max_number = 256 54 + backlog_max_minutes = 0 55 + backlog_max_number = 1024 49 56 backlog_since_last_disconnect = on 50 57 backlog_since_last_message = off 51 58 backlog_tags = "irc_privmsg" 52 59 backlog_time_format = "[%H:%M] " 53 60 54 - [weechat] 55 - commands = "" 61 + [api] 62 + remote_autoreconnect_delay_growing = 2 63 + remote_autoreconnect_delay_max = 600 64 + remote_get_lines = 1000 56 65 57 66 [port] 58 67 59 68 [path] 60 69 unix.weechat = "%h/relay_socket" 70 + 71 + [remote]
+1 -1
weechat/.weechat/ruby.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 11 12 12 [look]
+17 -17
weechat/.weechat/script.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 11 12 12 [look] 13 - columns = "%s %n %V %v %u │ %d │ %t" 13 + columns = "%s %n %V %v %u | %d | %t" 14 14 diff_color = on 15 15 diff_command = "auto" 16 16 display_source = on ··· 20 20 use_keys = on 21 21 22 22 [color] 23 - status_autoloaded = cyan 23 + status_autoloaded = 39 24 24 status_held = white 25 25 status_installed = lightcyan 26 26 status_obsolete = lightmagenta 27 - status_popular = 130 27 + status_popular = yellow 28 28 status_running = lightgreen 29 29 status_unknown = lightred 30 30 text = default 31 31 text_bg = default 32 - text_bg_selected = 235 33 - text_date = default 34 - text_date_selected = white 35 - text_delimiters = 130 36 - text_description = default 32 + text_bg_selected = 24 33 + text_date = 65 34 + text_date_selected = 50 35 + text_delimiters = 240 36 + text_description = 249 37 37 text_description_selected = white 38 - text_extension = default 39 - text_extension_selected = white 40 - text_name = cyan 41 - text_name_selected = lightcyan 38 + text_extension = 242 39 + text_extension_selected = 248 40 + text_name = 73 41 + text_name_selected = 51 42 42 text_selected = white 43 43 text_tags = brown 44 - text_tags_selected = 130 45 - text_version = magenta 46 - text_version_loaded = default 44 + text_tags_selected = yellow 45 + text_version = 100 46 + text_version_loaded = 246 47 47 text_version_loaded_selected = white 48 - text_version_selected = lightmagenta 48 + text_version_selected = 228 49 49 50 50 [scripts] 51 51 autoload = on
+1 -1
weechat/.weechat/spell.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 11 12 12 [color]
+6 -7
weechat/.weechat/trigger.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 11 12 12 [look] ··· 15 15 16 16 [color] 17 17 flag_command = lightgreen 18 - flag_conditions = 130 18 + flag_conditions = yellow 19 19 flag_post_action = lightblue 20 20 flag_regex = lightcyan 21 21 flag_return_code = lightmagenta 22 + identifier = cyan 22 23 regex = white 23 24 replace = cyan 24 - trigger = green 25 - trigger_disabled = red 26 25 27 26 [trigger] 28 27 beep.arguments = "" ··· 39 38 cmd_pass.enabled = on 40 39 cmd_pass.hook = modifier 41 40 cmd_pass.post_action = none 42 - 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:+}}" 41 + 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:+}}" 43 42 cmd_pass.return_code = ok 44 43 cmd_pass_register.arguments = "5000|input_text_display;5000|history_add;5000|irc_command_auth" 45 44 cmd_pass_register.command = "" ··· 47 46 cmd_pass_register.enabled = on 48 47 cmd_pass_register.hook = modifier 49 48 cmd_pass_register.post_action = none 50 - cmd_pass_register.regex = "==^(/(msg|m|quote) +(-server +[^ ]+ +)?nickserv +register +)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}" 49 + cmd_pass_register.regex = "s==^(/(msg|m|quote) +(-server +[^ \n]+ +)?nickserv +register +)([^ \n]+)([^\n]*)==${re:1}${hide:*,${re:4}}${re:5}" 51 50 cmd_pass_register.return_code = ok 52 51 greentext.arguments = "weechat_print" 53 52 greentext.command = "" ··· 151 150 server_pass.enabled = on 152 151 server_pass.hook = modifier 153 152 server_pass.post_action = none 154 - server_pass.regex = "==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}" 153 + server_pass.regex = "s==^(/(server|connect) [^\n]*-(sasl_)?password=)([^ \n]+)([^\n]*)==${re:1}${hide:*,${re:4}}${re:5}" 155 154 server_pass.return_code = ok 156 155 url_color.arguments = "weechat_print" 157 156 url_color.command = ""
+1 -1
weechat/.weechat/typing.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 11 12 12 [look]
+474 -301
weechat/.weechat/weechat.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 + 12 + config_version = 4 11 13 12 14 [debug] 13 15 ··· 32 34 buffer_position = end 33 35 buffer_search_case_sensitive = off 34 36 buffer_search_force_default = off 37 + buffer_search_history = local 35 38 buffer_search_regex = off 36 39 buffer_search_where = prefix_message 37 40 buffer_time_format = "${color:250}%H${color:lightcyan}:${color:245}%M${color:lightcyan}:${color:240}%S" 38 41 buffer_time_same = "" 42 + chat_space_right = off 39 43 color_basic_force_bold = off 40 44 color_inactive_buffer = on 41 45 color_inactive_message = on 42 46 color_inactive_prefix = on 43 47 color_inactive_prefix_buffer = on 44 - color_inactive_time = off 48 + color_inactive_time = on 45 49 color_inactive_window = on 46 50 color_nick_offline = on 47 51 color_pairs_auto_reset = 5 48 52 color_real_white = off 49 53 command_chars = "" 50 54 command_incomplete = off 55 + config_permissions = "600" 51 56 confirm_quit = on 52 57 confirm_upgrade = off 53 58 day_change = on ··· 55 60 day_change_message_2dates = "-- %%a, %%d %%b %%Y (%a, %d %b %Y) --" 56 61 eat_newline_glitch = off 57 62 emphasized_attributes = "" 58 - highlight = "ben" 63 + highlight = "(?-i)ben" 64 + highlight_disable_regex = "" 65 + highlight_prefix = on 59 66 highlight_regex = "" 60 67 highlight_tags = "" 61 68 hotlist_add_conditions = "${away} || ${buffer.num_displayed} == 0" ··· 69 76 hotlist_prefix = "" 70 77 hotlist_remove = merged 71 78 hotlist_short_names = on 72 - hotlist_sort = group_time_asc 79 + hotlist_sort = "-priority,time,time_usec" 73 80 hotlist_suffix = "" 74 81 hotlist_unique_numbers = on 75 82 hotlist_update_on_buffer_switch = on 76 83 input_cursor_scroll = 20 84 + input_multiline_lead_linebreak = on 77 85 input_share = none 78 86 input_share_overwrite = off 79 87 input_undo_max = 32 ··· 88 96 key_bind_safe = on 89 97 key_grab_delay = 800 90 98 mouse = on 91 - mouse_timer_delay = 100 92 99 nick_color_force = "" 93 100 nick_color_hash = djb2 94 101 nick_color_hash_salt = "" 95 102 nick_color_stop_chars = "_|[" 96 103 nick_prefix = "" 97 104 nick_suffix = "" 98 - paste_auto_add_newline = on 99 105 paste_bracketed = on 100 106 paste_bracketed_timer_delay = 10 101 - paste_max_lines = 1 107 + paste_max_lines = 100 102 108 prefix_action = " *" 103 109 prefix_align = right 104 110 prefix_align_max = 15 ··· 150 156 chat_buffer = white 151 157 chat_channel = white 152 158 chat_day_change = cyan 153 - chat_delimiters = green 159 + chat_delimiters = 22 154 160 chat_highlight = yellow 155 161 chat_highlight_bg = darkgray 156 162 chat_host = cyan 157 163 chat_inactive_buffer = default 158 - chat_inactive_window = default 164 + chat_inactive_window = 240 159 165 chat_nick = lightcyan 160 166 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" 161 - chat_nick_offline = blue 167 + chat_nick_offline = 242 162 168 chat_nick_offline_highlight = default 163 169 chat_nick_offline_highlight_bg = blue 164 170 chat_nick_other = cyan ··· 177 183 chat_read_marker = magenta 178 184 chat_read_marker_bg = default 179 185 chat_server = brown 186 + chat_status_disabled = red 187 + chat_status_enabled = green 180 188 chat_tags = red 181 - chat_text_found = 130 189 + chat_text_found = yellow 182 190 chat_text_found_bg = lightmagenta 183 191 chat_time = default 184 192 chat_time_delimiters = brown 185 193 chat_value = cyan 186 194 chat_value_null = blue 187 - emphasized = 130 188 - emphasized_bg = magenta 195 + emphasized = yellow 196 + emphasized_bg = 54 197 + eval_syntax_colors = "green,lightred,lightblue,lightmagenta,yellow,cyan" 189 198 input_actions = lightgreen 190 199 input_text_not_found = red 191 200 item_away = yellow 192 - nicklist_away = cyan 201 + nicklist_away = 240 193 202 nicklist_group = green 194 203 separator = blue 195 204 status_count_highlight = magenta ··· 197 206 status_count_other = default 198 207 status_count_private = green 199 208 status_data_highlight = lightmagenta 200 - status_data_msg = 130 209 + status_data_msg = yellow 201 210 status_data_other = default 202 211 status_data_private = lightgreen 203 212 status_filter = green 213 + status_modes = default 204 214 status_more = 130 205 215 status_mouse = green 206 216 status_name = white 207 - status_name_ssl = lightgreen 217 + status_name_insecure = lightmagenta 218 + status_name_tls = white 208 219 status_nicklist_count = default 209 - status_number = 130 220 + status_number = yellow 210 221 status_time = default 211 222 212 223 [completion] 213 224 base_word_until_cursor = on 225 + case_sensitive = on 214 226 command_inline = on 215 - default_template = "%(nicks)|%(irc_channels)|%(completion_script)" 227 + default_template = "%(nicks)|%(irc_channels)|%(completion_script)|%(bitlbee_completion)" 216 228 nick_add_space = on 217 229 nick_case_sensitive = off 218 230 nick_completer = ": " ··· 345 357 rootstatus.size = 1 346 358 rootstatus.size_max = 0 347 359 rootstatus.type = root 348 - title.color_bg = black 349 - title.color_bg_inactive = darkgray 350 - title.color_delim = lightcyan 360 + title.color_bg = 234 361 + title.color_bg_inactive = 232 362 + title.color_delim = cyan 351 363 title.color_fg = default 352 364 title.conditions = "" 353 365 title.filling_left_right = vertical ··· 361 373 title.size_max = 0 362 374 title.type = window 363 375 376 + [custom_bar_item] 377 + 364 378 [layout] 365 379 default.buffer = "core;weechat;1" 366 - default.buffer = "perl;highmon;1" 367 - default.window = "1;0;15;1;-;-" 368 - default.window = "2;1;0;0;irc;tilde.#team" 369 - default.window = "3;1;0;0;core;weechat" 380 + default.buffer = "perl;highmon;2" 381 + default.buffer = "python;slack.remotes;3" 382 + default.buffer = "python;slack.remotes.#general;4" 383 + default.buffer = "python;slack.remotes.#irc;5" 384 + default.buffer = "python;slack.remotes.#metodo-miyagi;6" 385 + default.buffer = "python;snote;7" 386 + default.buffer = "python;snote-bots;8" 387 + default.buffer = "python;snote-conn;9" 388 + default.buffer = "python;snote-junk;10" 389 + default.buffer = "python;snote-oper;11" 390 + default.buffer = "relay;relay.list;12" 391 + default.buffer = "irc;server.bitlbee;13" 392 + default.buffer = "irc;bitlbee.&bitlbee;14" 393 + default.buffer = "irc;bitlbee.&grouptext;15" 394 + default.buffer = "irc;bitlbee.&hmm;16" 395 + default.buffer = "irc;bitlbee.&SMS;17" 396 + default.buffer = "irc;bitlbee.&tilde;18" 397 + default.buffer = "irc;bitlbee.#biboumi;19" 398 + default.buffer = "irc;bitlbee.#btlgeneral;20" 399 + default.buffer = "irc;bitlbee.#cifuzofu;21" 400 + default.buffer = "irc;bitlbee.#conversations;22" 401 + default.buffer = "irc;bitlbee.#ejabberd;23" 402 + default.buffer = "irc;bitlbee.#gritty;24" 403 + default.buffer = "irc;bitlbee.#harris;25" 404 + default.buffer = "irc;bitlbee.#hmm;26" 405 + default.buffer = "irc;bitlbee.#pocketdragons;27" 406 + default.buffer = "irc;bitlbee.#soprani.ca;28" 407 + default.buffer = "irc;bitlbee.#texto-plano;29" 408 + default.buffer = "irc;bitlbee.#tilde.team;30" 409 + default.buffer = "irc;bitlbee.#tilde.zone_ben;31" 410 + default.buffer = "irc;bitlbee.#twitter_nebsirrah;32" 411 + default.buffer = "irc;bitlbee.maddie;33" 412 + default.buffer = "irc;bitlbee.philipp;34" 413 + default.buffer = "irc;server.blinkenshell;35" 414 + default.buffer = "irc;blinkenshell.#blinkenshell;36" 415 + default.buffer = "irc;server.darwin;37" 416 + default.buffer = "irc;darwin.#darwin;38" 417 + default.buffer = "irc;server.ergo;39" 418 + default.buffer = "irc;ergo.#ergo;40" 419 + default.buffer = "irc;server.esper;41" 420 + default.buffer = "irc;esper.#coders;42" 421 + default.buffer = "irc;esper.#factorio;43" 422 + default.buffer = "irc;esper.#lobby;44" 423 + default.buffer = "irc;server.hashbang;45" 424 + default.buffer = "irc;hashbang.#!;46" 425 + default.buffer = "irc;hashbang.#!opers;47" 426 + default.buffer = "irc;hashbang.#!social;48" 427 + default.buffer = "irc;server.inspircd;49" 428 + default.buffer = "irc;inspircd.#inspircd;50" 429 + default.buffer = "irc;server.libera;51" 430 + default.buffer = "irc;libera.#adventofcode;52" 431 + default.buffer = "irc;libera.#adventofcode-spoilers;53" 432 + default.buffer = "irc;libera.#ahti.space;54" 433 + default.buffer = "irc;libera.##ben;55" 434 + default.buffer = "irc;libera.#bitbot;56" 435 + default.buffer = "irc;libera.##crime;57" 436 + default.buffer = "irc;libera.##crustaceans;58" 437 + default.buffer = "irc;libera.#csharp;59" 438 + default.buffer = "irc;libera.##digbuild;60" 439 + default.buffer = "irc;libera.#edist.ro;61" 440 + default.buffer = "irc;libera.#fosshost;62" 441 + default.buffer = "irc;libera.#fosshost-volunteers;63" 442 + default.buffer = "irc;libera.#futel;64" 443 + default.buffer = "irc;libera.#gitea;65" 444 + default.buffer = "irc;libera.#glirc;66" 445 + default.buffer = "irc;libera.#gopher;67" 446 + default.buffer = "irc;libera.#ircpuzzles;68" 447 + default.buffer = "irc;libera.#ircpuzzles-chat;69" 448 + default.buffer = "irc;libera.#irctokens;70" 449 + default.buffer = "irc;libera.#libera;71" 450 + default.buffer = "irc;libera.#libera-announcements;72" 451 + default.buffer = "irc;libera.#libera-atl;73" 452 + default.buffer = "irc;libera.#libera-audit;74" 453 + default.buffer = "irc;libera.#libera-beer;75" 454 + default.buffer = "irc;libera.#libera-communities;76" 455 + default.buffer = "irc;libera.#libera-dev;77" 456 + default.buffer = "irc;libera.#libera-docs;78" 457 + default.buffer = "irc;libera.#libera-dragons;79" 458 + default.buffer = "irc;libera.#libera-eng;80" 459 + default.buffer = "irc;libera.#libera-matrix-internal;81" 460 + default.buffer = "irc;libera.#libera-mentoring;82" 461 + default.buffer = "irc;libera.#libera-naughtiness;83" 462 + default.buffer = "irc;libera.#libera-org;84" 463 + default.buffer = "irc;libera.#libera-pac;85" 464 + default.buffer = "irc;libera.#libera-social;86" 465 + default.buffer = "irc;libera.#libera-spam;87" 466 + default.buffer = "irc;libera.#libera-status;88" 467 + default.buffer = "irc;libera.#libera-tas;89" 468 + default.buffer = "irc;libera.#lobsters;90" 469 + default.buffer = "irc;libera.#mastodon;91" 470 + default.buffer = "irc;libera.##oodnet;92" 471 + default.buffer = "irc;libera.#ovh;93" 472 + default.buffer = "irc;libera.#pleroma;94" 473 + default.buffer = "irc;libera.##proxmox;95" 474 + default.buffer = "irc;libera.#snowcone;96" 475 + default.buffer = "irc;libera.#tilde.team;97" 476 + default.buffer = "irc;libera.#tildebot;98" 477 + default.buffer = "irc;libera.#ubuntu-devel;99" 478 + default.buffer = "irc;libera.#weechat;100" 479 + default.buffer = "irc;libera.#weechat-android;101" 480 + default.buffer = "irc;libera.#werewolf;102" 481 + default.buffer = "irc;libera.#xeserv;103" 482 + default.buffer = "irc;server.liberta.casa;104" 483 + default.buffer = "irc;liberta.casa.#libcasa.info;105" 484 + default.buffer = "irc;liberta.casa.#mods;106" 485 + default.buffer = "irc;liberta.casa.#universe;107" 486 + default.buffer = "irc;server.oftc;108" 487 + default.buffer = "irc;oftc.#bitlbee;109" 488 + default.buffer = "irc;oftc.#debian-devel;110" 489 + default.buffer = "irc;oftc.#fish;111" 490 + default.buffer = "irc;server.pisslocal;112" 491 + default.buffer = "irc;pisslocal.#opers;113" 492 + default.buffer = "irc;pisslocal.#pissnet;114" 493 + default.buffer = "irc;pisslocal.#services;115" 494 + default.buffer = "irc;server.sdf;116" 495 + default.buffer = "irc;sdf.#sdf;117" 496 + default.buffer = "irc;sdf.#spanish;118" 497 + default.buffer = "irc;server.slashnet;119" 498 + default.buffer = "irc;slashnet.#gtlug;120" 499 + default.buffer = "irc;server.snoonet;121" 500 + default.buffer = "irc;snoonet.#help;122" 501 + default.buffer = "irc;snoonet.#personalfinance;123" 502 + default.buffer = "irc;snoonet.#snoonet;124" 503 + default.buffer = "irc;server.thermite;125" 504 + default.buffer = "irc;thermite.#armbian;126" 505 + default.buffer = "irc;thermite.#dronebl;127" 506 + default.buffer = "irc;thermite.#lowendtalk;128" 507 + default.buffer = "irc;thermite.#networking;129" 508 + default.buffer = "irc;server.tilde;130" 509 + default.buffer = "irc;tilde.#.tilde;131" 510 + default.buffer = "irc;tilde.#adventofcode;132" 511 + default.buffer = "irc;tilde.#allhandsactive;133" 512 + default.buffer = "irc;tilde.#anelki;134" 513 + default.buffer = "irc;tilde.#ascii.town;135" 514 + default.buffer = "irc;tilde.#aussie;136" 515 + default.buffer = "irc;tilde.#binary-counting;137" 516 + default.buffer = "irc;tilde.#bots;138" 517 + default.buffer = "irc;tilde.#club;139" 518 + default.buffer = "irc;tilde.#cosmic;140" 519 + default.buffer = "irc;tilde.#counting;141" 520 + default.buffer = "irc;tilde.#covid19;142" 521 + default.buffer = "irc;tilde.#ctrl-c;143" 522 + default.buffer = "irc;tilde.#dotnet;144" 523 + default.buffer = "irc;tilde.#earthward;145" 524 + default.buffer = "irc;tilde.#espanol;146" 525 + default.buffer = "irc;tilde.#fr;147" 526 + default.buffer = "irc;tilde.#gemini;148" 527 + default.buffer = "irc;tilde.#gopher;149" 528 + default.buffer = "irc;tilde.#helpdesk;150" 529 + default.buffer = "irc;tilde.#idlerpg;151" 530 + default.buffer = "irc;tilde.#linux;152" 531 + default.buffer = "irc;tilde.#math;153" 532 + default.buffer = "irc;tilde.#meta;154" 533 + default.buffer = "irc;tilde.#minecraft;155" 534 + default.buffer = "irc;tilde.#netnews;156" 535 + default.buffer = "irc;tilde.#nsfw;157" 536 + default.buffer = "irc;tilde.#opers;158" 537 + default.buffer = "irc;tilde.#rw.rs;159" 538 + default.buffer = "irc;tilde.#secret-sudoers;160" 539 + default.buffer = "irc;tilde.#southlondon;161" 540 + default.buffer = "irc;tilde.#team;162" 541 + default.buffer = "irc;tilde.#thunix;163" 542 + default.buffer = "irc;tilde.#tilde.zone-admin;164" 543 + default.buffer = "irc;tilde.#tildebot;165" 544 + default.buffer = "irc;tilde.#tildenet;166" 545 + default.buffer = "irc;tilde.#tilderadio;167" 546 + default.buffer = "irc;tilde.#tilderadio-djs;168" 547 + default.buffer = "irc;tilde.#tildetel;169" 548 + default.buffer = "irc;tilde.#topm;170" 549 + default.buffer = "irc;tilde.#town;171" 550 + default.buffer = "irc;tilde.#vim;172" 551 + default.buffer = "irc;tilde.#wiki;173" 552 + default.buffer = "irc;tilde.#xinu;174" 553 + default.buffer = "irc;tilde.#ZfA;175" 554 + default.buffer = "irc;server.town;176" 555 + default.buffer = "irc;town.#admins;177" 556 + default.buffer = "irc;town.#adventofcode;178" 557 + default.buffer = "irc;town.#announcements;179" 558 + default.buffer = "irc;town.#bots;180" 559 + default.buffer = "irc;town.#counting;181" 560 + default.buffer = "irc;town.#tildetown;182" 561 + default.window = "1;0;20;1;-;-" 562 + default.window = "2;1;0;0;irc;tilde.#topm" 563 + default.window = "3;1;0;0;perl;highmon" 370 564 default.current = on 565 + 566 + [buffer] 371 567 372 568 [notify] 373 569 irc.server.liberta.casa = highlight 374 - irc.server.pisslocal = none 570 + irc.server.newnet = highlight 375 571 irc.server.tilde = highlight 376 572 perl.highmon = none 377 573 python.listbuffer = none 574 + python.snote = highlight 575 + python.snote-bots = highlight 576 + python.snote-conn = highlight 577 + python.snote-junk = highlight 378 578 379 579 [filter] 380 580 irc_smart = on;*;irc_smart_filter;* 381 581 markov_bitbot = on;irc.tilde.*;irc_privmsg;^,m(\s|arkov)|^\[Markov\] 382 582 383 583 [key] 384 - ctrl-? = "/input delete_previous_char" 385 - ctrl-A = "/input move_beginning_of_line" 386 - ctrl-B = "/input move_previous_char" 387 - ctrl-C_ = "/input insert \x1F" 388 - ctrl-Cb = "/input insert \x02" 389 - ctrl-Cc = "/input insert \x03" 390 - ctrl-Ci = "/input insert \x1D" 391 - ctrl-Co = "/input insert \x0F" 392 - ctrl-Cv = "/input insert \x16" 393 - ctrl-D = "/input delete_next_char" 394 - ctrl-E = "/input move_end_of_line" 395 - ctrl-F = "/input move_next_char" 396 - ctrl-G = "/fzf" 397 - ctrl-H = "/input delete_previous_char" 398 - ctrl-I = "/input complete_next" 399 - ctrl-J = "/input return" 400 - ctrl-K = "/input delete_end_of_line" 401 - ctrl-L = "/window refresh" 402 - ctrl-M = "/input return" 403 - ctrl-N = "/buffer +1" 404 - ctrl-P = "/buffer -1" 405 - ctrl-R = "/input search_text" 406 - ctrl-Sctrl-U = "/input set_unread" 407 - ctrl-T = "/input transpose_chars" 408 - ctrl-U = "/input delete_beginning_of_line" 409 - ctrl-W = "/input delete_previous_word" 410 - ctrl-X = "/input switch_active_buffer" 411 - ctrl-Y = "/input clipboard_paste" 412 - meta-ctrl-M = "/input insert \n" 413 - meta-meta-OP = "/bar scroll buflist * b" 414 - meta-meta-OQ = "/bar scroll buflist * e" 415 - meta-meta2-11~ = "/bar scroll buflist * b" 416 - meta-meta2-12~ = "/bar scroll buflist * e" 417 - meta-meta2-1~ = "/window scroll_top" 418 - meta-meta2-23~ = "/bar scroll nicklist * b" 419 - meta-meta2-24~ = "/bar scroll nicklist * e" 420 - meta-meta2-4~ = "/window scroll_bottom" 421 - meta-meta2-5~ = "/window scroll_up" 422 - meta-meta2-6~ = "/window scroll_down" 423 - meta-meta2-7~ = "/window scroll_top" 424 - meta-meta2-8~ = "/window scroll_bottom" 425 - meta-meta2-A = "/buffer -1" 426 - meta-meta2-B = "/buffer +1" 427 - meta-meta2-C = "/buffer +1" 428 - meta-meta2-D = "/buffer -1" 584 + backspace = "/input delete_previous_char" 585 + ctrl-_ = "/input undo" 586 + ctrl-a = "/input move_beginning_of_line" 587 + ctrl-b = "/input move_previous_char" 588 + ctrl-c,_ = "/input insert \x1F" 589 + ctrl-c,b = "/input insert \x02" 590 + ctrl-c,c = "/input insert \x03" 591 + ctrl-c,i = "/input insert \x1D" 592 + ctrl-c,o = "/input insert \x0F" 593 + ctrl-c,v = "/input insert \x16" 594 + ctrl-d = "/input delete_next_char" 595 + ctrl-down = "/input history_global_next" 596 + ctrl-e = "/input move_end_of_line" 597 + ctrl-f = "/input move_next_char" 598 + ctrl-f1 = "/bar scroll buflist * -100%" 599 + ctrl-f11 = "/bar scroll nicklist * -100%" 600 + ctrl-f12 = "/bar scroll nicklist * +100%" 601 + ctrl-f2 = "/bar scroll buflist * +100%" 602 + ctrl-k = "/input delete_end_of_line" 603 + ctrl-l = "/window refresh" 604 + ctrl-left = "/input move_previous_word" 605 + ctrl-n = "/buffer +1" 606 + ctrl-p = "/buffer -1" 607 + ctrl-r = "/input search_text_here" 608 + ctrl-right = "/input move_next_word" 609 + ctrl-s,ctrl-u = "/allbuf /buffer set unread" 610 + ctrl-t = "/input transpose_chars" 611 + ctrl-u = "/input delete_beginning_of_line" 612 + ctrl-up = "/input history_global_previous" 613 + ctrl-w = "/input delete_previous_word_whitespace" 614 + ctrl-x = "/buffer switch" 615 + ctrl-y = "/input clipboard_paste" 616 + delete = "/input delete_next_char" 617 + down = "/input history_next" 618 + end = "/input move_end_of_line" 619 + f1 = "/bar scroll buflist * -100%" 620 + f10 = "/bar scroll title * +30%" 621 + f11 = "/bar scroll nicklist * -100%" 622 + f12 = "/bar scroll nicklist * +100%" 623 + f2 = "/bar scroll buflist * +100%" 624 + f5 = "/buffer -1" 625 + f6 = "/buffer +1" 626 + f7 = "/window -1" 627 + f8 = "/window +1" 628 + f9 = "/bar scroll title * -30%" 629 + home = "/input move_beginning_of_line" 630 + left = "/input move_previous_char" 429 631 meta-- = "/filter toggle @" 430 - meta-/ = "/input jump_last_buffer_displayed" 632 + meta-/ = "/buffer jump last_displayed" 431 633 meta-0 = "/buffer *10" 432 634 meta-1 = "/buffer *1" 433 635 meta-2 = "/buffer *2" ··· 438 640 meta-7 = "/buffer *7" 439 641 meta-8 = "/buffer *8" 440 642 meta-9 = "/buffer *9" 441 - meta-< = "/input jump_previously_visited_buffer" 643 + meta-< = "/buffer jump prev_visited" 442 644 meta-= = "/filter toggle" 443 - meta-> = "/input jump_next_visited_buffer" 645 + meta-> = "/buffer jump next_visited" 444 646 meta-B = "/buflist toggle" 445 647 meta-C = "/buffer &SMS" 446 - meta-J = "/buffer server.libera" 447 648 meta-N = "/bar toggle nicklist" 448 - meta-OA = "/input history_global_previous" 449 - meta-OB = "/input history_global_next" 450 - meta-OC = "/input move_next_word" 451 - meta-OD = "/input move_previous_word" 452 - meta-OF = "/input move_end_of_line" 453 - meta-OH = "/input move_beginning_of_line" 454 - meta-OP = "/bar scroll buflist * -100%" 455 - meta-OQ = "/bar scroll buflist * +100%" 456 - meta-Oa = "/input history_global_previous" 457 - meta-Ob = "/input history_global_next" 458 - meta-Oc = "/input move_next_word" 459 - meta-Od = "/input move_previous_word" 460 - meta2-11^ = "/bar scroll buflist * -100%" 461 - meta2-11~ = "/bar scroll buflist * -100%" 462 - meta2-12^ = "/bar scroll buflist * +100%" 463 - meta2-12~ = "/bar scroll buflist * +100%" 464 - meta2-15~ = "/buffer -1" 465 - meta2-17~ = "/buffer +1" 466 - meta2-18~ = "/window -1" 467 - meta2-19~ = "/window +1" 468 - meta2-1;3A = "/buffer -1" 469 - meta2-1;3B = "/buffer +1" 470 - meta2-1;3C = "/buffer +1" 471 - meta2-1;3D = "/buffer -1" 472 - meta2-1;3F = "/window scroll_bottom" 473 - meta2-1;3H = "/window scroll_top" 474 - meta2-1;3P = "/bar scroll buflist * b" 475 - meta2-1;3Q = "/bar scroll buflist * e" 476 - meta2-1;5A = "/input history_global_previous" 477 - meta2-1;5B = "/input history_global_next" 478 - meta2-1;5C = "/input move_next_word" 479 - meta2-1;5D = "/input move_previous_word" 480 - meta2-1;5P = "/bar scroll buflist * -100%" 481 - meta2-1;5Q = "/bar scroll buflist * +100%" 482 - meta2-1~ = "/input move_beginning_of_line" 483 - meta2-200~ = "/input paste_start" 484 - meta2-201~ = "/input paste_stop" 485 - meta2-20~ = "/bar scroll title * -30%" 486 - meta2-21~ = "/bar scroll title * +30%" 487 - meta2-23;3~ = "/bar scroll nicklist * b" 488 - meta2-23;5~ = "/bar scroll nicklist * -100%" 489 - meta2-23^ = "/bar scroll nicklist * -100%" 490 - meta2-23~ = "/bar scroll nicklist * -100%" 491 - meta2-24;3~ = "/bar scroll nicklist * e" 492 - meta2-24;5~ = "/bar scroll nicklist * +100%" 493 - meta2-24^ = "/bar scroll nicklist * +100%" 494 - meta2-24~ = "/bar scroll nicklist * +100%" 495 - meta2-3~ = "/input delete_next_char" 496 - meta2-4~ = "/input move_end_of_line" 497 - meta2-5;3~ = "/window scroll_up" 498 - meta2-5~ = "/window page_up" 499 - meta2-6;3~ = "/window scroll_down" 500 - meta2-6~ = "/window page_down" 501 - meta2-7~ = "/input move_beginning_of_line" 502 - meta2-8~ = "/input move_end_of_line" 503 - meta2-A = "/input history_previous" 504 - meta2-B = "/input history_next" 505 - meta2-C = "/input move_next_char" 506 - meta2-D = "/input move_previous_char" 507 - meta2-F = "/input move_end_of_line" 508 - meta2-G = "/window page_down" 509 - meta2-H = "/input move_beginning_of_line" 510 - meta2-I = "/window page_up" 511 - meta2-Z = "/input complete_previous" 512 - meta2-[E = "/buffer -1" 649 + meta-R = "/input delete_input" 650 + meta-T = "/buffer server.libera" 513 651 meta-_ = "/input redo" 514 - meta-a = "/input jump_smart" 652 + meta-a = "/buffer jump smart" 515 653 meta-b = "/input move_previous_word" 654 + meta-backspace = "/input delete_previous_word" 516 655 meta-c = "/buffer &bitlbee" 656 + meta-ctrl-k = "/input delete_end_of_input" 657 + meta-ctrl-u = "/input delete_beginning_of_input" 517 658 meta-d = "/input delete_next_word" 659 + meta-down = "/buffer +1" 660 + meta-end = "/window scroll_bottom" 518 661 meta-f = "/input move_next_word" 662 + meta-f1 = "/bar scroll buflist * b" 663 + meta-f11 = "/bar scroll nicklist * b" 664 + meta-f12 = "/bar scroll nicklist * e" 665 + meta-f2 = "/bar scroll buflist * e" 519 666 meta-g = "/go" 520 - meta-hmeta-R = "/input hotlist_restore_all" 521 - meta-hmeta-c = "/input hotlist_clear" 522 - meta-hmeta-m = "/input hotlist_remove_buffer" 523 - meta-hmeta-r = "/input hotlist_restore_buffer" 524 - meta-j = "/buffer server.tilde" 525 - meta-jmeta-f = "/buffer -" 526 - meta-jmeta-l = "/buffer +" 527 - meta-jmeta-r = "/server raw" 528 - meta-jmeta-s = "/server jump" 529 - meta-j01 = "/buffer 1" 530 - meta-j02 = "/buffer 2" 531 - meta-j03 = "/buffer 3" 532 - meta-j04 = "/buffer 4" 533 - meta-j05 = "/buffer 5" 534 - meta-j06 = "/buffer 6" 535 - meta-j07 = "/buffer 7" 536 - meta-j08 = "/buffer 8" 537 - meta-j09 = "/buffer 9" 538 - meta-j10 = "/buffer 10" 539 - meta-j11 = "/buffer 11" 540 - meta-j12 = "/buffer 12" 541 - meta-j13 = "/buffer 13" 542 - meta-j14 = "/buffer 14" 543 - meta-j15 = "/buffer 15" 544 - meta-j16 = "/buffer 16" 545 - meta-j17 = "/buffer 17" 546 - meta-j18 = "/buffer 18" 547 - meta-j19 = "/buffer 19" 548 - meta-j20 = "/buffer 20" 549 - meta-j21 = "/buffer 21" 550 - meta-j22 = "/buffer 22" 551 - meta-j23 = "/buffer 23" 552 - meta-j24 = "/buffer 24" 553 - meta-j25 = "/buffer 25" 554 - meta-j26 = "/buffer 26" 555 - meta-j27 = "/buffer 27" 556 - meta-j28 = "/buffer 28" 557 - meta-j29 = "/buffer 29" 558 - meta-j30 = "/buffer 30" 559 - meta-j31 = "/buffer 31" 560 - meta-j32 = "/buffer 32" 561 - meta-j33 = "/buffer 33" 562 - meta-j34 = "/buffer 34" 563 - meta-j35 = "/buffer 35" 564 - meta-j36 = "/buffer 36" 565 - meta-j37 = "/buffer 37" 566 - meta-j38 = "/buffer 38" 567 - meta-j39 = "/buffer 39" 568 - meta-j40 = "/buffer 40" 569 - meta-j41 = "/buffer 41" 570 - meta-j42 = "/buffer 42" 571 - meta-j43 = "/buffer 43" 572 - meta-j44 = "/buffer 44" 573 - meta-j45 = "/buffer 45" 574 - meta-j46 = "/buffer 46" 575 - meta-j47 = "/buffer 47" 576 - meta-j48 = "/buffer 48" 577 - meta-j49 = "/buffer 49" 578 - meta-j50 = "/buffer 50" 579 - meta-j51 = "/buffer 51" 580 - meta-j52 = "/buffer 52" 581 - meta-j53 = "/buffer 53" 582 - meta-j54 = "/buffer 54" 583 - meta-j55 = "/buffer 55" 584 - meta-j56 = "/buffer 56" 585 - meta-j57 = "/buffer 57" 586 - meta-j58 = "/buffer 58" 587 - meta-j59 = "/buffer 59" 588 - meta-j60 = "/buffer 60" 589 - meta-j61 = "/buffer 61" 590 - meta-j62 = "/buffer 62" 591 - meta-j63 = "/buffer 63" 592 - meta-j64 = "/buffer 64" 593 - meta-j65 = "/buffer 65" 594 - meta-j66 = "/buffer 66" 595 - meta-j67 = "/buffer 67" 596 - meta-j68 = "/buffer 68" 597 - meta-j69 = "/buffer 69" 598 - meta-j70 = "/buffer 70" 599 - meta-j71 = "/buffer 71" 600 - meta-j72 = "/buffer 72" 601 - meta-j73 = "/buffer 73" 602 - meta-j74 = "/buffer 74" 603 - meta-j75 = "/buffer 75" 604 - meta-j76 = "/buffer 76" 605 - meta-j77 = "/buffer 77" 606 - meta-j78 = "/buffer 78" 607 - meta-j79 = "/buffer 79" 608 - meta-j80 = "/buffer 80" 609 - meta-j81 = "/buffer 81" 610 - meta-j82 = "/buffer 82" 611 - meta-j83 = "/buffer 83" 612 - meta-j84 = "/buffer 84" 613 - meta-j85 = "/buffer 85" 614 - meta-j86 = "/buffer 86" 615 - meta-j87 = "/buffer 87" 616 - meta-j88 = "/buffer 88" 617 - meta-j89 = "/buffer 89" 618 - meta-j90 = "/buffer 90" 619 - meta-j91 = "/buffer 91" 620 - meta-j92 = "/buffer 92" 621 - meta-j93 = "/buffer 93" 622 - meta-j94 = "/buffer 94" 623 - meta-j95 = "/buffer 95" 624 - meta-j96 = "/buffer 96" 625 - meta-j97 = "/buffer 97" 626 - meta-j98 = "/buffer 98" 627 - meta-j99 = "/buffer 99" 667 + meta-h,meta-R = "/hotlist restore -all" 668 + meta-h,meta-c = "/hotlist clear" 669 + meta-h,meta-m = "/hotlist remove" 670 + meta-h,meta-r = "/hotlist restore" 671 + meta-home = "/window scroll_top" 672 + meta-j,0,1 = "/buffer *1" 673 + meta-j,0,2 = "/buffer *2" 674 + meta-j,0,3 = "/buffer *3" 675 + meta-j,0,4 = "/buffer *4" 676 + meta-j,0,5 = "/buffer *5" 677 + meta-j,0,6 = "/buffer *6" 678 + meta-j,0,7 = "/buffer *7" 679 + meta-j,0,8 = "/buffer *8" 680 + meta-j,0,9 = "/buffer *9" 681 + meta-j,1,0 = "/buffer *10" 682 + meta-j,1,1 = "/buffer *11" 683 + meta-j,1,2 = "/buffer *12" 684 + meta-j,1,3 = "/buffer *13" 685 + meta-j,1,4 = "/buffer *14" 686 + meta-j,1,5 = "/buffer *15" 687 + meta-j,1,6 = "/buffer *16" 688 + meta-j,1,7 = "/buffer *17" 689 + meta-j,1,8 = "/buffer *18" 690 + meta-j,1,9 = "/buffer *19" 691 + meta-j,2,0 = "/buffer *20" 692 + meta-j,2,1 = "/buffer *21" 693 + meta-j,2,2 = "/buffer *22" 694 + meta-j,2,3 = "/buffer *23" 695 + meta-j,2,4 = "/buffer *24" 696 + meta-j,2,5 = "/buffer *25" 697 + meta-j,2,6 = "/buffer *26" 698 + meta-j,2,7 = "/buffer *27" 699 + meta-j,2,8 = "/buffer *28" 700 + meta-j,2,9 = "/buffer *29" 701 + meta-j,3,0 = "/buffer *30" 702 + meta-j,3,1 = "/buffer *31" 703 + meta-j,3,2 = "/buffer *32" 704 + meta-j,3,3 = "/buffer *33" 705 + meta-j,3,4 = "/buffer *34" 706 + meta-j,3,5 = "/buffer *35" 707 + meta-j,3,6 = "/buffer *36" 708 + meta-j,3,7 = "/buffer *37" 709 + meta-j,3,8 = "/buffer *38" 710 + meta-j,3,9 = "/buffer *39" 711 + meta-j,4,0 = "/buffer *40" 712 + meta-j,4,1 = "/buffer *41" 713 + meta-j,4,2 = "/buffer *42" 714 + meta-j,4,3 = "/buffer *43" 715 + meta-j,4,4 = "/buffer *44" 716 + meta-j,4,5 = "/buffer *45" 717 + meta-j,4,6 = "/buffer *46" 718 + meta-j,4,7 = "/buffer *47" 719 + meta-j,4,8 = "/buffer *48" 720 + meta-j,4,9 = "/buffer *49" 721 + meta-j,5,0 = "/buffer *50" 722 + meta-j,5,1 = "/buffer *51" 723 + meta-j,5,2 = "/buffer *52" 724 + meta-j,5,3 = "/buffer *53" 725 + meta-j,5,4 = "/buffer *54" 726 + meta-j,5,5 = "/buffer *55" 727 + meta-j,5,6 = "/buffer *56" 728 + meta-j,5,7 = "/buffer *57" 729 + meta-j,5,8 = "/buffer *58" 730 + meta-j,5,9 = "/buffer *59" 731 + meta-j,6,0 = "/buffer *60" 732 + meta-j,6,1 = "/buffer *61" 733 + meta-j,6,2 = "/buffer *62" 734 + meta-j,6,3 = "/buffer *63" 735 + meta-j,6,4 = "/buffer *64" 736 + meta-j,6,5 = "/buffer *65" 737 + meta-j,6,6 = "/buffer *66" 738 + meta-j,6,7 = "/buffer *67" 739 + meta-j,6,8 = "/buffer *68" 740 + meta-j,6,9 = "/buffer *69" 741 + meta-j,7,0 = "/buffer *70" 742 + meta-j,7,1 = "/buffer *71" 743 + meta-j,7,2 = "/buffer *72" 744 + meta-j,7,3 = "/buffer *73" 745 + meta-j,7,4 = "/buffer *74" 746 + meta-j,7,5 = "/buffer *75" 747 + meta-j,7,6 = "/buffer *76" 748 + meta-j,7,7 = "/buffer *77" 749 + meta-j,7,8 = "/buffer *78" 750 + meta-j,7,9 = "/buffer *79" 751 + meta-j,8,0 = "/buffer *80" 752 + meta-j,8,1 = "/buffer *81" 753 + meta-j,8,2 = "/buffer *82" 754 + meta-j,8,3 = "/buffer *83" 755 + meta-j,8,4 = "/buffer *84" 756 + meta-j,8,5 = "/buffer *85" 757 + meta-j,8,6 = "/buffer *86" 758 + meta-j,8,7 = "/buffer *87" 759 + meta-j,8,8 = "/buffer *88" 760 + meta-j,8,9 = "/buffer *89" 761 + meta-j,9,0 = "/buffer *90" 762 + meta-j,9,1 = "/buffer *91" 763 + meta-j,9,2 = "/buffer *92" 764 + meta-j,9,3 = "/buffer *93" 765 + meta-j,9,4 = "/buffer *94" 766 + meta-j,9,5 = "/buffer *95" 767 + meta-j,9,6 = "/buffer *96" 768 + meta-j,9,7 = "/buffer *97" 769 + meta-j,9,8 = "/buffer *98" 770 + meta-j,9,9 = "/buffer *99" 771 + meta-j,meta-f = "/buffer -" 772 + meta-j,meta-l = "/buffer +" 773 + meta-j,meta-r = "/server raw" 774 + meta-j,meta-s = "/server jump" 628 775 meta-k = "/input grab_key_command" 629 776 meta-l = "/window bare" 777 + meta-left = "/buffer -1" 630 778 meta-m = "/mute mouse toggle" 631 779 meta-n = "/window scroll_next_highlight" 632 780 meta-p = "/window scroll_previous_highlight" 781 + meta-pgdn = "/window scroll_down" 782 + meta-pgup = "/window scroll_up" 633 783 meta-r = "/input delete_line" 784 + meta-return = "/input insert \n" 785 + meta-right = "/buffer +1" 634 786 meta-s = "/mute spell toggle" 787 + meta-t = "/buffer server.tilde" 635 788 meta-u = "/window scroll_unread" 636 - meta-wmeta-meta2-A = "/window up" 637 - meta-wmeta-meta2-B = "/window down" 638 - meta-wmeta-meta2-C = "/window right" 639 - meta-wmeta-meta2-D = "/window left" 640 - meta-wmeta2-1;3A = "/window up" 641 - meta-wmeta2-1;3B = "/window down" 642 - meta-wmeta2-1;3C = "/window right" 643 - meta-wmeta2-1;3D = "/window left" 644 - meta-wmeta-b = "/window balance" 645 - meta-wmeta-s = "/window swap" 646 - meta-x = "/input zoom_merged_buffer" 789 + meta-up = "/buffer -1" 790 + meta-w,meta-b = "/window balance" 791 + meta-w,meta-down = "/window down" 792 + meta-w,meta-left = "/window left" 793 + meta-w,meta-right = "/window right" 794 + meta-w,meta-s = "/window swap" 795 + meta-w,meta-up = "/window up" 796 + meta-x = "/buffer zoom" 647 797 meta-z = "/window zoom" 648 - ctrl-_ = "/input undo" 798 + pgdn = "/window page_down" 799 + pgup = "/window page_up" 800 + return = "/input return" 801 + right = "/input move_next_char" 802 + shift-down = "/input move_next_line" 803 + shift-end = "/input move_end_of_input" 804 + shift-home = "/input move_beginning_of_input" 805 + shift-left = "/input move_previous_char" 806 + shift-right = "/input move_next_char" 807 + shift-tab = "/input complete_previous" 808 + shift-up = "/input move_previous_line" 809 + tab = "/input complete_next" 810 + up = "/input history_previous" 649 811 650 812 [key_search] 651 - ctrl-I = "/input search_switch_where" 652 - ctrl-J = "/input search_stop" 653 - ctrl-M = "/input search_stop" 654 - ctrl-Q = "/input search_stop" 655 - ctrl-R = "/input search_switch_regex" 656 - meta2-A = "/input search_previous" 657 - meta2-B = "/input search_next" 813 + ctrl-q = "/input search_stop" 814 + ctrl-r = "/input search_switch_regex" 815 + down = "/input search_next" 658 816 meta-c = "/input search_switch_case" 817 + return = "/input search_stop_here" 818 + tab = "/input search_switch_where" 819 + up = "/input search_previous" 820 + 821 + [key_histsearch] 822 + ctrl-o = "/input history_use_get_next" 823 + ctrl-q = "/input search_stop" 824 + ctrl-r = "/input search_previous" 825 + ctrl-s = "/input search_next" 826 + ctrl-x = "/input search_switch_regex" 827 + down = "/input search_next" 828 + meta-c = "/input search_switch_case" 829 + return = "/input search_stop_here" 830 + tab = "/input search_switch_where" 831 + up = "/input search_previous" 659 832 660 833 [key_cursor] 661 - ctrl-J = "/cursor stop" 662 - ctrl-M = "/cursor stop" 663 - meta-meta2-A = "/cursor move area_up" 664 - meta-meta2-B = "/cursor move area_down" 665 - meta-meta2-C = "/cursor move area_right" 666 - meta-meta2-D = "/cursor move area_left" 667 - meta2-1;3A = "/cursor move area_up" 668 - meta2-1;3B = "/cursor move area_down" 669 - meta2-1;3C = "/cursor move area_right" 670 - meta2-1;3D = "/cursor move area_left" 671 - meta2-A = "/cursor move up" 672 - meta2-B = "/cursor move down" 673 - meta2-C = "/cursor move right" 674 - meta2-D = "/cursor move left" 675 834 @chat(python.*):D = "hsignal:slack_cursor_delete" 676 835 @chat(python.*):L = "hsignal:slack_cursor_linkarchive" 677 836 @chat(python.*):M = "hsignal:slack_cursor_message" 678 837 @chat(python.*):R = "hsignal:slack_cursor_reply" 679 838 @chat(python.*):T = "hsignal:slack_cursor_thread" 839 + @chat:Q = "hsignal:chat_quote_time_prefix_message;/cursor stop" 840 + @chat:l = "hsignal:chat_quote_focused_line;/cursor stop" 841 + @chat:m = "hsignal:chat_quote_message;/cursor stop" 842 + @chat:q = "hsignal:chat_quote_prefix_message;/cursor stop" 680 843 @item(buffer_nicklist):K = "/window ${_window_number};/kickban ${nick}" 681 844 @item(buffer_nicklist):b = "/window ${_window_number};/ban ${nick}" 682 845 @item(buffer_nicklist):k = "/window ${_window_number};/kick ${nick}" 683 846 @item(buffer_nicklist):q = "/window ${_window_number};/query ${nick};/cursor stop" 684 847 @item(buffer_nicklist):w = "/window ${_window_number};/whois ${nick}" 685 - @chat:Q = "hsignal:chat_quote_time_prefix_message;/cursor stop" 686 - @chat:m = "hsignal:chat_quote_message;/cursor stop" 687 - @chat:q = "hsignal:chat_quote_prefix_message;/cursor stop" 848 + down = "/cursor move down" 849 + left = "/cursor move left" 850 + meta-down = "/cursor move area_down" 851 + meta-left = "/cursor move area_left" 852 + meta-right = "/cursor move area_right" 853 + meta-up = "/cursor move area_up" 854 + return = "/cursor stop" 855 + right = "/cursor move right" 856 + up = "/cursor move up" 688 857 689 858 [key_mouse] 859 + @*:button3 = "/cursor go ${_x},${_y}" 690 860 @bar(buflist):ctrl-wheeldown = "hsignal:buflist_mouse" 691 861 @bar(buflist):ctrl-wheelup = "hsignal:buflist_mouse" 692 862 @bar(input):button2 = "/input grab_mouse_area" ··· 694 864 @bar(nicklist):button1-gesture-down-long = "/bar scroll nicklist ${_window_number} e" 695 865 @bar(nicklist):button1-gesture-up = "/bar scroll nicklist ${_window_number} -100%" 696 866 @bar(nicklist):button1-gesture-up-long = "/bar scroll nicklist ${_window_number} b" 867 + @bar:wheeldown = "/bar scroll ${_bar_name} ${_window_number} +20%" 868 + @bar:wheelup = "/bar scroll ${_bar_name} ${_window_number} -20%" 697 869 @chat(fset.fset):button1 = "/window ${_window_number};/fset -go ${_chat_line_y}" 698 870 @chat(fset.fset):button2* = "hsignal:fset_mouse" 699 871 @chat(fset.fset):wheeldown = "/fset -down 5" 700 872 @chat(fset.fset):wheelup = "/fset -up 5" 701 - @chat(perl.iset):button1 = "hsignal:iset_mouse" 702 - @chat(perl.iset):button2* = "hsignal:iset_mouse" 703 - @chat(perl.iset):wheeldown = "/repeat 5 /iset **down" 704 - @chat(perl.iset):wheelup = "/repeat 5 /iset **up" 873 + @chat(irc.list_*):button1 = "/window ${_window_number};/list -go ${_chat_line_y}" 874 + @chat(irc.list_*):button2* = "hsignal:irc_list_mouse" 875 + @chat(irc.list_*):wheeldown = "/list -down 5" 876 + @chat(irc.list_*):wheelup = "/list -up 5" 705 877 @chat(python.*):button2 = "hsignal:slack_mouse" 706 878 @chat(script.scripts):button1 = "/window ${_window_number};/script go ${_chat_line_y}" 707 879 @chat(script.scripts):button2 = "/window ${_window_number};/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}" 708 880 @chat(script.scripts):wheeldown = "/script down 5" 709 881 @chat(script.scripts):wheelup = "/script up 5" 882 + @chat:button1 = "/window ${_window_number}" 883 + @chat:button1-gesture-left = "/window ${_window_number};/buffer -1" 884 + @chat:button1-gesture-left-long = "/window ${_window_number};/buffer 1" 885 + @chat:button1-gesture-right = "/window ${_window_number};/buffer +1" 886 + @chat:button1-gesture-right-long = "/window ${_window_number};/buffer +" 887 + @chat:ctrl-wheeldown = "/window scroll_horiz -window ${_window_number} +10%" 888 + @chat:ctrl-wheelup = "/window scroll_horiz -window ${_window_number} -10%" 889 + @chat:wheeldown = "/window scroll_down -window ${_window_number}" 890 + @chat:wheelup = "/window scroll_up -window ${_window_number}" 710 891 @item(buffer_nicklist):button1 = "/window ${_window_number};/query ${nick}" 711 892 @item(buffer_nicklist):button1-gesture-left = "/window ${_window_number};/kick ${nick}" 712 893 @item(buffer_nicklist):button1-gesture-left-long = "/window ${_window_number};/kickban ${nick}" ··· 718 899 @item(buflist2):button2* = "hsignal:buflist_mouse" 719 900 @item(buflist3):button1* = "hsignal:buflist_mouse" 720 901 @item(buflist3):button2* = "hsignal:buflist_mouse" 721 - @bar:wheeldown = "/bar scroll ${_bar_name} ${_window_number} +20%" 722 - @bar:wheelup = "/bar scroll ${_bar_name} ${_window_number} -20%" 723 - @chat:button1 = "/window ${_window_number}" 724 - @chat:button1-gesture-left = "/window ${_window_number};/buffer -1" 725 - @chat:button1-gesture-left-long = "/window ${_window_number};/buffer 1" 726 - @chat:button1-gesture-right = "/window ${_window_number};/buffer +1" 727 - @chat:button1-gesture-right-long = "/window ${_window_number};/input jump_last_buffer" 728 - @chat:ctrl-wheeldown = "/window scroll_horiz -window ${_window_number} +10%" 729 - @chat:ctrl-wheelup = "/window scroll_horiz -window ${_window_number} -10%" 730 - @chat:wheeldown = "/window scroll_down -window ${_window_number}" 731 - @chat:wheelup = "/window scroll_up -window ${_window_number}" 732 - @*:button3 = "/cursor go ${_x},${_y}" 902 + @item(buflist4):button1* = "hsignal:buflist_mouse" 903 + @item(buflist4):button2* = "hsignal:buflist_mouse" 904 + @item(buflist5):button1* = "hsignal:buflist_mouse" 905 + @item(buflist5):button2* = "hsignal:buflist_mouse"
+3 -3
weechat/.weechat/xfer.conf
··· 6 6 # 7 7 # Use commands like /set or /fset to change settings in WeeChat. 8 8 # 9 - # For more info, see: https://weechat.org/doc/quickstart/ 9 + # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 10 # 11 11 12 12 [look] ··· 17 17 [color] 18 18 status_aborted = lightred 19 19 status_active = lightblue 20 - status_connecting = 130 20 + status_connecting = yellow 21 21 status_done = lightgreen 22 22 status_failed = lightred 23 23 status_waiting = lightcyan ··· 28 28 [network] 29 29 blocksize = 65536 30 30 fast_send = on 31 - own_ip = "167.114.7.65" 31 + own_ip = "198.108.77.243" 32 32 port_range = "42069" 33 33 send_ack = on 34 34 speed_limit_recv = 0