From 6427b33677d81e18a49ff80b24fdbe2c18592266 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Mon, 6 Jan 2020 13:18:26 -0500 Subject: [PATCH] annual channel purge --- vim/.vim/bundle/vim-fugitive | 2 +- vim/.vimrc | 1 + weechat/.weechat/irc.conf | 10 ++++---- weechat/.weechat/perl/colorize_lines.pl | 6 ++++- weechat/.weechat/plugins.conf | 2 ++ weechat/.weechat/python/autosort.py | 31 +++++++++++++++---------- 6 files changed, 33 insertions(+), 19 deletions(-) diff --git a/vim/.vim/bundle/vim-fugitive b/vim/.vim/bundle/vim-fugitive index b68b6d4..9ec6b55 160000 --- a/vim/.vim/bundle/vim-fugitive +++ b/vim/.vim/bundle/vim-fugitive @@ -1 +1 @@ -Subproject commit b68b6d4329d9bee58a521e0ff8c6adbbc53915b4 +Subproject commit 9ec6b55d037651f0a92583cff0a038912266e7f9 diff --git a/vim/.vimrc b/vim/.vimrc index e4c25bf..b4023f7 100644 --- a/vim/.vimrc +++ b/vim/.vimrc @@ -10,6 +10,7 @@ syntax enable colo ron set guifont="Input" +set spell set autoindent set backspace=indent,eol,start set complete-=i diff --git a/weechat/.weechat/irc.conf b/weechat/.weechat/irc.conf index 643c9c8..44cf8eb 100644 --- a/weechat/.weechat/irc.conf +++ b/weechat/.weechat/irc.conf @@ -187,7 +187,7 @@ tilde.local_hostname tilde.usermode tilde.command = "/msg operserv login ${sec.data.pass}" tilde.command_delay -tilde.autojoin = "#meta,#secret-sudoers,#admin,#opers,#sudoers,#music,#politics,#gopher,#tildeverse,#idlerpg,#tilderadio,#minecraft,#tildelinux,#cosmic,#institute,#.tilde,#tildetel,#thunix,#theasylum,#minetest,#aussie,#uucp,#projects,#hamradio,#vim,#black,#pink,#~,#netnews,#bots,#ctrl-c,#bitbot,#radiofreqs,#brains,#envs,#rfcs,#wilde,#tildegames,#tildenet,#gemini,#club,#zine,#twtxt,#factorio,#team,#summit,#thelounge,#adventofcode,#aoc :10:20,secretsudoteam,tildeiscool" +tilde.autojoin = "#meta,#secret-sudoers,#admin,#opers,#music,#politics,#gopher,#tildeverse,#idlerpg,#tilderadio,#minecraft,#tildelinux,#cosmic,#institute,#.tilde,#tildetel,#thunix,#theasylum,#aussie,#uucp,#projects,#hamradio,#vim,#black,#pink,#~,#netnews,#bots,#ctrl-c,#radiofreqs,#brains,#envs,#rfcs,#wilde,#tildegames,#tildenet,#gemini,#club,#zine,#team,#summit,#adventofcode,#es,#geocities,#services,#security,#zaphod,#chillzone :10:20,secretsudoteam,tildeiscool" tilde.autorejoin tilde.autorejoin_delay tilde.connection_timeout @@ -230,7 +230,7 @@ hashbang.local_hostname hashbang.usermode hashbang.command = "/oper benharri x" hashbang.command_delay -hashbang.autojoin = "#!opers,#!support,#!politics,#!os,#!social,#!" +hashbang.autojoin = "#!opers,#!politics,#!os,#!social,#!" hashbang.autorejoin hashbang.autorejoin_delay hashbang.connection_timeout @@ -273,7 +273,7 @@ town.local_hostname town.usermode town.command town.command_delay -town.autojoin = "#tildetown,#bots,#dumpsterfire,#tildemush,#counting,#movienight,#counting-meta,#heavy,#quiet,#alc,#queer,#math" +town.autojoin = "#tildetown,#bots,#tildemush,#counting,#movienight,#counting-meta,#heavy,#queer" town.autorejoin town.autorejoin_delay town.connection_timeout @@ -488,7 +488,7 @@ freenode.local_hostname freenode.usermode freenode.command freenode.command_delay -freenode.autojoin = "#weechat,##oodnet,#lobsters,#lobsters-boil,#gitea,#mastodon,#pleroma,#pleroma-offtopic,#oragono,#weechat-android,#git,#tilde.team,#sr.ht,#cmpwn,#bitbot,#ircv3,#gophernicus,##jan6,##ircv3-offtopic,#ovh,#elixir-lang,#ascii.town,#sonarr,#lxcontainers,#thelounge,#indieweb,#indieweb-dev,#indieweb-meta,#indieweb-chat,#knownchat,#cjdns,##ircv3-chat,#mumble,#!,#tildeclub,#freenode,#stutter,#futel,#wireguard,#antispyware,#lobsters-advent,#alpine-linux,#postfix 6:10" +freenode.autojoin = "#weechat,##oodnet,#lobsters,#lobsters-boil,#gitea,#mastodon,#pleroma,#pleroma-offtopic,#oragono,#weechat-android,#git,#tilde.team,#sr.ht,#cmpwn,#bitbot,#ircv3,#gophernicus,##jan6,##ircv3-offtopic,#ovh,#ascii.town,#sonarr,#thelounge,#indieweb,#indieweb-dev,#indieweb-meta,#indieweb-chat,##ircv3-chat,#!,#tildeclub,#futel,#antispyware,#lobsters-advent,#alpine-linux 6:10" freenode.autorejoin freenode.autorejoin_delay freenode.connection_timeout @@ -746,7 +746,7 @@ hackint.local_hostname hackint.usermode hackint.command hackint.command_delay -hackint.autojoin = "#hackint,#36c3,#camp" +hackint.autojoin = "#hackint" hackint.autorejoin hackint.autorejoin_delay hackint.connection_timeout diff --git a/weechat/.weechat/perl/colorize_lines.pl b/weechat/.weechat/perl/colorize_lines.pl index 6b0decd..d828620 100644 --- a/weechat/.weechat/perl/colorize_lines.pl +++ b/weechat/.weechat/perl/colorize_lines.pl @@ -19,6 +19,7 @@ # along with this program. If not, see . # history: +# 3.8: new option custom_action_text (https://github.com/weechat/scripts/issues/313) (idea by 3v1n0) # 3.7: new option "alternate_color" (https://github.com/weechat/scripts/issues/333) (idea by snuffkins) # 3.6: new option "own_lines_color" (idea by Linkandzelda) # : add help about "localvar" to option @@ -85,7 +86,7 @@ use strict; my $PRGNAME = "colorize_lines"; -my $VERSION = "3.7"; +my $VERSION = "3.8"; my $AUTHOR = "Nils Görs "; my $LICENCE = "GPL3"; my $DESCR = "Colorize users' text in chat area with their nick color, including highlights"; @@ -102,6 +103,7 @@ my %config = ("buffers" => "all", # all, channel, query "highlight_words" => "off", # on, off "highlight_words_color" => "black,darkgray", "alternate_color" => "", + "custom_action_text" => "", ); my %help_desc = ("buffers" => "Buffer type affected by the script (all/channel/query, default: all)", @@ -116,6 +118,7 @@ my %help_desc = ("buffers" => "Buffer type affected by the scri "highlight_words" => "highlight word(s) in text, matching word(s) in weechat.look.highlight", "highlight_words_color" => "color for highlight word in text (format: fg,bg)", "alternate_color" => "alternate between two colors for messages (format: fg,bg:fg,bg)", + "custom_action_text" => "customise the text attributes of ACTION message (note: content is evaluated, see /help eval)", ); my @ignore_tags_array; @@ -262,6 +265,7 @@ sub colorize_cb # remove the first color reset - after * nick # make other resets reset to our color $right =~ s/\34//; + $color = weechat::string_eval_expression($config{custom_action_text}, {}, {}, {}) if ( $config{custom_action_text} ne ""); $right =~ s/\34/\34$color/g; $out = $left . "\t" . $right . "\34" } else { diff --git a/weechat/.weechat/plugins.conf b/weechat/.weechat/plugins.conf index b720f58..5e7ca3f 100644 --- a/weechat/.weechat/plugins.conf +++ b/weechat/.weechat/plugins.conf @@ -30,6 +30,7 @@ perl.check_license = "off" perl.colorize_lines.alternate_color = "" perl.colorize_lines.blacklist_buffers = "" perl.colorize_lines.buffers = "all" +perl.colorize_lines.custom_action_text = "" perl.colorize_lines.highlight = "on" perl.colorize_lines.highlight_words = "off" perl.colorize_lines.highlight_words_color = "" @@ -124,6 +125,7 @@ lua.matrix.user = "Your homeserver username (default: "")" perl.colorize_lines.alternate_color = "alternate between two colors for messages (format: fg,bg:fg,bg)" perl.colorize_lines.blacklist_buffers = "Comma-separated list of channels to be ignored (e.g. freenode.#weechat,*.#python)" perl.colorize_lines.buffers = "Buffer type affected by the script (all/channel/query, default: all)" +perl.colorize_lines.custom_action_text = "customise the text attributes of ACTION message (note: content is evaluated, see /help eval)" perl.colorize_lines.highlight = "Apply highlight color to the highlighted lines (off/on/nicks). The latter will limit highlighting to nicknames in option 'nicks'" perl.colorize_lines.highlight_words = "highlight word(s) in text, matching word(s) in weechat.look.highlight" perl.colorize_lines.highlight_words_color = "color for highlight word in text (fg:bg)" diff --git a/weechat/.weechat/python/autosort.py b/weechat/.weechat/python/autosort.py index 8f7c263..0d76d42 100644 --- a/weechat/.weechat/python/autosort.py +++ b/weechat/.weechat/python/autosort.py @@ -25,6 +25,11 @@ # # Changelog: +# 3,8: +# * Fix relative sorting on script name in default rules. +# * Document a useful property of stable sort algorithms. +# 3.7: +# * Make default rules work with bitlbee, matrix and slack. # 3.6: # * Add more documentation on provided info hooks. # 3.5: @@ -80,7 +85,7 @@ import weechat SCRIPT_NAME = 'autosort' SCRIPT_AUTHOR = 'Maarten de Vries ' -SCRIPT_VERSION = '3.6' +SCRIPT_VERSION = '3.8' SCRIPT_LICENSE = 'GPL3' SCRIPT_DESC = 'Flexible automatic (or manual) buffer sorting based on eval expressions.' @@ -173,22 +178,21 @@ class Config: default_rules = json.dumps([ '${core_first}', - '${irc_last}', - '${buffer.plugin.name}', + '${info:autosort_order,${info:autosort_escape,${script_or_plugin}},core,*,irc,bitlbee,matrix,slack}', + '${script_or_plugin}', '${irc_raw_first}', - '${if:${plugin}==irc?${server}}', - '${if:${plugin}==irc?${info:autosort_order,${type},server,*,channel,private}}', - '${if:${plugin}==irc?${hashless_name}}', + '${server}', + '${info:autosort_order,${type},server,*,channel,private}', + '${hashless_name}', '${buffer.full_name}', ]) default_helpers = json.dumps({ - 'core_first': '${if:${buffer.full_name}!=core.weechat}', - 'irc_first': '${if:${buffer.plugin.name}!=irc}', - 'irc_last': '${if:${buffer.plugin.name}==irc}', - 'irc_raw_first': '${if:${buffer.full_name}!=irc.irc_raw}', - 'irc_raw_last': '${if:${buffer.full_name}==irc.irc_raw}', - 'hashless_name': '${info:autosort_replace,#,,${info:autosort_escape,${buffer.name}}}', + 'core_first': '${if:${buffer.full_name}!=core.weechat}', + 'irc_raw_first': '${if:${buffer.full_name}!=irc.irc_raw}', + 'irc_raw_last': '${if:${buffer.full_name}==irc.irc_raw}', + 'hashless_name': '${info:autosort_replace,#,,${info:autosort_escape,${buffer.name}}}', + 'script_or_plugin': '${if:${script_name}?${script_name}:${plugin}}', }) default_signal_delay = 5 @@ -961,6 +965,9 @@ order can be customized by defining your own sort rules, but the default should be sane enough for most people. It can also group IRC channel/private buffers under their server buffer if you like. +Autosort uses a stable sorting algorithm, meaning that you can manually move buffers +to change their relative order, if they sort equal with your rule set. + {*white}# Sort rules{reset} Autosort evaluates a list of eval expressions (see {*default}/help eval{reset}) and sorts the buffers based on evaluated result. Earlier rules will be considered first. Only