From: Ben Beltran Date: Thu, 14 Mar 2019 22:10:40 +0000 (+0100) Subject: Update weechat config X-Git-Url: https://git.r.bdr.sh/rbdr/dotfiles/commitdiff_plain/483da16cc098deaa4bf75d2d70b833b852c12091?ds=inline Update weechat config --- diff --git a/.gitignore b/.gitignore index 85d5ac3..d85cf15 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .DS_Store vim/.backup weechat/logs +weechat/weechat.log tmuxp diff --git a/weechat/alias.conf b/weechat/alias.conf index 81df71a..1e56811 100644 --- a/weechat/alias.conf +++ b/weechat/alias.conf @@ -1,5 +1,12 @@ # -# alias.conf -- weechat v0.3.8 +# weechat -- alias.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart # [cmd] diff --git a/weechat/aspell.conf b/weechat/aspell.conf index e122f1c..27b16b8 100644 --- a/weechat/aspell.conf +++ b/weechat/aspell.conf @@ -1,17 +1,33 @@ # -# aspell.conf -- weechat v0.3.8 +# weechat -- aspell.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart # -[look] -color = lightred +[color] +misspelled = lightred +suggestion = default +suggestion_delimiter_dict = cyan +suggestion_delimiter_word = cyan [check] commands = "ame,amsg,away,command,cycle,kick,kickban,me,msg,notice,part,query,quit,topic" default_dict = "" during_search = off +enabled = off real_time = off +suggestions = -1 word_min_length = 2 [dict] +[look] +suggestion_delimiter_dict = " / " +suggestion_delimiter_word = "," + [option] diff --git a/weechat/buffers.conf b/weechat/buffers.conf index 8cb4586..5893919 100644 --- a/weechat/buffers.conf +++ b/weechat/buffers.conf @@ -1,5 +1,12 @@ # -# buffers.conf -- weechat v0.3.8 +# weechat -- buffers.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart # [color] diff --git a/weechat/buflist.conf b/weechat/buflist.conf new file mode 100644 index 0000000..d285f89 --- /dev/null +++ b/weechat/buflist.conf @@ -0,0 +1,39 @@ +# +# weechat -- buflist.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart +# + +[look] +add_newline = on +auto_scroll = 50 +display_conditions = "${buffer.hidden}==0" +enabled = on +mouse_jump_visited_buffer = off +mouse_move_buffer = on +mouse_wheel = on +nick_prefix = off +nick_prefix_empty = on +signals_refresh = "" +sort = "number,-active" + +[format] +buffer = "${format_number}${indent}${format_nick_prefix}${color_hotlist}${format_name}" +buffer_current = "${color:,blue}${format_buffer}" +hotlist = " ${color:green}(${hotlist}${color:green})" +hotlist_highlight = "${color:magenta}" +hotlist_low = "${color:white}" +hotlist_message = "${color:brown}" +hotlist_none = "${color:default}" +hotlist_private = "${color:green}" +hotlist_separator = "${color:default}," +indent = " " +lag = " ${color:green}[${color:brown}${lag}${color:green}]" +name = "${name}" +nick_prefix = "${color_nick_prefix}${nick_prefix}" +number = "${color:green}${number}${if:${number_displayed}?.: }" diff --git a/weechat/charset.conf b/weechat/charset.conf new file mode 100644 index 0000000..00d304c --- /dev/null +++ b/weechat/charset.conf @@ -0,0 +1,18 @@ +# +# weechat -- charset.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart +# + +[default] +decode = "iso-8859-1" +encode = "" + +[decode] + +[encode] diff --git a/weechat/exec.conf b/weechat/exec.conf new file mode 100644 index 0000000..db02a5b --- /dev/null +++ b/weechat/exec.conf @@ -0,0 +1,19 @@ +# +# weechat -- exec.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart +# + +[command] +default_options = "" +purge_delay = 0 +shell = "sh" + +[color] +flag_finished = lightred +flag_running = lightgreen diff --git a/weechat/fifo.conf b/weechat/fifo.conf new file mode 100644 index 0000000..904985d --- /dev/null +++ b/weechat/fifo.conf @@ -0,0 +1,14 @@ +# +# weechat -- fifo.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart +# + +[file] +enabled = on +path = "%h/weechat_fifo" diff --git a/weechat/fset.conf b/weechat/fset.conf new file mode 100644 index 0000000..668266c --- /dev/null +++ b/weechat/fset.conf @@ -0,0 +1,95 @@ +# +# weechat -- fset.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart +# + +[look] +auto_unmark = off +condition_catch_set = "${count} >= 1" +export_help_default = on +format_number = 1 +marked_string = "*" +scroll_horizontal = 10 +show_plugins_desc = off +sort = "~name" +unmarked_string = " " +use_color_value = off +use_keys = on +use_mute = off + +[format] +export_help = "# ${description2}" +export_option = "/set ${name} ${quoted_value}" +export_option_null = "/unset ${name}" +option1 = "" +option2 = "${marked} ${name} ${type} ${value2}${newline} ${empty_name} ${_default_value}${color:darkgray} -- ${min}..${max}${newline} ${empty_name} ${description}" + +[color] +default_value = default +default_value_selected = white +description = default +description_selected = white +file = default +file_changed = brown +file_changed_selected = yellow +file_selected = white +help_default_value = white +help_description = default +help_name = white +help_quotes = darkgray +help_values = default +index = cyan +index_selected = lightcyan +line_marked_bg1 = default +line_marked_bg2 = default +line_selected_bg1 = blue +line_selected_bg2 = red +marked = brown +marked_selected = yellow +max = default +max_selected = white +min = default +min_selected = white +name = default +name_changed = brown +name_changed_selected = yellow +name_selected = white +option = default +option_changed = brown +option_changed_selected = yellow +option_selected = white +parent_name = default +parent_name_selected = white +parent_value = cyan +parent_value_selected = lightcyan +quotes = darkgray +quotes_changed = default +quotes_changed_selected = white +quotes_selected = default +section = default +section_changed = brown +section_changed_selected = yellow +section_selected = white +string_values = default +string_values_selected = white +title_count_options = cyan +title_current_option = lightcyan +title_filter = yellow +title_marked_options = lightgreen +title_sort = white +type = green +type_selected = lightgreen +unmarked = default +unmarked_selected = white +value = cyan +value_changed = brown +value_changed_selected = yellow +value_selected = lightcyan +value_undef = magenta +value_undef_selected = lightmagenta diff --git a/weechat/irc.conf b/weechat/irc.conf index de065b2..a327601 100644 --- a/weechat/irc.conf +++ b/weechat/irc.conf @@ -1,14 +1,24 @@ # -# irc.conf -- weechat v0.3.8 +# weechat -- irc.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart # [look] +buffer_open_before_autojoin = on +buffer_open_before_join = off buffer_switch_autojoin = on buffer_switch_join = on color_nicks_in_names = off color_nicks_in_nicklist = off color_nicks_in_server_messages = on color_pv_nick_like_channel = on +ctcp_time_format = "%a, %d %b %Y %T %z" display_away = local display_ctcp_blocked = on display_ctcp_reply = on @@ -16,70 +26,81 @@ display_ctcp_unknown = on display_host_join = on display_host_join_local = on display_host_quit = on +display_join_message = "329,332,333,366" display_old_topic = on display_pv_away_once = on display_pv_back = on -hide_nickserv_pwd = on highlight_channel = "$nick" highlight_pv = "$nick" highlight_server = "$nick" -highlight_tags = "irc_privmsg,irc_notice" -item_away_message = on -item_channel_modes = on -item_channel_modes_hide_key = off +highlight_tags_restrict = "irc_privmsg,irc_notice" +item_channel_modes_hide_args = "k" item_display_server = buffer_plugin item_nick_modes = on item_nick_prefix = on +join_auto_add_chantype = off msgbuffer_fallback = current new_channel_position = none new_pv_position = none -nick_color_force = "" -nick_color_stop_chars = "_|[" nick_completion_smart = speakers -nick_prefix = "" -nick_suffix = "" +nick_mode = prefix +nick_mode_empty = off +nicks_hide_password = "nickserv" notice_as_pv = auto +notice_welcome_redirect = on +notice_welcome_tags = "" notify_tags_ison = "notify_message" notify_tags_whois = "notify_message" part_closes_buffer = off +pv_buffer = independent +pv_tags = "notify_private" raw_messages = 256 server_buffer = merge_with_core smart_filter = on +smart_filter_chghost = on smart_filter_delay = 5 smart_filter_join = on +smart_filter_join_unmask = 30 +smart_filter_mode = "+" smart_filter_nick = on smart_filter_quit = on +temporary_servers = off topic_strip_colors = off [color] input_nick = lightcyan -item_away = yellow item_channel_modes = default item_lag_counting = default item_lag_finished = yellow +item_nick_modes = default +message_chghost = brown message_join = green message_quit = red mirc_remap = "1,-1:darkgray" -nick_prefix = green nick_prefixes = "q:lightred;a:lightcyan;o:lightgreen;h:lightmagenta;v:yellow;*:lightblue" -nick_suffix = green notice = green reason_quit = default +topic_current = default topic_new = white topic_old = darkgray [network] autoreconnect_delay_growing = 2 autoreconnect_delay_max = 1800 +ban_mask_default = "*!$ident@$host" +channel_encode = off colors_receive = on colors_send = on lag_check = 60 -lag_disconnect = 0 +lag_max = 1800 lag_min_show = 500 +lag_reconnect = 300 lag_refresh_interval = 1 notify_check_ison = 1 notify_check_whois = 5 +sasl_fail_unavailable = on send_unknown_commands = off +whois_double_nick = off [msgbuffer] @@ -103,24 +124,31 @@ capabilities = "" command = "" command_delay = 0 connection_timeout = 60 -default_msg_part = "WeeChat %v" -default_msg_quit = "WeeChat %v" ipv6 = off local_hostname = "" +msg_kick = "" +msg_part = "WeeChat ${info:version}" +msg_quit = "WeeChat ${info:version}" nicks = "rbdr,rbdr182,rbdr666,rbdr9000,rdbr" +nicks_alternate = on notify = "" password = "" proxy = "" realname = "" +sasl_fail = continue +sasl_key = "" sasl_mechanism = plain sasl_password = "" sasl_timeout = 15 sasl_username = "" +split_msg_max_length = 512 ssl = off ssl_cert = "" ssl_dhkey_size = 2048 +ssl_fingerprint = "" ssl_priorities = "NORMAL" ssl_verify = on +usermode = "" username = "benbeltran" [server] @@ -131,20 +159,25 @@ freenode.ssl freenode.ssl_cert freenode.ssl_priorities freenode.ssl_dhkey_size +freenode.ssl_fingerprint freenode.ssl_verify freenode.password freenode.capabilities freenode.sasl_mechanism freenode.sasl_username freenode.sasl_password +freenode.sasl_key freenode.sasl_timeout +freenode.sasl_fail freenode.autoconnect freenode.autoreconnect freenode.autoreconnect_delay freenode.nicks +freenode.nicks_alternate freenode.username freenode.realname freenode.local_hostname +freenode.usermode freenode.command = "" freenode.command_delay freenode.autojoin = "" @@ -155,9 +188,11 @@ freenode.anti_flood_prio_high freenode.anti_flood_prio_low freenode.away_check freenode.away_check_max_nicks -freenode.default_msg_part -freenode.default_msg_quit +freenode.msg_kick +freenode.msg_part +freenode.msg_quit freenode.notify +freenode.split_msg_max_length QuakeNet.addresses = "gameservers.nj.us.quakenet.org/6667" QuakeNet.proxy QuakeNet.ipv6 @@ -165,20 +200,25 @@ QuakeNet.ssl QuakeNet.ssl_cert QuakeNet.ssl_priorities QuakeNet.ssl_dhkey_size +QuakeNet.ssl_fingerprint QuakeNet.ssl_verify QuakeNet.password QuakeNet.capabilities QuakeNet.sasl_mechanism QuakeNet.sasl_username QuakeNet.sasl_password +QuakeNet.sasl_key QuakeNet.sasl_timeout +QuakeNet.sasl_fail QuakeNet.autoconnect QuakeNet.autoreconnect QuakeNet.autoreconnect_delay QuakeNet.nicks +QuakeNet.nicks_alternate QuakeNet.username QuakeNet.realname QuakeNet.local_hostname +QuakeNet.usermode QuakeNet.command QuakeNet.command_delay QuakeNet.autojoin = "" @@ -189,6 +229,8 @@ QuakeNet.anti_flood_prio_high QuakeNet.anti_flood_prio_low QuakeNet.away_check QuakeNet.away_check_max_nicks -QuakeNet.default_msg_part -QuakeNet.default_msg_quit +QuakeNet.msg_kick +QuakeNet.msg_part +QuakeNet.msg_quit QuakeNet.notify +QuakeNet.split_msg_max_length diff --git a/weechat/iset.conf b/weechat/iset.conf index 33fb1f1..ab8b7a2 100644 --- a/weechat/iset.conf +++ b/weechat/iset.conf @@ -1,5 +1,12 @@ # -# iset.conf -- weechat v0.3.8 +# weechat -- iset.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart # [color] diff --git a/weechat/logger.conf b/weechat/logger.conf index dfc8c91..36d9243 100644 --- a/weechat/logger.conf +++ b/weechat/logger.conf @@ -1,9 +1,17 @@ # -# logger.conf -- weechat v0.3.8 +# weechat -- logger.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart # [look] backlog = 20 +backlog_conditions = "" [color] backlog_end = darkgray @@ -12,9 +20,12 @@ backlog_line = darkgray [file] auto_log = on flush_delay = 120 +fsync = off info_lines = off mask = "$plugin.$name.weechatlog" name_lower_case = on +nick_prefix = "" +nick_suffix = "" path = "%h/logs/" replacement_char = "_" time_format = "%Y-%m-%d %H:%M:%S" diff --git a/weechat/lua.conf b/weechat/lua.conf new file mode 100644 index 0000000..fa4966b --- /dev/null +++ b/weechat/lua.conf @@ -0,0 +1,14 @@ +# +# weechat -- lua.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart +# + +[look] +check_license = off +eval_keep_context = on diff --git a/weechat/perl.conf b/weechat/perl.conf new file mode 100644 index 0000000..31924b9 --- /dev/null +++ b/weechat/perl.conf @@ -0,0 +1,14 @@ +# +# weechat -- perl.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart +# + +[look] +check_license = off +eval_keep_context = on diff --git a/weechat/perl/autoload/buffers.pl b/weechat/perl/autoload/buffers.pl deleted file mode 120000 index 445dc3c..0000000 --- a/weechat/perl/autoload/buffers.pl +++ /dev/null @@ -1 +0,0 @@ -../buffers.pl \ No newline at end of file diff --git a/weechat/perl/buffers.pl b/weechat/perl/buffers.pl deleted file mode 100644 index 36cab01..0000000 --- a/weechat/perl/buffers.pl +++ /dev/null @@ -1,998 +0,0 @@ -# -# Copyright (C) 2008-2012 Sebastien Helleu -# Copyright (C) 2011-2012 Nils G -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -# -# Display sidebar with list of buffers. -# -# History: -# -# 2012-06-02, nils_2 : -# v3.5: add values "server|channel|private|all|keepserver|none" to option "hide_merged_buffers" (suggested by dominikh). -# 2012-05-25, nils_2 : -# v3.4: add new option "show_lag". -# 2012-04-07, Sebastien Helleu : -# v3.3: fix truncation of wide chars in buffer name (option name_size_max) (bug #36034) -# 2012-03-15, nils_2 : -# v3.2: add new option "detach"(weechat >= 0.3.8) -# add new option "immune_detach_buffers" (requested by Mkaysi) -# add new function buffers_whitelist add|del|reset (suggested by FiXato) -# add new function buffers_detach add|del|reset -# 2012-03-09, Sebastien Helleu : -# v3.1: fix reload of config file -# 2012-01-29, nils_2 : -# v3.0: fix: buffers did not update directly during window_switch (reported by FiXato) -# 2012-01-29, nils_2 : -# v2.9: add options "name_size_max" and "name_crop_suffix" -# 2012-01-08, nils_2 : -# v2.8: fix indenting for option "show_number off" -# fix unset of buffer activity in hotlist when buffer was moved with mouse -# add buffer with free content and core buffer sorted first (suggested by nyuszika7h) -# add options queries_default_fg/bg and queries_message_fg/bg (suggested by FiXato) -# add clicking with left button on current buffer will do a jump_previously_visited_buffer (suggested by FiXato) -# add clicking with right button on current buffer will do a jump_next_visited_buffer -# add additional informations in help texts -# add default_fg and default_bg for whitelist channels -# internal changes (script is now 3Kb smaller) -# 2012-01-04, Sebastien Helleu : -# v2.7: fix regex lookup in whitelist buffers list -# 2011-12-04, nils_2 : -# v2.6: add own config file (buffers.conf) -# add new behavior for indenting (under_name) -# add new option to set different color for server buffers and buffers with free content -# 2011-10-30, nils_2 : -# v2.5: add new options "show_number_char" and "color_number_char", -# add help-description for options -# 2011-08-24, Sebastien Helleu : -# v2.4: add mouse support -# 2011-06-06, nils_2 : -# v2.3: added: missed option "color_whitelist_default" -# 2011-03-23, Sebastien Helleu : -# v2.2: fix color of nick prefix with WeeChat >= 0.3.5 -# 2011-02-13, nils_2 : -# v2.1: add options "color_whitelist_*" -# 2010-10-05, Sebastien Helleu : -# v2.0: add options "sort" and "show_number" -# 2010-04-12, Sebastien Helleu : -# v1.9: replace call to log() by length() to align buffer numbers -# 2010-04-02, Sebastien Helleu : -# v1.8: fix bug with background color and option indenting_number -# 2010-04-02, Helios : -# v1.7: add indenting_number option -# 2010-02-25, m4v : -# v1.6: add option to hide empty prefixes -# 2010-02-12, Sebastien Helleu : -# v1.5: add optional nick prefix for buffers like IRC channels -# 2009-09-30, Sebastien Helleu : -# v1.4: remove spaces for indenting when bar position is top/bottom -# 2009-06-14, Sebastien Helleu : -# v1.3: add option "hide_merged_buffers" -# 2009-06-14, Sebastien Helleu : -# v1.2: improve display with merged buffers -# 2009-05-02, Sebastien Helleu : -# v1.1: sync with last API changes -# 2009-02-21, Sebastien Helleu : -# v1.0: remove timer used to update bar item first time (not needed any more) -# 2009-02-17, Sebastien Helleu : -# v0.9: fix bug with indenting of private buffers -# 2009-01-04, Sebastien Helleu : -# v0.8: update syntax for command /set (comments) -# 2008-10-20, Jiri Golembiovsky : -# v0.7: add indenting option -# 2008-10-01, Sebastien Helleu : -# v0.6: add default color for buffers, and color for current active buffer -# 2008-09-18, Sebastien Helleu : -# v0.5: fix color for "low" level entry in hotlist -# 2008-09-18, Sebastien Helleu : -# v0.4: rename option "show_category" to "short_names", -# remove option "color_slash" -# 2008-09-15, Sebastien Helleu : -# v0.3: fix bug with priority in hotlist (var not defined) -# 2008-09-02, Sebastien Helleu : -# v0.2: add color for buffers with activity and config options for -# colors, add config option to display/hide categories -# 2008-03-15, Sebastien Helleu : -# v0.1: script creation -# -# Help about settings: -# display all settings for script (or use iset.pl script to change settings): -# /set buffers* -# show help text for option buffers.look.whitelist_buffers: -# /help buffers.look.whitelist_buffers -# -# Mouse-support (standard key bindings): -# left mouse-button: -# - click on a buffer to switch to selected buffer -# - click on current buffer will do action jump_previously_visited_buffer -# - drag a buffer and drop it on another position will move the buffer to position -# right mouse-button: -# - click on current buffer will do action jump_next_visited_buffer -# - moving buffer to the left/right will close buffer. -# - -use strict; -use Encode qw( decode encode ); -# -------------------------------[ internal ]------------------------------------- -my $version = "3.5"; - -my $BUFFERS_CONFIG_FILE_NAME = "buffers"; -my $buffers_config_file; -my $cmd_buffers_whitelist= "buffers_whitelist"; -my $cmd_buffers_detach = "buffers_detach"; - -my %mouse_keys = ("\@item(buffers):button1*" => "hsignal:buffers_mouse", # catch all left mouse button gestures - "\@item(buffers):button2" => "hsignal:buffers_mouse"); # catch right mouse button -my %options; -my %hotlist_level = (0 => "low", 1 => "message", 2 => "private", 3 => "highlight"); -my @whitelist_buffers = (); -my @immune_detach_buffers= (); -my @buffers_focus = (); -my %buffers_timer = (); -my %Hooks = (); - -# --------------------------------[ init ]-------------------------------------- -weechat::register("buffers", "Sebastien Helleu ", $version, - "GPL3", "Sidebar with list of buffers", "", ""); -my $weechat_version = weechat::info_get("version_number", "") || 0; - -buffers_config_init(); -buffers_config_read(); - -weechat::bar_item_new("buffers", "build_buffers", ""); -weechat::bar_new("buffers", "0", "0", "root", "", "left", "horizontal", - "vertical", "0", "0", "default", "default", "default", "1", - "buffers"); -weechat::hook_signal("buffer_*", "buffers_signal_buffer", ""); -weechat::hook_signal("window_switch", "buffers_signal_buffer", ""); -weechat::hook_signal("hotlist_*", "buffers_signal_hotlist", ""); -weechat::bar_item_update("buffers"); -if ($weechat_version >= 0x00030600) -{ - weechat::hook_focus("buffers", "buffers_focus_buffers", ""); - weechat::hook_hsignal("buffers_mouse", "buffers_hsignal_mouse", ""); - weechat::key_bind("mouse", \%mouse_keys); -} - -weechat::hook_command( $cmd_buffers_whitelist, - "add/del current buffer to/from buffers whitelist", - "[add] || [del] || [reset]", - - " add: add current buffer in configuration file\n". - " del: delete current buffer from configuration file\n". - "reset: reset all buffers from configuration file (no confirmation!)\n\n". - "Examples:\n". - "/$cmd_buffers_whitelist add\n", - "add %-||". - "del %-||". - "reset %-", - "buffers_cmd_whitelist", ""); - -weechat::hook_command( $cmd_buffers_detach, - "add/del current buffer to/from buffers detach", - "[add] || [del] || [reset]", - - " add: add current buffer in configuration file\n". - " del: delete current buffer from configuration file\n". - "reset: reset all buffers from configuration file (no confirmation!)\n\n". - "Examples:\n". - "/$cmd_buffers_detach add\n", - "add %-||". - "del %-||". - "reset %-", - "buffers_cmd_detach", ""); - -if ($weechat_version >= 0x00030800) -{ - weechat::hook_config("buffers.look.detach", "hook_timer_detach", ""); -} - - weechat::hook_config("buffers.look.show_lag", "hook_timer_lag", ""); - -# -------------------------------- [ command ] -------------------------------- -sub buffers_cmd_whitelist -{ -my ( $data, $buffer, $args ) = @_; - $args = lc($args); - my $buffers_whitelist = weechat::config_string( weechat::config_get("buffers.look.whitelist_buffers") ); - return weechat::WEECHAT_RC_OK if ( $buffers_whitelist eq "" and $args eq "del" or $buffers_whitelist eq "" and $args eq "reset" ); - my @buffers_list = split( /,/, $buffers_whitelist ); - # get buffers name - my $infolist = weechat::infolist_get("buffer", weechat::current_buffer(), ""); - weechat::infolist_next($infolist); - my $buffers_name = weechat::infolist_string($infolist, "name"); - weechat::infolist_free($infolist); - return weechat::WEECHAT_RC_OK if ( $buffers_name eq "" ); # should never happen - - if ( $args eq "add" ) - { - return weechat::WEECHAT_RC_OK if ( grep /^$buffers_name$/, @buffers_list ); # check if buffer already in list - push @buffers_list,( $buffers_name ); - my $buffers_list = &create_whitelist(\@buffers_list); - weechat::config_option_set( weechat::config_get("buffers.look.whitelist_buffers"), $buffers_list,1 ); - weechat::print(weechat::current_buffer(), "buffer \"$buffers_name\" added to buffers whitelist"); - } - elsif ( $args eq "del" ) - { - return weechat::WEECHAT_RC_OK unless ( grep /^$buffers_name$/, @buffers_list ); # check if buffer is in list - @buffers_list = grep {$_ ne $buffers_name} @buffers_list; # delete entry - my $buffers_list = &create_whitelist(\@buffers_list); - weechat::config_option_set( weechat::config_get("buffers.look.whitelist_buffers"), $buffers_list,1 ); - weechat::print(weechat::current_buffer(), "buffer \"$buffers_name\" deleted from buffers whitelist"); - } - elsif ( $args eq "reset" ) - { - return weechat::WEECHAT_RC_OK if ( $buffers_whitelist eq "" ); - weechat::config_option_set( weechat::config_get("buffers.look.whitelist_buffers"), "",1 ); - weechat::print(weechat::current_buffer(), "buffers whitelist is empty, now..."); - } - return weechat::WEECHAT_RC_OK; -} -sub buffers_cmd_detach -{ -my ( $data, $buffer, $args ) = @_; - $args = lc($args); - my $immune_detach_buffers = weechat::config_string( weechat::config_get("buffers.look.immune_detach_buffers") ); - return weechat::WEECHAT_RC_OK if ( $immune_detach_buffers eq "" and $args eq "del" or $immune_detach_buffers eq "" and $args eq "reset" ); - my @buffers_list = split( /,/, $immune_detach_buffers ); - # get buffers name - my $infolist = weechat::infolist_get("buffer", weechat::current_buffer(), ""); - weechat::infolist_next($infolist); - my $buffers_name = weechat::infolist_string($infolist, "name"); - weechat::infolist_free($infolist); - return weechat::WEECHAT_RC_OK if ( $buffers_name eq "" ); # should never happen - - if ( $args eq "add" ) - { - return weechat::WEECHAT_RC_OK if ( grep /^$buffers_name$/, @buffers_list ); # check if buffer already in list - push @buffers_list,( $buffers_name ); - my $buffers_list = &create_whitelist(\@buffers_list); - weechat::config_option_set( weechat::config_get("buffers.look.immune_detach_buffers"), $buffers_list,1 ); - weechat::print(weechat::current_buffer(), "buffer \"$buffers_name\" added to immune detach buffers"); - } - elsif ( $args eq "del" ) - { - return weechat::WEECHAT_RC_OK unless ( grep /^$buffers_name$/, @buffers_list ); # check if buffer is in list - @buffers_list = grep {$_ ne $buffers_name} @buffers_list; # delete entry - my $buffers_list = &create_whitelist(\@buffers_list); - weechat::config_option_set( weechat::config_get("buffers.look.immune_detach_buffers"), $buffers_list,1 ); - weechat::print(weechat::current_buffer(), "buffer \"$buffers_name\" deleted from immune detach buffers"); - } - elsif ( $args eq "reset" ) - { - return weechat::WEECHAT_RC_OK if ( $immune_detach_buffers eq "" ); - weechat::config_option_set( weechat::config_get("buffers.look.immune_detach_buffers"), "",1 ); - weechat::print(weechat::current_buffer(), "immune detach buffers is empty, now..."); - } - return weechat::WEECHAT_RC_OK; -} -sub create_whitelist -{ - my @buffers_list = @{$_[0]}; - my $buffers_list = ""; - foreach (@buffers_list) - { - $buffers_list .= $_ .","; - } - chop $buffers_list; # remove last "," - return $buffers_list; -} - -# -------------------------------- [ config ] -------------------------------- -sub hook_timer_detach -{ - my $detach = $_[2]; - if ( $detach eq 0 ) - { - weechat::unhook($Hooks{timer_detach}) if $Hooks{timer_detach}; - $Hooks{timer_detach} = ""; - } - else - { - weechat::unhook($Hooks{timer_detach}) if $Hooks{timer_detach}; - $Hooks{timer_detach} = weechat::hook_timer( weechat::config_integer( $options{"detach"}) * 1000, 60, 0, "buffers_signal_buffer", ""); - } - weechat::bar_item_update("buffers"); - return weechat::WEECHAT_RC_OK; -} - -sub hook_timer_lag -{ - my $lag = $_[2]; - if ( $lag eq 0 ) - { - weechat::unhook($Hooks{timer_lag}) if $Hooks{timer_lag}; - $Hooks{timer_lag} = ""; - } - else - { - weechat::unhook($Hooks{timer_lag}) if $Hooks{timer_lag}; - $Hooks{timer_lag} = weechat::hook_timer( weechat::config_integer(weechat::config_get("irc.network.lag_refresh_interval")) * 1000, 0, 0, "buffers_signal_hotlist", ""); - } - weechat::bar_item_update("buffers"); - return weechat::WEECHAT_RC_OK; -} - -sub buffers_config_read -{ - return weechat::config_read($buffers_config_file) if ($buffers_config_file ne ""); -} -sub buffers_config_write -{ - return weechat::config_write($buffers_config_file) if ($buffers_config_file ne ""); -} -sub buffers_config_reload_cb -{ - my ($data,$config_file) = ($_[0], $_[1]); - return weechat::config_reload($config_file) -} -sub buffers_config_init -{ - $buffers_config_file = weechat::config_new($BUFFERS_CONFIG_FILE_NAME,"buffers_config_reload_cb",""); - return if ($buffers_config_file eq ""); - -my %default_options_color = -("color_current_fg" => ["current_fg", "color", "foreground color for current buffer", "", 0, 0,"lightcyan", "lightcyan", 0, "", "","buffers_signal_config", "", "", ""], - "color_current_bg" => ["current_bg", "color", "background color for current buffer", "", 0, 0,"red", "red", 0, "", "","buffers_signal_config", "", "", ""], - "color_default_fg" => ["default_fg", "color", "default foreground color for buffer name", "", 0, 0,"default", "default", 0, "", "","buffers_signal_config", "", "", ""], - "color_default_bg" => ["default_bg", "color", "default background color for buffer name", "", 0, 0,"default", "default", 0, "", "","buffers_signal_config", "", "", ""], - "color_hotlist_highlight_fg" => ["hotlist_highlight_fg", "color", "change foreground color of buffer name if a highlight messaged received","", 0, 0,"magenta", "magenta", 0, "", "","buffers_signal_config", "", "", ""], - "color_hotlist_highlight_bg" => ["hotlist_highlight_bg", "color", "change background color of buffer name if a highlight messaged received", "", 0, 0,"default", "default", 0, "", "","buffers_signal_config", "", "", ""], - "color_hotlist_low_fg" => ["hotlist_low_fg", "color", "change foreground color of buffer name if a low message received", "", 0, 0,"white", "white", 0, "", "","buffers_signal_config", "", "", ""], - "color_hotlist_low_bg" => ["hotlist_low_bg", "color", "change background color of buffer name if a low message received", "", 0, 0, - "default", "default", 0, "", "","buffers_signal_config", "", "", ""], - "color_hotlist_message_fg" => ["hotlist_message_fg", "color", "change foreground color of buffer name if a normal message received", "", 0, 0,"yellow", "yellow", 0, "", "","buffers_signal_config", "", "", ""], - "color_hotlist_message_bg" => ["hotlist_message_bg", "color", "change background color of buffer name if a normal message received", "", 0, 0,"default", "default", 0, "", "","buffers_signal_config", "", "", ""], - "color_hotlist_private_fg" => ["hotlist_private_fg", "color", "change foreground color of buffer name if a private message received", "", 0, 0,"lightgreen", "lightgreen", 0, "", "","buffers_signal_config", "", "", ""], - "color_hotlist_private_bg" => ["hotlist_private_bg", "color", "change background color of buffer name if a private message received", "", 0, 0,"default", "default", 0, "", "","buffers_signal_config", "", "", ""], - "color_number" => ["number", "color", "color for buffer number", "", 0, 0,"lightgreen", "lightgreen", 0, "", "","buffers_signal_config", "", "", ""], - "color_number_char" => ["number_char", "color", "color for buffer number char", "", 0, 0,"lightgreen", "lightgreen", 0, "", "","buffers_signal_config", "", "", ""], - "color_whitelist_default_fg" => ["whitelist_default_fg", "color", "default foreground color for whitelist buffer name", "", 0, 0,"", "", 0, "", "","buffers_signal_config", "", "", ""], - "color_whitelist_default_bg" => ["whitelist_default_bg", "color", "default background color for whitelist buffer name", "", 0, 0,"", "", 0, "", "","buffers_signal_config", "", "", ""], - "color_whitelist_low_fg" => ["whitelist_low_fg", "color", "low color of whitelist buffer name", "", 0, 0,"", "", 0, "", "","buffers_signal_config", "", "", ""], - "color_whitelist_low_bg" => ["whitelist_low_bg", "color", "low color of whitelist buffer name", "", 0, 0,"", "", 0, "", "","buffers_signal_config", "", "", ""], - "color_whitelist_message_fg" => ["whitelist_message_fg", "color", "message color of whitelist buffer name", "", 0, 0,"", "", 0, "", "","buffers_signal_config", "", "", ""], - "color_whitelist_message_bg" => ["whitelist_message_bg", "color", "message color of whitelist buffer name", "", 0, 0,"", "", 0, "", "","buffers_signal_config", "", "", ""], - "color_whitelist_private_fg" => ["whitelist_private_fg", "color", "private color of whitelist buffer name", "", 0, 0,"", "", 0, "", "","buffers_signal_config", "", "", ""], - "color_whitelist_private_bg" => ["whitelist_private_bg", "color", "private color of whitelist buffer name", "", 0, 0,"", "", 0, "", "","buffers_signal_config", "", "", ""], - "color_whitelist_highlight_fg" => ["whitelist_highlight_fg", "color", "highlight color of whitelist buffer name", "", 0, 0,"", "", 0, "", "","buffers_signal_config", "", "", ""], - "color_whitelist_highlight_bg" => ["whitelist_highlight_bg", "color", "highlight color of whitelist buffer name", "", 0, 0,"", "", 0, "", "","buffers_signal_config", "", "", ""], - "color_none_channel_fg" => ["none_channel_fg", "color", "foreground color for none channel buffer (e.g.: core/server/plugin buffer)", "", 0, 0,"default", "default", 0, "", "","buffers_signal_config", "", "", ""], - "color_none_channel_bg" => ["none_channel_bg", "color", "background color for none channel buffer (e.g.: core/server/plugin buffer)", "", 0, 0,"default", "default", 0, "", "","buffers_signal_config", "", "", ""], - "queries_default_fg" => ["queries_default_fg", "color", "foreground color for query buffer without message", "", 0, 0,"default", "default", 0, "", "","buffers_signal_config", "", "", ""], - "queries_default_bg" => ["queries_default_bg", "color", "background color for query buffer without message", "", 0, 0,"default", "default", 0, "", "","buffers_signal_config", "", "", ""], - "queries_message_fg" => ["queries_message_fg", "color", "foreground color for query buffer with unread message", "", 0, 0,"default", "default", 0, "", "","buffers_signal_config", "", "", ""], - "queries_message_bg" => ["queries_message_bg", "color", "background color for query buffer with unread message", "", 0, 0,"default", "default", 0, "", "","buffers_signal_config", "", "", ""], - "queries_highlight_fg" => ["queries_highlight_fg", "color", "foreground color for query buffer with unread highlight", "", 0, 0,"default", "default", 0, "", "","buffers_signal_config", "", "", ""], - "queries_highlight_bg" => ["queries_highlight_bg", "color", "background color for query buffer with unread highlight", "", 0, 0,"default", "default", 0, "", "","buffers_signal_config", "", "", ""], -); - -my %default_options_look = -( - "show_lag" => ["show_lag","boolean","show lag behind servername. This option is using \"irc.color.item_lag_finished\", \"irc.network.lag_min_show\" and \"irc.network.lag_refresh_interval\"","",0,0,"off","off",0,"","","buffers_signal_config","","",""], - "look_whitelist_buffers" => ["whitelist_buffers", "string", "comma separated list of buffers for using a differnt color scheme (for example: freenode.#weechat,freenode.#weechat-fr)", "", 0, 0,"", "", 0, "", "", "buffers_signal_config_whitelist", "", "", ""], - "hide_merged_buffers" => ["hide_merged_buffers", "integer", "hide merged buffers. The value determines which merged buffers should be hidden, keepserver meaning 'all except server buffers'. Other values correspondent to the buffer type.", "server|channel|private|keepserver|all|none", 0, 0,"none", "none", 0, "", "", "buffers_signal_config", "", "", ""], - "indenting" => ["indenting", "integer", "use indenting for channel and query buffers. This option only takes effect if bar is left/right positioned", "off|on|under_name", 0, 0,"off", "off", 0, "", "", "buffers_signal_config", "", "", ""], - "indenting_number" => ["indenting_number", "boolean", "use indenting for numbers. This option only takes effect if bar is left/right positioned", "", 0, 0,"on", "on", 0, "", "", "buffers_signal_config", "", "", ""], - "short_names" => ["short_names", "boolean", "display short names (remove text before first \".\" in buffer name)", "", 0, 0,"on", "on", 0, "", "", "buffers_signal_config", "", "", ""], - "show_number" => ["show_number", "boolean", "display channel number in front of buffername", "", 0, 0,"on", "on", 0, "", "", "buffers_signal_config", "", "", ""], - "show_number_char" => ["number_char", "string", "display a char after channel number", "", 0, 0,".", ".", 0, "", "", "buffers_signal_config", "", "", ""], - "show_prefix" => ["prefix", "boolean", "show your prefix for channel", "", 0, 0,"off", "off", 0, "", "", "buffers_signal_config", "", "", ""], - "show_prefix_empty" => ["prefix_empty", "boolean", "use a placeholder for channels without prefix", "", 0, 0,"on", "on", 0, "", "", "buffers_signal_config", "", "", ""], - "sort" => ["sort", "integer", "sort buffer-list by \"number\" or \"name\"", "number|name", 0, 0,"number", "number", 0, "", "", "buffers_signal_config", "", "", ""], - "core_to_front" => ["core_to_front", "boolean", "core buffer and buffers with free content will be listed first. Take only effect if buffer sort is by name", "", 0, 0,"off", "off", 0, "", "", "buffers_signal_config", "", "", ""], - "jump_prev_next_visited_buffer" => ["jump_prev_next_visited_buffer", "boolean", "jump to previously or next visited buffer if you click with left/right mouse button on currently visiting buffer", "", 0, 0,"off", "off", 0, "", "", "buffers_signal_config", "", "", ""], - "name_size_max" => ["name_size_max","integer","maximum size of buffer name. 0 means no limitation","",0,256,0,0,0, "", "", "buffers_signal_config", "", "", ""], - "name_crop_suffix" => ["name_crop_suffix","string","contains an optional char(s) that is appended when buffer name is shortened","",0,0,"+","+",0,"","","buffers_signal_config", "", "", ""], - "detach" => ["detach", "integer","detach channel from buffers list after a specific period of time (in seconds) without action (weechat ≥ 0.3.8 required)", "", 0, 31536000,0, "number", 0, "", "", "buffers_signal_config", "", "", ""], - "immune_detach_buffers" => ["immune_detach_buffers", "string", "comma separated list of buffers which will not get detached automatically. Good with e.g. BitlBee", "", 0, 0,"", "", 0, "", "", "buffers_signal_config_immune_detach_buffers", "", "", ""], -); - # section "color" - my $section_color = weechat::config_new_section($buffers_config_file,"color", 0, 0, "", "", "", "", "", "", "", "", "", ""); - if ($section_color eq "") - { - weechat::config_free($buffers_config_file); - return; - } - foreach my $option (keys %default_options_color) - { - $options{$option} = weechat::config_new_option($buffers_config_file, $section_color, - $default_options_color{$option}[0],$default_options_color{$option}[1],$default_options_color{$option}[2], - $default_options_color{$option}[3],$default_options_color{$option}[4],$default_options_color{$option}[5], - $default_options_color{$option}[6],$default_options_color{$option}[7],$default_options_color{$option}[8], - $default_options_color{$option}[9],$default_options_color{$option}[10],$default_options_color{$option}[11], - $default_options_color{$option}[12],$default_options_color{$option}[13],$default_options_color{$option}[14]); - } - - # section "look" - my $section_look = weechat::config_new_section($buffers_config_file,"look", 0, 0, "", "", "", "", "", "", "", "", "", ""); - if ($section_look eq "") - { - weechat::config_free($buffers_config_file); - return; - } - foreach my $option (keys %default_options_look) - { - $options{$option} = weechat::config_new_option($buffers_config_file, $section_look, - $default_options_look{$option}[0],$default_options_look{$option}[1],$default_options_look{$option}[2], - $default_options_look{$option}[3],$default_options_look{$option}[4],$default_options_look{$option}[5], - $default_options_look{$option}[6],$default_options_look{$option}[7],$default_options_look{$option}[8], - $default_options_look{$option}[9],$default_options_look{$option}[10],$default_options_look{$option}[11], - $default_options_look{$option}[12],$default_options_look{$option}[13],$default_options_look{$option}[14]); - } -} - -sub build_buffers -{ - my $str = ""; - - # get bar position (left/right/top/bottom) - my $position = "left"; - my $option_position = weechat::config_get("weechat.bar.buffers.position"); - if ($option_position ne "") - { - $position = weechat::config_string($option_position); - } - - # read hotlist - my %hotlist; - my $infolist = weechat::infolist_get("hotlist", "", ""); - while (weechat::infolist_next($infolist)) - { - $hotlist{weechat::infolist_pointer($infolist, "buffer_pointer")} = - weechat::infolist_integer($infolist, "priority"); - } - weechat::infolist_free($infolist); - - # read buffers list - @buffers_focus = (); - my @buffers; - my @current1 = (); - my @current2 = (); - my $old_number = -1; - my $max_number = 0; - my $max_number_digits = 0; - my $active_seen = 0; - $infolist = weechat::infolist_get("buffer", "", ""); - while (weechat::infolist_next($infolist)) - { - my $buffer; - my $number = weechat::infolist_integer($infolist, "number"); - if ($number ne $old_number) - { - @buffers = (@buffers, @current2, @current1); - @current1 = (); - @current2 = (); - $active_seen = 0; - } - if ($number > $max_number) - { - $max_number = $number; - } - $old_number = $number; - my $active = weechat::infolist_integer($infolist, "active"); - if ($active) - { - $active_seen = 1; - } - $buffer->{"pointer"} = weechat::infolist_pointer($infolist, "pointer"); - $buffer->{"number"} = $number; - $buffer->{"active"} = $active; - $buffer->{"current_buffer"} = weechat::infolist_integer($infolist, "current_buffer"); - $buffer->{"plugin_name"} = weechat::infolist_string($infolist, "plugin_name"); - $buffer->{"name"} = weechat::infolist_string($infolist, "name"); - $buffer->{"short_name"} = weechat::infolist_string($infolist, "short_name"); - $buffer->{"full_name"} = $buffer->{"plugin_name"}.".".$buffer->{"name"}; - $buffer->{"type"} = weechat::buffer_get_string($buffer->{"pointer"},"localvar_type"); -# weechat::print("",$buffer->{"type"}); - - unless( grep {$_ eq $buffer->{"name"}} @immune_detach_buffers ) - { - my $detach_time = weechat::config_integer( $options{"detach"}); - my $current_time = time(); - # set timer for buffers with no hotlist action - $buffers_timer{$buffer->{"pointer"}} = $current_time - if ( not exists $hotlist{$buffer->{"pointer"}} - and $buffer->{"type"} eq "channel" - and not exists $buffers_timer{$buffer->{"pointer"}} - and $detach_time > 0); - - # check for detach - unless ( $buffer->{"current_buffer"} eq 0 - and not exists $hotlist{$buffer->{"pointer"}} - and $buffer->{"type"} eq "channel" - and exists $buffers_timer{$buffer->{"pointer"}} - and $detach_time > 0 - and $weechat_version >= 0x00030800 - and $current_time - $buffers_timer{$buffer->{"pointer"}} >= $detach_time ) - { - if ($active_seen) - { - push(@current2, $buffer); - } - else - { - push(@current1, $buffer); - } - } - } - else - { - if ($active_seen) - { - push(@current2, $buffer); - } - else - { - push(@current1, $buffer); - } - } - - } # while end - - - if ($max_number >= 1) - { - $max_number_digits = length(int($max_number)); - } - @buffers = (@buffers, @current2, @current1); - weechat::infolist_free($infolist); - - # sort buffers by number, name or shortname - my %sorted_buffers; - if (1) - { - my $number = 0; - for my $buffer (@buffers) - { - my $key; - if (weechat::config_integer( $options{"sort"} ) eq 1) # number = 0; name = 1 - { - my $name = $buffer->{"name"}; - $name = $buffer->{"short_name"} if (weechat::config_boolean( $options{"short_names"} ) eq 1); - if (weechat::config_integer($options{"name_size_max"}) >= 1){ - $name = encode("UTF-8", substr(decode("UTF-8", $name), 0, weechat::config_integer($options{"name_size_max"}))); - } - if ( weechat::config_boolean($options{"core_to_front"}) eq 1) - { - if ( (weechat::buffer_get_string($buffer->{"pointer"}, "localvar_type") ne "channel" ) and ( weechat::buffer_get_string($buffer->{"pointer"}, "localvar_type") ne "private") ) - { - my $type = weechat::buffer_get_string($buffer->{"pointer"}, "localvar_type"); - if ( $type eq "" and $name ne "weechat") - { - $name = " " . $name - }else - { - $name = " " . $name; - } - } - } - $key = sprintf("%s%08d", lc($name), $buffer->{"number"}); - } - else - { - $key = sprintf("%08d", $number); - } - $sorted_buffers{$key} = $buffer; - $number++; - } - } - - # build string with buffers - $old_number = -1; - foreach my $key (sort keys %sorted_buffers) - { - my $buffer = $sorted_buffers{$key}; - - if ( weechat::config_string($options{"hide_merged_buffers"}) eq "server" ) - { - # buffer type "server" or merged with core? - if ( ($buffer->{"type"} eq "server" or $buffer->{"plugin_name"} eq "core") && (! $buffer->{"active"}) ) - { - next; - } - } - if ( weechat::config_string($options{"hide_merged_buffers"}) eq "channel" ) - { - # buffer type "channel" or merged with core? - if ( ($buffer->{"type"} eq "channel" or $buffer->{"plugin_name"} eq "core") && (! $buffer->{"active"}) ) - { - next; - } - } - if ( weechat::config_string($options{"hide_merged_buffers"}) eq "private" ) - { - # buffer type "private" or merged with core? - if ( ($buffer->{"type"} eq "private" or $buffer->{"plugin_name"} eq "core") && (! $buffer->{"active"}) ) - { - next; - } - } - if ( weechat::config_string($options{"hide_merged_buffers"}) eq "keepserver" ) - { - if ( ($buffer->{"type"} ne "server" or $buffer->{"plugin_name"} eq "core") && (! $buffer->{"active"}) ) - { - next; - } - } - if ( weechat::config_string($options{"hide_merged_buffers"}) eq "all" ) - { - if ( ! $buffer->{"active"} ) - { - next; - } - } - - push(@buffers_focus, $buffer); # buffer > buffers_focus, for mouse support - my $color = ""; - my $bg = ""; - - $color = weechat::config_color( $options{"color_default_fg"} ); - $bg = weechat::config_color( $options{"color_default_bg"} ); - - if ( weechat::buffer_get_string($buffer->{"pointer"}, "localvar_type") eq "private" ) - { - if ( (weechat::config_color($options{"queries_default_bg"})) ne "default" || (weechat::config_color($options{"queries_default_fg"})) ne "default" ) - { - $bg = weechat::config_color( $options{"queries_default_bg"} ); - $color = weechat::config_color( $options{"queries_default_fg"} ); - } - } - # check for core and buffer with free content - if ( (weechat::buffer_get_string($buffer->{"pointer"}, "localvar_type") ne "channel" ) and ( weechat::buffer_get_string($buffer->{"pointer"}, "localvar_type") ne "private") ) - { - $color = weechat::config_color( $options{"color_none_channel_fg"} ); - $bg = weechat::config_color( $options{"color_none_channel_bg"} ); - } - # default whitelist buffer? - if (grep {$_ eq $buffer->{"name"}} @whitelist_buffers) - { - $color = weechat::config_color( $options{"color_whitelist_default_fg"} ); - $bg = weechat::config_color( $options{"color_whitelist_default_bg"} ); - } - - $color = "default" if ($color eq ""); - - # color for channel and query buffer - if (exists $hotlist{$buffer->{"pointer"}}) - { - delete $buffers_timer{$buffer->{"pointer"}}; - # check if buffer is in whitelist buffer - if (grep {$_ eq $buffer->{"name"}} @whitelist_buffers) - { - $bg = weechat::config_color( $options{"color_whitelist_".$hotlist_level{$hotlist{$buffer->{"pointer"}}}."_bg"} ); - $color = weechat::config_color( $options{"color_whitelist_".$hotlist_level{$hotlist{$buffer->{"pointer"}}}."_fg"} ); - } - elsif ( weechat::buffer_get_string($buffer->{"pointer"}, "localvar_type") eq "private" ) - { - # queries_default_fg/bg and buffers.color.queries_message_fg/bg - if ( (weechat::config_color($options{"queries_highlight_fg"})) ne "default" || - (weechat::config_color($options{"queries_highlight_bg"})) ne "default" || - (weechat::config_color($options{"queries_message_fg"})) ne "default" || - (weechat::config_color($options{"queries_message_bg"})) ne "default" ) - { - if ( ($hotlist{$buffer->{"pointer"}}) == 2 ) - { - $bg = weechat::config_color( $options{"queries_message_bg"} ); - $color = weechat::config_color( $options{"queries_message_fg"} ); - } - - elsif ( ($hotlist{$buffer->{"pointer"}}) == 3 ) - { - $bg = weechat::config_color( $options{"queries_highlight_bg"} ); - $color = weechat::config_color( $options{"queries_highlight_fg"} ); - } - }else - { - $bg = weechat::config_color( $options{"color_hotlist_".$hotlist_level{$hotlist{$buffer->{"pointer"}}}."_bg"} ); - $color = weechat::config_color( $options{"color_hotlist_".$hotlist_level{$hotlist{$buffer->{"pointer"}}}."_fg"} ); - } - }else - { - $bg = weechat::config_color( $options{"color_hotlist_".$hotlist_level{$hotlist{$buffer->{"pointer"}}}."_bg"} ); - $color = weechat::config_color( $options{"color_hotlist_".$hotlist_level{$hotlist{$buffer->{"pointer"}}}."_fg"} ); - } - } - - if ($buffer->{"current_buffer"}) - { - $color = weechat::config_color( $options{"color_current_fg"} ); - $bg = weechat::config_color( $options{"color_current_bg"} ); - } - my $color_bg = ""; - $color_bg = weechat::color(",".$bg) if ($bg ne ""); - - # create channel number for output - if ( weechat::config_boolean( $options{"show_number"} ) eq 1 ) # on - { - if (( weechat::config_boolean( $options{"indenting_number"} ) eq 1) - && (($position eq "left") || ($position eq "right"))) - { - $str .= weechat::color("default").$color_bg - .(" " x ($max_number_digits - length(int($buffer->{"number"})))); - } - if ($old_number ne $buffer->{"number"}) - { - $str .= weechat::color( weechat::config_color( $options{"color_number"} ) ) - .$color_bg - .$buffer->{"number"} - .weechat::color("default") - .$color_bg - .weechat::color( weechat::config_color( $options{"color_number_char"} ) ) - .weechat::config_string( $options{"show_number_char"} ) - .$color_bg; - } - else - { - my $indent = ""; - $indent = ((" " x length($buffer->{"number"}))." ") if (($position eq "left") || ($position eq "right")); - $str .= weechat::color("default") - .$color_bg - .$indent; - } - } - - if (( weechat::config_integer( $options{"indenting"} ) ne 0 ) # indenting NOT off - && (($position eq "left") || ($position eq "right"))) - { - my $type = weechat::buffer_get_string($buffer->{"pointer"}, "localvar_type"); - if (($type eq "channel") || ($type eq "private")) - { - if ( weechat::config_integer( $options{"indenting"} ) eq 1 ) - { - $str .= " "; - } - elsif ( (weechat::config_integer($options{"indenting"}) eq 2) and (weechat::config_integer($options{"indenting_number"}) eq 0) ) #under_name - { - if ( weechat::config_boolean( $options{"show_number"} ) eq 0 ) - { - $str .= " "; - }else - { - $str .= ( (" " x ( $max_number_digits - length($buffer->{"number"}) ))." " ); - } - } - } - } - if (weechat::config_boolean( $options{"show_prefix"} ) eq 1) - { - my $nickname = weechat::buffer_get_string($buffer->{"pointer"}, "localvar_nick"); - if ($nickname ne "") - { - # with version >= 0.3.2, this infolist will return only nick - # with older versions, whole nicklist is returned for buffer, and this can be very slow - my $infolist_nick = weechat::infolist_get("nicklist", $buffer->{"pointer"}, "nick_".$nickname); - if ($infolist_nick ne "") - { - my $version = weechat::info_get("version_number", ""); - $version = 0 if ($version eq ""); - while (weechat::infolist_next($infolist_nick)) - { - if ((weechat::infolist_string($infolist_nick, "type") eq "nick") - && (weechat::infolist_string($infolist_nick, "name") eq $nickname)) - { - my $prefix = weechat::infolist_string($infolist_nick, "prefix"); - if (($prefix ne " ") or (weechat::config_boolean( $options{"show_prefix_empty"} ) eq 1)) - { - # with version >= 0.3.5, it is now a color name (for older versions: option name with color) - if (int($version) >= 0x00030500) - { - $str .= weechat::color(weechat::infolist_string($infolist_nick, "prefix_color")); - } - else - { - $str .= weechat::color(weechat::config_color( - weechat::config_get( - weechat::infolist_string($infolist_nick, "prefix_color")))); - } - $str .= $prefix; - } - last; - } - } - weechat::infolist_free($infolist_nick); - } - } - } - $str .= weechat::color($color) . weechat::color(",".$bg); - - if (weechat::config_boolean( $options{"short_names"} ) eq 1) - { - if (weechat::config_integer($options{"name_size_max"}) >= 1) # check max_size of buffer name - { - $str .= encode("UTF-8", substr(decode("UTF-8", $buffer->{"short_name"}), 0, weechat::config_integer($options{"name_size_max"}))); - $str .= weechat::color(weechat::config_color( $options{"color_number_char"})).weechat::config_string($options{"name_crop_suffix"}) if (length($buffer->{"short_name"}) > weechat::config_integer($options{"name_size_max"})); - } - else - { - $str .= $buffer->{"short_name"}; - } - } - else - { - if (weechat::config_integer($options{"name_size_max"}) >= 1) # check max_size of buffer name - { - $str .= encode("UTF-8", substr(decode("UTF-8", $buffer->{"name"},), 0, weechat::config_integer($options{"name_size_max"}))); - $str .= weechat::color(weechat::config_color( $options{"color_number_char"})).weechat::config_string($options{"name_crop_suffix"}) if (length($buffer->{"name"}) > weechat::config_integer($options{"name_size_max"})); - } - else - { - $str .= $buffer->{"name"}; - } - } - if ( weechat::buffer_get_string($buffer->{"pointer"}, "localvar_type") eq "server" and weechat::config_boolean($options{"show_lag"}) eq 1) - { - my $color_lag = weechat::config_color(weechat::config_get("irc.color.item_lag_finished")); - my $min_lag = weechat::config_integer(weechat::config_get("irc.network.lag_min_show")); - my $infolist_server = weechat::infolist_get("irc_server","",$buffer->{"short_name"}); - weechat::infolist_next($infolist_server); - my $lag = (weechat::infolist_integer($infolist_server, "lag")); - weechat::infolist_free($infolist_server); - if ( int($lag) > int($min_lag) ) - { - $lag = $lag / 1000; - $str .= weechat::color("default") . " (" . weechat::color($color_lag) . $lag . weechat::color("default") . ")"; - } - } - $str .= "\n"; - $old_number = $buffer->{"number"}; - } - - return $str; -} - -sub buffers_signal_buffer -{ -my ($data, $signal, $signal_data) = @_; - # check for buffer_switch and set the detach time or remove detach time - if ($weechat_version >= 0x00030800) - { - if ($signal eq "buffer_switch") - { - my $pointer = weechat::hdata_get_list (weechat::hdata_get("buffer"), "gui_buffer_last_displayed"); # get switched buffer - my $current_time = time(); - if ( weechat::buffer_get_string($pointer, "localvar_type") eq "channel") - { - $buffers_timer{$pointer} = $current_time; - } - else - { - delete $buffers_timer{$pointer}; - } - } - if ($signal eq "buffer_opened") - { - my $current_time = time(); - $buffers_timer{$signal_data} = $current_time; - } - if ($signal eq "buffer_closing") - { - delete $buffers_timer{$signal_data}; - } - } - - weechat::bar_item_update("buffers"); - return weechat::WEECHAT_RC_OK; -} - -sub buffers_signal_hotlist -{ - weechat::bar_item_update("buffers"); - return weechat::WEECHAT_RC_OK; -} - - -sub buffers_signal_config_whitelist -{ - @whitelist_buffers = (); - @whitelist_buffers = split( /,/, weechat::config_string( $options{"look_whitelist_buffers"} ) ); - weechat::bar_item_update("buffers"); - return weechat::WEECHAT_RC_OK; -} -sub buffers_signal_config_immune_detach_buffers -{ - @immune_detach_buffers = (); - @immune_detach_buffers = split( /,/, weechat::config_string( $options{"immune_detach_buffers"} ) ); - weechat::bar_item_update("buffers"); - return weechat::WEECHAT_RC_OK; -} - -sub buffers_signal_config -{ - weechat::bar_item_update("buffers"); - return weechat::WEECHAT_RC_OK; -} - -# called when mouse click occured in buffers item: this callback returns buffer -# hash according to line of item where click occured -sub buffers_focus_buffers -{ - my %info = %{$_[1]}; - my $item_line = int($info{"_bar_item_line"}); - undef my $hash; - if (($info{"_bar_item_name"} eq "buffers") && ($item_line >= 0) && ($item_line <= $#buffers_focus)) - { - $hash = $buffers_focus[$item_line]; - } - else - { - $hash = {}; - my $hash_focus = $buffers_focus[0]; - foreach my $key (keys %$hash_focus) - { - $hash->{$key} = "?"; - } - } - return $hash; -} - -# called when a mouse action is done on buffers item, to execute action -# possible actions: jump to a buffer or move buffer in list (drag & drop of buffer) -sub buffers_hsignal_mouse -{ - my ($data, $signal, %hash) = ($_[0], $_[1], %{$_[2]}); - my $current_buffer = weechat::buffer_get_integer(weechat::current_buffer(), "number"); # get current buffer number - - if ( $hash{"_key"} eq "button1" ) # left mouse button - { - if ($hash{"number"} eq $hash{"number2"}) - { - if ( weechat::config_integer($options{"jump_prev_next_visited_buffer"}) eq 1 ) - { - if ( $current_buffer eq $hash{"number"} ) - { - weechat::command("","/input jump_previously_visited_buffer"); - } - else - { - weechat::command("", "/buffer ".$hash{"full_name"}); - } - } - else - { - weechat::command("", "/buffer ".$hash{"full_name"}); - } - } - else - { - move_buffer(%hash); - } - } - elsif ( ($hash{"_key"} eq "button2") && (weechat::config_integer($options{"jump_prev_next_visited_buffer"}) eq 1) )# right mouse button - { - if ( $current_buffer eq $hash{"number2"} ) - { - weechat::command("","/input jump_next_visited_buffer"); - } - } - else - { - move_buffer(%hash); - } -} -sub move_buffer -{ - my %hash = @_; - my $number2 = $hash{"number2"}; - if ($number2 eq "?") - { - # if number 2 is not known (end of gesture outside buffers list), then set it - # according to mouse gesture - $number2 = "999999"; - $number2 = "1" if (($hash{"_key"} =~ /gesture-left/) || ($hash{"_key"} =~ /gesture-up/)); - } - my $ptrbuf = weechat::current_buffer(); - weechat::command($hash{"pointer"}, "/buffer move ".$number2); -} diff --git a/weechat/plugins.conf b/weechat/plugins.conf index 70d1c69..94aa5ea 100644 --- a/weechat/plugins.conf +++ b/weechat/plugins.conf @@ -1,5 +1,12 @@ # -# plugins.conf -- weechat v0.3.8 +# weechat -- plugins.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart # [var] diff --git a/weechat/python.conf b/weechat/python.conf new file mode 100644 index 0000000..187b778 --- /dev/null +++ b/weechat/python.conf @@ -0,0 +1,14 @@ +# +# weechat -- python.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart +# + +[look] +check_license = off +eval_keep_context = on diff --git a/weechat/relay.conf b/weechat/relay.conf index 6147697..ef5619a 100644 --- a/weechat/relay.conf +++ b/weechat/relay.conf @@ -1,5 +1,12 @@ # -# relay.conf -- weechat v0.3.8 +# weechat -- relay.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart # [look] @@ -7,6 +14,7 @@ auto_open_buffer = on raw_messages = 256 [color] +client = cyan status_active = lightblue status_auth_failed = lightred status_connecting = yellow @@ -17,10 +25,26 @@ text_bg = default text_selected = white [network] +allow_empty_password = off allowed_ips = "" bind_address = "" +clients_purge_delay = 0 compression_level = 6 +ipv6 = on max_clients = 5 password = "" +ssl_cert_key = "%h/ssl/relay.pem" +ssl_priorities = "NORMAL:-VERS-SSL3.0" +totp_secret = "" +totp_window = 0 +websocket_allowed_origins = "" + +[irc] +backlog_max_minutes = 1440 +backlog_max_number = 256 +backlog_since_last_disconnect = on +backlog_since_last_message = off +backlog_tags = "irc_privmsg" +backlog_time_format = "[%H:%M] " [port] diff --git a/weechat/ruby.conf b/weechat/ruby.conf new file mode 100644 index 0000000..f6de7fb --- /dev/null +++ b/weechat/ruby.conf @@ -0,0 +1,14 @@ +# +# weechat -- ruby.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart +# + +[look] +check_license = off +eval_keep_context = on diff --git a/weechat/script.conf b/weechat/script.conf new file mode 100644 index 0000000..121f189 --- /dev/null +++ b/weechat/script.conf @@ -0,0 +1,56 @@ +# +# weechat -- script.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart +# + +[look] +columns = "%s %n %V %v %u | %d | %t" +diff_color = on +diff_command = "auto" +display_source = on +quiet_actions = on +sort = "i,p,n" +translate_description = on +use_keys = on + +[color] +status_autoloaded = cyan +status_held = white +status_installed = lightcyan +status_obsolete = lightmagenta +status_popular = yellow +status_running = lightgreen +status_unknown = lightred +text = default +text_bg = default +text_bg_selected = red +text_date = default +text_date_selected = white +text_delimiters = default +text_description = default +text_description_selected = white +text_extension = default +text_extension_selected = white +text_name = cyan +text_name_selected = lightcyan +text_selected = white +text_tags = brown +text_tags_selected = yellow +text_version = magenta +text_version_loaded = default +text_version_loaded_selected = white +text_version_selected = lightmagenta + +[scripts] +autoload = on +cache_expire = 1440 +download_timeout = 30 +hold = "" +path = "%h/script" +url = "https://weechat.org/files/plugins.xml.gz" diff --git a/weechat/script/plugins.xml.gz b/weechat/script/plugins.xml.gz new file mode 100644 index 0000000..8db6dd9 Binary files /dev/null and b/weechat/script/plugins.xml.gz differ diff --git a/weechat/sec.conf b/weechat/sec.conf new file mode 100644 index 0000000..8c60d03 --- /dev/null +++ b/weechat/sec.conf @@ -0,0 +1,18 @@ +# +# weechat -- sec.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart +# + +[crypt] +cipher = aes256 +hash_algo = sha256 +passphrase_file = "" +salt = on + +[data] diff --git a/weechat/tcl.conf b/weechat/tcl.conf new file mode 100644 index 0000000..4c0e389 --- /dev/null +++ b/weechat/tcl.conf @@ -0,0 +1,14 @@ +# +# weechat -- tcl.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart +# + +[look] +check_license = off +eval_keep_context = on diff --git a/weechat/trigger.conf b/weechat/trigger.conf new file mode 100644 index 0000000..2424666 --- /dev/null +++ b/weechat/trigger.conf @@ -0,0 +1,67 @@ +# +# weechat -- trigger.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart +# + +[look] +enabled = on +monitor_strip_colors = off + +[color] +flag_command = lightgreen +flag_conditions = yellow +flag_post_action = lightblue +flag_regex = lightcyan +flag_return_code = lightmagenta +regex = white +replace = cyan +trigger = green +trigger_disabled = red + +[trigger] +beep.arguments = "" +beep.command = "/print -beep" +beep.conditions = "${tg_displayed} && (${tg_highlight} || ${tg_msg_pv})" +beep.enabled = on +beep.hook = print +beep.post_action = none +beep.regex = "" +beep.return_code = ok +cmd_pass.arguments = "5000|input_text_display;5000|history_add;5000|irc_command_auth" +cmd_pass.command = "" +cmd_pass.conditions = "" +cmd_pass.enabled = on +cmd_pass.hook = modifier +cmd_pass.post_action = none +cmd_pass.regex = "==^((/(msg|m|quote) +(-server +[^ ]+ +)?nickserv +(id|identify|set +password|ghost +[^ ]+|release +[^ ]+|regain +[^ ]+|recover +[^ ]+) +)|/oper +[^ ]+ +|/quote +pass +|/set +[^ ]*password[^ ]* +|/secure +(passphrase|decrypt|set +[^ ]+) +)(.*)==${re:1}${hide:*,${re:+}}" +cmd_pass.return_code = ok +cmd_pass_register.arguments = "5000|input_text_display;5000|history_add;5000|irc_command_auth" +cmd_pass_register.command = "" +cmd_pass_register.conditions = "" +cmd_pass_register.enabled = on +cmd_pass_register.hook = modifier +cmd_pass_register.post_action = none +cmd_pass_register.regex = "==^(/(msg|m|quote) +nickserv +register +)([^ ]+)(.*)==${re:1}${hide:*,${re:3}}${re:4}" +cmd_pass_register.return_code = ok +msg_auth.arguments = "5000|irc_message_auth" +msg_auth.command = "" +msg_auth.conditions = "" +msg_auth.enabled = on +msg_auth.hook = modifier +msg_auth.post_action = none +msg_auth.regex = "==^(.*(id|identify|set +password|register|ghost +[^ ]+|release +[^ ]+|regain +[^ ]+|recover +[^ ]+) +)(.*)==${re:1}${hide:*,${re:+}}" +msg_auth.return_code = ok +server_pass.arguments = "5000|input_text_display;5000|history_add" +server_pass.command = "" +server_pass.conditions = "" +server_pass.enabled = on +server_pass.hook = modifier +server_pass.post_action = none +server_pass.regex = "==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==${re:1}${hide:*,${re:4}}${re:5}" +server_pass.return_code = ok diff --git a/weechat/weechat.conf b/weechat/weechat.conf index a6792da..f9eb085 100644 --- a/weechat/weechat.conf +++ b/weechat/weechat.conf @@ -1,5 +1,12 @@ # -# weechat.conf -- weechat v0.3.8 +# weechat -- weechat.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart # [debug] @@ -9,14 +16,24 @@ command_after_plugins = "" command_before_plugins = "" display_logo = on display_version = on +sys_rlimit = "" [look] align_end_of_lines = message +align_multiline_words = on bar_more_down = "++" bar_more_left = "<<" bar_more_right = ">>" bar_more_up = "--" +bare_display_exit_on_input = on +bare_display_time_format = "%H:%M" +buffer_auto_renumber = on buffer_notify_default = all +buffer_position = end +buffer_search_case_sensitive = off +buffer_search_force_default = off +buffer_search_regex = off +buffer_search_where = prefix_message buffer_time_format = "%H:%M:%S" color_basic_force_bold = off color_inactive_buffer = off @@ -25,17 +42,22 @@ color_inactive_prefix = on color_inactive_prefix_buffer = on color_inactive_time = off color_inactive_window = off +color_nick_offline = off color_pairs_auto_reset = 5 color_real_white = off command_chars = "" +command_incomplete = off confirm_quit = off +confirm_upgrade = off day_change = on -day_change_time_format = "%a, %d %b %Y" +day_change_message_1date = "-- %a, %d %b %Y --" +day_change_message_2dates = "-- %%a, %%d %%b %%Y (%a, %d %b %Y) --" eat_newline_glitch = off +emphasized_attributes = "" highlight = "" highlight_regex = "" highlight_tags = "" -hotlist_add_buffer_if_away = on +hotlist_add_conditions = "${away} || ${buffer.num_displayed} == 0 || ${info:relay_client_count,weechat,connected} > 0" hotlist_buffer_separator = ", " hotlist_count_max = 2 hotlist_count_min_msg = 2 @@ -43,21 +65,34 @@ hotlist_names_count = 3 hotlist_names_length = 0 hotlist_names_level = 12 hotlist_names_merged_buffers = off +hotlist_prefix = "H: " +hotlist_remove = merged hotlist_short_names = on hotlist_sort = group_time_asc +hotlist_suffix = "" hotlist_unique_numbers = on input_cursor_scroll = 20 input_share = none input_share_overwrite = off input_undo_max = 32 +item_away_message = on item_buffer_filter = "*" +item_buffer_zoom = "!" +item_mouse_status = "M" item_time_format = "%H:%M" jump_current_to_previous_buffer = on jump_previous_buffer_when_closing = on +jump_smart_back_to_buffer = on +key_bind_safe = on +key_grab_delay = 800 mouse = off mouse_timer_delay = 100 -nickmode = on -nickmode_empty = off +nick_color_force = "" +nick_color_hash = djb2 +nick_color_stop_chars = "_|[" +nick_prefix = "" +nick_suffix = "" +paste_auto_add_newline = on paste_bracketed = off paste_bracketed_timer_delay = 10 paste_max_lines = 3 @@ -66,19 +101,25 @@ prefix_align = right prefix_align_max = 0 prefix_align_min = 0 prefix_align_more = "+" +prefix_align_more_after = on prefix_buffer_align = right prefix_buffer_align_max = 0 prefix_buffer_align_more = "+" +prefix_buffer_align_more_after = on prefix_error = "=!=" prefix_join = "-->" prefix_network = "--" prefix_quit = "<--" prefix_same_nick = "" prefix_suffix = "|" +quote_nick_prefix = "<" +quote_nick_suffix = ">" +quote_time_format = "%H:%M:%S" read_marker = line read_marker_always_show = off read_marker_string = "- " save_config_on_exit = on +save_config_with_fsync = off save_layout_on_exit = none scroll_amount = 3 scroll_bottom_after_switch = off @@ -86,8 +127,14 @@ scroll_page_percent = 100 search_text_not_found_alert = on separator_horizontal = "-" separator_vertical = "" -set_title = on +tab_width = 1 time_format = "%a, %d %b %Y %T" +window_auto_zoom = off +window_separator_horizontal = on +window_separator_vertical = on +window_title = "" +word_chars_highlight = "!\u00A0,-,_,|,alnum" +word_chars_input = "!\u00A0,-,_,|,alnum" [palette] @@ -97,6 +144,7 @@ chat = default chat_bg = default chat_buffer = white chat_channel = white +chat_day_change = cyan chat_delimiters = green chat_highlight = yellow chat_highlight_bg = magenta @@ -105,8 +153,13 @@ chat_inactive_buffer = darkgray chat_inactive_window = darkgray chat_nick = lightcyan chat_nick_colors = "cyan,magenta,green,brown,lightblue,default,lightcyan,lightmagenta,lightgreen,blue" +chat_nick_offline = default +chat_nick_offline_highlight = default +chat_nick_offline_highlight_bg = blue chat_nick_other = cyan +chat_nick_prefix = green chat_nick_self = white +chat_nick_suffix = green chat_prefix_action = white chat_prefix_buffer = brown chat_prefix_buffer_inactive_buffer = darkgray @@ -125,11 +178,14 @@ chat_text_found_bg = lightmagenta chat_time = default chat_time_delimiters = brown chat_value = cyan +chat_value_null = blue +emphasized = yellow +emphasized_bg = magenta input_actions = lightgreen input_text_not_found = red +item_away = yellow nicklist_away = cyan nicklist_group = green -nicklist_offline = blue separator = blue status_count_highlight = magenta status_count_msg = brown @@ -141,15 +197,19 @@ status_data_other = default status_data_private = lightgreen status_filter = green status_more = yellow +status_mouse = green status_name = white status_name_ssl = lightgreen +status_nicklist_count = default status_number = yellow status_time = default [completion] base_word_until_cursor = on +command_inline = on default_template = "%(nicks)|%(irc_channels)" nick_add_space = on +nick_case_sensitive = off nick_completer = ":" nick_first_only = off nick_ignore_chars = "[]`_-^" @@ -158,6 +218,7 @@ partial_completion_command = off partial_completion_command_arg = off partial_completion_count = on partial_completion_other = off +partial_completion_templates = "config_options" [history] display_default = 5 @@ -172,6 +233,7 @@ max_visited_buffers = 50 connection_timeout = 60 gnutls_ca_file = "/etc/ssl/certs/ca-certificates.crt" gnutls_handshake_timeout = 30 +proxy_curl = "" [plugin] autoload = "*" @@ -195,6 +257,20 @@ buffers.separator = on buffers.size = 0 buffers.size_max = 0 buffers.type = root +buflist.color_bg = default +buflist.color_delim = default +buflist.color_fg = default +buflist.conditions = "" +buflist.filling_left_right = vertical +buflist.filling_top_bottom = columns_vertical +buflist.hidden = off +buflist.items = "buflist" +buflist.position = left +buflist.priority = 0 +buflist.separator = on +buflist.size = 0 +buflist.size_max = 0 +buflist.type = root chanmon.color_bg = default chanmon.color_delim = cyan chanmon.color_fg = default @@ -209,6 +285,20 @@ chanmon.separator = on chanmon.size = 0 chanmon.size_max = 0 chanmon.type = root +fset.color_bg = default +fset.color_delim = cyan +fset.color_fg = default +fset.conditions = "${buffer.full_name} == fset.fset" +fset.filling_left_right = vertical +fset.filling_top_bottom = horizontal +fset.hidden = off +fset.items = "fset" +fset.position = top +fset.priority = 0 +fset.separator = on +fset.size = 3 +fset.size_max = 3 +fset.type = window input.color_bg = default input.color_delim = cyan input.color_fg = default @@ -314,6 +404,10 @@ ctrl-U = "/input delete_beginning_of_line" ctrl-W = "/input delete_previous_word" ctrl-X = "/input switch_active_buffer" ctrl-Y = "/input clipboard_paste" +meta-meta-OP = "/bar scroll buflist * b" +meta-meta-OQ = "/bar scroll buflist * e" +meta-meta2-11~ = "/bar scroll buflist * b" +meta-meta2-12~ = "/bar scroll buflist * e" meta-meta2-1~ = "/window scroll_top" meta-meta2-23~ = "/bar scroll nicklist * b" meta-meta2-24~ = "/bar scroll nicklist * e" @@ -345,10 +439,16 @@ meta-OC = "/input move_next_word" meta-OD = "/input move_previous_word" meta-OF = "/input move_end_of_line" meta-OH = "/input move_beginning_of_line" +meta-OP = "/bar scroll buflist * -100%" +meta-OQ = "/bar scroll buflist * +100%" meta-Oa = "/input history_global_previous" meta-Ob = "/input history_global_next" meta-Oc = "/input move_next_word" meta-Od = "/input move_previous_word" +meta2-11^ = "/bar scroll buflist * -100%" +meta2-11~ = "/bar scroll buflist * -100%" +meta2-12^ = "/bar scroll buflist * +100%" +meta2-12~ = "/bar scroll buflist * +100%" meta2-15~ = "/buffer -1" meta2-17~ = "/buffer +1" meta2-18~ = "/window -1" @@ -357,8 +457,12 @@ meta2-1;3A = "/buffer -1" meta2-1;3B = "/buffer +1" meta2-1;3C = "/buffer +1" meta2-1;3D = "/buffer -1" +meta2-1;3P = "/bar scroll buflist * b" +meta2-1;3Q = "/bar scroll buflist * e" meta2-1;5A = "/input history_global_previous" meta2-1;5B = "/input history_global_next" +meta2-1;5P = "/bar scroll buflist * -100%" +meta2-1;5Q = "/bar scroll buflist * +100%" meta2-1~ = "/input move_beginning_of_line" meta2-20~ = "/bar scroll title * -30%" meta2-21~ = "/bar scroll title * +30%" @@ -541,15 +645,25 @@ meta2-D = "/cursor move left" @chat:q = "hsignal:chat_quote_prefix_message;/cursor stop" [key_mouse] +@bar(buflist):ctrl-wheeldown = "hsignal:buflist_mouse" +@bar(buflist):ctrl-wheelup = "hsignal:buflist_mouse" @bar(input):button2 = "/input grab_mouse_area" @bar(nicklist):button1-gesture-down = "/bar scroll nicklist ${_window_number} +100%" @bar(nicklist):button1-gesture-down-long = "/bar scroll nicklist ${_window_number} e" @bar(nicklist):button1-gesture-up = "/bar scroll nicklist ${_window_number} -100%" @bar(nicklist):button1-gesture-up-long = "/bar scroll nicklist ${_window_number} b" +@chat(fset.fset):button1 = "/window ${_window_number};/fset -go ${_chat_line_y}" +@chat(fset.fset):button2* = "hsignal:fset_mouse" +@chat(fset.fset):wheeldown = "/fset -down 5" +@chat(fset.fset):wheelup = "/fset -up 5" @chat(perl.iset):button1 = "hsignal:iset_mouse" @chat(perl.iset):button2* = "hsignal:iset_mouse" @chat(perl.iset):wheeldown = "/repeat 5 /iset **down" @chat(perl.iset):wheelup = "/repeat 5 /iset **up" +@chat(script.scripts):button1 = "/window ${_window_number};/script go ${_chat_line_y}" +@chat(script.scripts):button2 = "/window ${_window_number};/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}" +@chat(script.scripts):wheeldown = "/script down 5" +@chat(script.scripts):wheelup = "/script up 5" @item(buffer_nicklist):button1 = "/window ${_window_number};/query ${nick}" @item(buffer_nicklist):button1-gesture-left = "/window ${_window_number};/kick ${nick}" @item(buffer_nicklist):button1-gesture-left-long = "/window ${_window_number};/kickban ${nick}" @@ -557,6 +671,12 @@ meta2-D = "/cursor move left" @item(buffer_nicklist):button2-gesture-left = "/window ${_window_number};/ban ${nick}" @item(buffers):button1* = "hsignal:buffers_mouse" @item(buffers):button2 = "hsignal:buffers_mouse" +@item(buflist):button1* = "hsignal:buflist_mouse" +@item(buflist):button2* = "hsignal:buflist_mouse" +@item(buflist2):button1* = "hsignal:buflist_mouse" +@item(buflist2):button2* = "hsignal:buflist_mouse" +@item(buflist3):button1* = "hsignal:buflist_mouse" +@item(buflist3):button2* = "hsignal:buflist_mouse" @bar:wheeldown = "/bar scroll ${_bar_name} ${_window_number} +20%" @bar:wheelup = "/bar scroll ${_bar_name} ${_window_number} -20%" @chat:button1 = "/window ${_window_number}" diff --git a/weechat/wg.conf b/weechat/wg.conf index 8e351cf..1b714ad 100644 --- a/weechat/wg.conf +++ b/weechat/wg.conf @@ -1,5 +1,12 @@ # -# wg.conf -- weechat v0.3.8 +# weechat -- wg.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart # [color] diff --git a/weechat/xfer.conf b/weechat/xfer.conf index dffa8e7..fd8b814 100644 --- a/weechat/xfer.conf +++ b/weechat/xfer.conf @@ -1,10 +1,18 @@ # -# xfer.conf -- weechat v0.3.8 +# weechat -- xfer.conf +# +# WARNING: It is NOT recommended to edit this file by hand, +# especially if WeeChat is running. +# +# Use /set or similar command to change settings in WeeChat. +# +# For more info, see: https://weechat.org/doc/quickstart # [look] auto_open_buffer = on progress_bar_size = 20 +pv_tags = "notify_private" [color] status_aborted = lightred @@ -22,12 +30,15 @@ blocksize = 65536 fast_send = on own_ip = "" port_range = "" +send_ack = on speed_limit = 0 timeout = 300 [file] auto_accept_chats = off auto_accept_files = off +auto_accept_nicks = "" +auto_check_crc32 = off auto_rename = on auto_resume = on convert_spaces = on