annotate weechat/perl/buffers.pl @ 206:b0d14db1857d

Update tpm
author zegervdv <zegervdv@me.com>
date Mon, 24 Nov 2014 21:25:08 +0100
parents 1bb19c7b3298
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
202
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1 #
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
2 # Copyright (C) 2008-2014 Sebastien Helleu <[email protected]>
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
3 # Copyright (C) 2011-2013 Nils G <[email protected]>
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
4 #
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
5 # This program is free software; you can redistribute it and/or modify
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
6 # it under the terms of the GNU General Public License as published by
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
7 # the Free Software Foundation; either version 3 of the License, or
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
8 # (at your option) any later version.
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
9 #
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
10 # This program is distributed in the hope that it will be useful,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
13 # GNU General Public License for more details.
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
14 #
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
15 # You should have received a copy of the GNU General Public License
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
16 # along with this program. If not, see <http://www.gnu.org/licenses/>.
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
17 #
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
18 #
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
19 # Display sidebar with list of buffers.
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
20 #
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
21 # History:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
22 #
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
23 # 2014-08-29, Patrick Steinhardt <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
24 # v4.9: add support for specifying custom buffer names
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
25 # 2014-07-19, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
26 # v4.8: add support of ctrl + mouse wheel to jump to previous/next buffer,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
27 # new option "mouse_wheel"
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
28 # 2014-06-22, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
29 # v4.7: fix typos in options
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
30 # 2014-04-05, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
31 # v4.6: add support of hidden buffers (WeeChat >= 0.4.4)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
32 # 2014-01-01, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
33 # v4.5: add option "mouse_move_buffer"
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
34 # 2013-12-11, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
35 # v4.4: fix buffer number on drag to the end of list when option
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
36 # weechat.look.buffer_auto_renumber is off
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
37 # 2013-12-10, nils_2@freenode.#weechat:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
38 # v4.3: add options "prefix_bufname" and "suffix_bufname (idea by silverd)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
39 # : fix hook_timer() for show_lag wasn't disabled
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
40 # : improved signal handling (less updating of buffers list)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
41 # 2013-11-07, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
42 # v4.2: use default filling "columns_vertical" when bar position is top/bottom
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
43 # 2013-10-31, nils_2@freenode.#weechat:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
44 # v4.1: add option "detach_buffer_immediately" (idea by farn)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
45 # 2013-10-20, nils_2@freenode.#weechat:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
46 # v4.0: add options "detach_displayed_buffers", "detach_display_window_number"
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
47 # 2013-09-27, nils_2@freenode.#weechat:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
48 # v3.9: add option "toggle_bar" and option "show_prefix_query" (idea by IvarB)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
49 # : fix problem with linefeed at end of list of buffers (reported by grawity)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
50 # 2012-10-18, nils_2@freenode.#weechat:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
51 # v3.8: add option "mark_inactive", to mark buffers you are not in (idea by xrdodrx)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
52 # : add wildcard "*" for immune_detach_buffers (idea by StarWeaver)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
53 # : add new options "detach_query" and "detach_free_content" (idea by StarWeaver)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
54 # 2012-10-06, Nei <anti.teamidiot.de>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
55 # v3.7: call menu on right mouse if menu script is loaded.
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
56 # 2012-10-06, nils_2 <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
57 # v3.6: add new option "hotlist_counter" (idea by torque).
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
58 # 2012-06-02, nils_2 <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
59 # v3.5: add values "server|channel|private|all|keepserver|none" to option "hide_merged_buffers" (suggested by dominikh).
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
60 # 2012-05-25, nils_2 <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
61 # v3.4: add new option "show_lag".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
62 # 2012-04-07, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
63 # v3.3: fix truncation of wide chars in buffer name (option name_size_max) (bug #36034)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
64 # 2012-03-15, nils_2 <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
65 # v3.2: add new option "detach"(weechat >= 0.3.8)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
66 # add new option "immune_detach_buffers" (requested by Mkaysi)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
67 # add new function buffers_whitelist add|del|reset (suggested by FiXato)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
68 # add new function buffers_detach add|del|reset
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
69 # 2012-03-09, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
70 # v3.1: fix reload of config file
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
71 # 2012-01-29, nils_2 <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
72 # v3.0: fix: buffers did not update directly during window_switch (reported by FiXato)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
73 # 2012-01-29, nils_2 <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
74 # v2.9: add options "name_size_max" and "name_crop_suffix"
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
75 # 2012-01-08, nils_2 <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
76 # v2.8: fix indenting for option "show_number off"
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
77 # fix unset of buffer activity in hotlist when buffer was moved with mouse
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
78 # add buffer with free content and core buffer sorted first (suggested by nyuszika7h)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
79 # add options queries_default_fg/bg and queries_message_fg/bg (suggested by FiXato)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
80 # add clicking with left button on current buffer will do a jump_previously_visited_buffer (suggested by FiXato)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
81 # add clicking with right button on current buffer will do a jump_next_visited_buffer
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
82 # add additional informations in help texts
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
83 # add default_fg and default_bg for whitelist channels
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
84 # internal changes (script is now 3Kb smaller)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
85 # 2012-01-04, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
86 # v2.7: fix regex lookup in whitelist buffers list
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
87 # 2011-12-04, nils_2 <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
88 # v2.6: add own config file (buffers.conf)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
89 # add new behavior for indenting (under_name)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
90 # add new option to set different color for server buffers and buffers with free content
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
91 # 2011-10-30, nils_2 <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
92 # v2.5: add new options "show_number_char" and "color_number_char",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
93 # add help-description for options
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
94 # 2011-08-24, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
95 # v2.4: add mouse support
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
96 # 2011-06-06, nils_2 <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
97 # v2.3: added: missed option "color_whitelist_default"
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
98 # 2011-03-23, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
99 # v2.2: fix color of nick prefix with WeeChat >= 0.3.5
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
100 # 2011-02-13, nils_2 <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
101 # v2.1: add options "color_whitelist_*"
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
102 # 2010-10-05, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
103 # v2.0: add options "sort" and "show_number"
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
104 # 2010-04-12, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
105 # v1.9: replace call to log() by length() to align buffer numbers
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
106 # 2010-04-02, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
107 # v1.8: fix bug with background color and option indenting_number
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
108 # 2010-04-02, Helios <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
109 # v1.7: add indenting_number option
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
110 # 2010-02-25, m4v <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
111 # v1.6: add option to hide empty prefixes
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
112 # 2010-02-12, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
113 # v1.5: add optional nick prefix for buffers like IRC channels
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
114 # 2009-09-30, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
115 # v1.4: remove spaces for indenting when bar position is top/bottom
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
116 # 2009-06-14, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
117 # v1.3: add option "hide_merged_buffers"
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
118 # 2009-06-14, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
119 # v1.2: improve display with merged buffers
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
120 # 2009-05-02, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
121 # v1.1: sync with last API changes
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
122 # 2009-02-21, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
123 # v1.0: remove timer used to update bar item first time (not needed any more)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
124 # 2009-02-17, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
125 # v0.9: fix bug with indenting of private buffers
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
126 # 2009-01-04, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
127 # v0.8: update syntax for command /set (comments)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
128 # 2008-10-20, Jiri Golembiovsky <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
129 # v0.7: add indenting option
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
130 # 2008-10-01, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
131 # v0.6: add default color for buffers, and color for current active buffer
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
132 # 2008-09-18, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
133 # v0.5: fix color for "low" level entry in hotlist
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
134 # 2008-09-18, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
135 # v0.4: rename option "show_category" to "short_names",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
136 # remove option "color_slash"
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
137 # 2008-09-15, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
138 # v0.3: fix bug with priority in hotlist (var not defined)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
139 # 2008-09-02, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
140 # v0.2: add color for buffers with activity and config options for
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
141 # colors, add config option to display/hide categories
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
142 # 2008-03-15, Sebastien Helleu <[email protected]>:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
143 # v0.1: script creation
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
144 #
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
145 # Help about settings:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
146 # display all settings for script (or use iset.pl script to change settings):
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
147 # /set buffers*
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
148 # show help text for option buffers.look.whitelist_buffers:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
149 # /help buffers.look.whitelist_buffers
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
150 #
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
151 # Mouse-support (standard key bindings):
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
152 # left mouse-button:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
153 # - click on a buffer to switch to selected buffer
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
154 # - click on current buffer will do action jump_previously_visited_buffer
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
155 # - drag a buffer and drop it on another position will move the buffer to position
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
156 # right mouse-button:
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
157 # - click on current buffer will do action jump_next_visited_buffer
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
158 # - moving buffer to the left/right will close buffer.
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
159 #
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
160
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
161 use strict;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
162 use Encode qw( decode encode );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
163 # -----------------------------[ internal ]-------------------------------------
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
164 my $SCRIPT_NAME = "buffers";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
165 my $SCRIPT_VERSION = "4.9";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
166
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
167 my $BUFFERS_CONFIG_FILE_NAME = "buffers";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
168 my $buffers_config_file;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
169 my $cmd_buffers_whitelist= "buffers_whitelist";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
170 my $cmd_buffers_detach = "buffers_detach";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
171
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
172 my %mouse_keys = ("\@item(buffers):button1*" => "hsignal:buffers_mouse",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
173 "\@item(buffers):button2*" => "hsignal:buffers_mouse",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
174 "\@bar(buffers):ctrl-wheelup" => "hsignal:buffers_mouse",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
175 "\@bar(buffers):ctrl-wheeldown" => "hsignal:buffers_mouse");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
176 my %options;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
177 my %hotlist_level = (0 => "low", 1 => "message", 2 => "private", 3 => "highlight");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
178 my @whitelist_buffers = ();
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
179 my @immune_detach_buffers= ();
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
180 my @detach_buffer_immediately= ();
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
181 my @buffers_focus = ();
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
182 my %buffers_timer = ();
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
183 my %Hooks = ();
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
184
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
185 # --------------------------------[ init ]--------------------------------------
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
186 weechat::register($SCRIPT_NAME, "Sebastien Helleu <flashcode\@flashtux.org>",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
187 $SCRIPT_VERSION, "GPL3",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
188 "Sidebar with list of buffers", "shutdown_cb", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
189 my $weechat_version = weechat::info_get("version_number", "") || 0;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
190
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
191 buffers_config_init();
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
192 buffers_config_read();
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
193
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
194 weechat::bar_item_new($SCRIPT_NAME, "build_buffers", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
195 weechat::bar_new($SCRIPT_NAME, "0", "0", "root", "", "left", "columns_vertical",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
196 "vertical", "0", "0", "default", "default", "default", "1",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
197 $SCRIPT_NAME);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
198
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
199 if ( check_bar_item() == 0 )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
200 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
201 weechat::command("", "/bar show " . $SCRIPT_NAME) if ( weechat::config_boolean($options{"toggle_bar"}) eq 1 );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
202 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
203
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
204 weechat::hook_signal("buffer_opened", "buffers_signal_buffer", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
205 weechat::hook_signal("buffer_closed", "buffers_signal_buffer", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
206 weechat::hook_signal("buffer_merged", "buffers_signal_buffer", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
207 weechat::hook_signal("buffer_unmerged", "buffers_signal_buffer", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
208 weechat::hook_signal("buffer_moved", "buffers_signal_buffer", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
209 weechat::hook_signal("buffer_renamed", "buffers_signal_buffer", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
210 weechat::hook_signal("buffer_switch", "buffers_signal_buffer", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
211 weechat::hook_signal("buffer_hidden", "buffers_signal_buffer", ""); # WeeChat >= 0.4.4
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
212 weechat::hook_signal("buffer_unhidden", "buffers_signal_buffer", ""); # WeeChat >= 0.4.4
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
213 weechat::hook_signal("buffer_localvar_added", "buffers_signal_buffer", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
214 weechat::hook_signal("buffer_localvar_changed", "buffers_signal_buffer", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
215
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
216 weechat::hook_signal("window_switch", "buffers_signal_buffer", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
217 weechat::hook_signal("hotlist_changed", "buffers_signal_hotlist", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
218 #weechat::hook_command_run("/input switch_active_*", "buffers_signal_buffer", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
219 weechat::bar_item_update($SCRIPT_NAME);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
220
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
221
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
222 if ($weechat_version >= 0x00030600)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
223 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
224 weechat::hook_focus($SCRIPT_NAME, "buffers_focus_buffers", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
225 weechat::hook_hsignal("buffers_mouse", "buffers_hsignal_mouse", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
226 weechat::key_bind("mouse", \%mouse_keys);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
227 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
228
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
229 weechat::hook_command($cmd_buffers_whitelist,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
230 "add/del current buffer to/from buffers whitelist",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
231 "[add] || [del] || [reset]",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
232 " add: add current buffer in configuration file\n".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
233 " del: delete current buffer from configuration file\n".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
234 "reset: reset all buffers from configuration file ".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
235 "(no confirmation!)\n\n".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
236 "Examples:\n".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
237 "/$cmd_buffers_whitelist add\n",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
238 "add %-||".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
239 "del %-||".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
240 "reset %-",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
241 "buffers_cmd_whitelist", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
242 weechat::hook_command($cmd_buffers_detach,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
243 "add/del current buffer to/from buffers detach",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
244 "[add] || [del] || [reset]",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
245 " add: add current buffer in configuration file\n".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
246 " del: delete current buffer from configuration file\n".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
247 "reset: reset all buffers from configuration file ".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
248 "(no confirmation!)\n\n".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
249 "Examples:\n".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
250 "/$cmd_buffers_detach add\n",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
251 "add %-||".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
252 "del %-||".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
253 "reset %-",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
254 "buffers_cmd_detach", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
255
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
256 if ($weechat_version >= 0x00030800)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
257 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
258 weechat::hook_config("buffers.look.detach", "hook_timer_detach", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
259 if (weechat::config_integer($options{"detach"}) > 0)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
260 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
261 $Hooks{timer_detach} = weechat::hook_timer(weechat::config_integer($options{"detach"}) * 1000,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
262 60, 0, "buffers_signal_hotlist", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
263 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
264 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
265
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
266 weechat::hook_config("buffers.look.show_lag", "hook_timer_lag", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
267
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
268 if (weechat::config_boolean($options{"show_lag"}))
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
269 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
270 $Hooks{timer_lag} = weechat::hook_timer(
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
271 weechat::config_integer(weechat::config_get("irc.network.lag_refresh_interval")) * 1000,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
272 0, 0, "buffers_signal_hotlist", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
273 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
274
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
275 # -------------------------------- [ command ] --------------------------------
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
276 sub buffers_cmd_whitelist
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
277 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
278 my ( $data, $buffer, $args ) = @_;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
279 $args = lc($args);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
280 my $buffers_whitelist = weechat::config_string( weechat::config_get("buffers.look.whitelist_buffers") );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
281 return weechat::WEECHAT_RC_OK if ( $buffers_whitelist eq "" and $args eq "del" or $buffers_whitelist eq "" and $args eq "reset" );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
282 my @buffers_list = split( /,/, $buffers_whitelist );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
283 # get buffers name
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
284 my $infolist = weechat::infolist_get("buffer", weechat::current_buffer(), "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
285 weechat::infolist_next($infolist);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
286 my $buffers_name = weechat::infolist_string($infolist, "name");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
287 weechat::infolist_free($infolist);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
288 return weechat::WEECHAT_RC_OK if ( $buffers_name eq "" ); # should never happen
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
289
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
290 if ( $args eq "add" )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
291 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
292 return weechat::WEECHAT_RC_OK if ( grep /^$buffers_name$/, @buffers_list ); # check if buffer already in list
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
293 push @buffers_list, ( $buffers_name );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
294 my $buffers_list = &create_whitelist(\@buffers_list);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
295 weechat::config_option_set( weechat::config_get("buffers.look.whitelist_buffers"), $buffers_list, 1);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
296 weechat::print(weechat::current_buffer(), "buffer \"$buffers_name\" added to buffers whitelist");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
297 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
298 elsif ( $args eq "del" )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
299 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
300 return weechat::WEECHAT_RC_OK unless ( grep /^$buffers_name$/, @buffers_list ); # check if buffer is in list
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
301 @buffers_list = grep {$_ ne $buffers_name} @buffers_list; # delete entry
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
302 my $buffers_list = &create_whitelist(\@buffers_list);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
303 weechat::config_option_set( weechat::config_get("buffers.look.whitelist_buffers"), $buffers_list, 1);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
304 weechat::print(weechat::current_buffer(), "buffer \"$buffers_name\" deleted from buffers whitelist");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
305 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
306 elsif ( $args eq "reset" )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
307 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
308 return weechat::WEECHAT_RC_OK if ( $buffers_whitelist eq "" );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
309 weechat::config_option_set( weechat::config_get("buffers.look.whitelist_buffers"), "", 1);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
310 weechat::print(weechat::current_buffer(), "buffers whitelist is empty, now...");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
311 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
312 return weechat::WEECHAT_RC_OK;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
313 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
314 sub buffers_cmd_detach
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
315 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
316 my ( $data, $buffer, $args ) = @_;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
317 $args = lc($args);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
318 my $immune_detach_buffers = weechat::config_string( weechat::config_get("buffers.look.immune_detach_buffers") );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
319 return weechat::WEECHAT_RC_OK if ( $immune_detach_buffers eq "" and $args eq "del" or $immune_detach_buffers eq "" and $args eq "reset" );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
320
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
321 my @buffers_list = split( /,/, $immune_detach_buffers );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
322 # get buffers name
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
323 my $infolist = weechat::infolist_get("buffer", weechat::current_buffer(), "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
324 weechat::infolist_next($infolist);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
325 my $buffers_name = weechat::infolist_string($infolist, "name");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
326 weechat::infolist_free($infolist);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
327 return weechat::WEECHAT_RC_OK if ( $buffers_name eq "" ); # should never happen
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
328
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
329 if ( $args eq "add" )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
330 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
331 return weechat::WEECHAT_RC_OK if ( grep /^$buffers_name$/, @buffers_list ); # check if buffer already in list
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
332 push @buffers_list, ( $buffers_name );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
333 my $buffers_list = &create_whitelist(\@buffers_list);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
334 weechat::config_option_set( weechat::config_get("buffers.look.immune_detach_buffers"), $buffers_list, 1);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
335 weechat::print(weechat::current_buffer(), "buffer \"$buffers_name\" added to immune detach buffers");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
336 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
337 elsif ( $args eq "del" )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
338 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
339 return weechat::WEECHAT_RC_OK unless ( grep /^$buffers_name$/, @buffers_list ); # check if buffer is in list
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
340 @buffers_list = grep {$_ ne $buffers_name} @buffers_list; # delete entry
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
341 my $buffers_list = &create_whitelist(\@buffers_list);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
342 weechat::config_option_set( weechat::config_get("buffers.look.immune_detach_buffers"), $buffers_list, 1);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
343 weechat::print(weechat::current_buffer(), "buffer \"$buffers_name\" deleted from immune detach buffers");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
344 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
345 elsif ( $args eq "reset" )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
346 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
347 return weechat::WEECHAT_RC_OK if ( $immune_detach_buffers eq "" );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
348 weechat::config_option_set( weechat::config_get("buffers.look.immune_detach_buffers"), "", 1);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
349 weechat::print(weechat::current_buffer(), "immune detach buffers is empty, now...");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
350 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
351 return weechat::WEECHAT_RC_OK;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
352 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
353
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
354 sub create_whitelist
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
355 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
356 my @buffers_list = @{$_[0]};
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
357 my $buffers_list = "";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
358 foreach (@buffers_list)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
359 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
360 $buffers_list .= $_ .",";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
361 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
362 # remove last ","
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
363 chop $buffers_list;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
364 return $buffers_list;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
365 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
366
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
367 # -------------------------------- [ config ] --------------------------------
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
368 sub hook_timer_detach
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
369 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
370 my $detach = $_[2];
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
371 if ( $detach eq 0 )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
372 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
373 weechat::unhook($Hooks{timer_detach}) if $Hooks{timer_detach};
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
374 $Hooks{timer_detach} = "";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
375 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
376 else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
377 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
378 weechat::unhook($Hooks{timer_detach}) if $Hooks{timer_detach};
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
379 $Hooks{timer_detach} = weechat::hook_timer( weechat::config_integer( $options{"detach"}) * 1000, 60, 0, "buffers_signal_hotlist", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
380 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
381 weechat::bar_item_update($SCRIPT_NAME);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
382 return weechat::WEECHAT_RC_OK;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
383 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
384
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
385 sub hook_timer_lag
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
386 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
387 my $lag = $_[2];
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
388 if ( $lag eq "off" )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
389 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
390 weechat::unhook($Hooks{timer_lag}) if $Hooks{timer_lag};
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
391 $Hooks{timer_lag} = "";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
392 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
393 else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
394 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
395 weechat::unhook($Hooks{timer_lag}) if $Hooks{timer_lag};
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
396 $Hooks{timer_lag} = weechat::hook_timer( weechat::config_integer(weechat::config_get("irc.network.lag_refresh_interval")) * 1000, 0, 0, "buffers_signal_hotlist", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
397 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
398 weechat::bar_item_update($SCRIPT_NAME);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
399 return weechat::WEECHAT_RC_OK;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
400 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
401
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
402 sub buffers_config_read
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
403 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
404 return weechat::config_read($buffers_config_file) if ($buffers_config_file ne "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
405 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
406 sub buffers_config_write
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
407 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
408 return weechat::config_write($buffers_config_file) if ($buffers_config_file ne "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
409 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
410 sub buffers_config_reload_cb
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
411 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
412 my ($data, $config_file) = ($_[0], $_[1]);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
413 return weechat::config_reload($config_file)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
414 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
415 sub buffers_config_init
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
416 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
417 $buffers_config_file = weechat::config_new($BUFFERS_CONFIG_FILE_NAME,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
418 "buffers_config_reload_cb", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
419 return if ($buffers_config_file eq "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
420
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
421 my %default_options_color =
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
422 ("color_current_fg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
423 "current_fg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
424 "foreground color for current buffer",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
425 "", 0, 0, "lightcyan", "lightcyan", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
426 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
427 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
428 "color_current_bg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
429 "current_bg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
430 "background color for current buffer",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
431 "", 0, 0, "red", "red", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
432 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
433 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
434 "color_default_fg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
435 "default_fg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
436 "default foreground color for buffer name",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
437 "", 0, 0, "default", "default", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
438 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
439 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
440 "color_default_bg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
441 "default_bg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
442 "default background color for buffer name",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
443 "", 0, 0, "default", "default", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
444 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
445 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
446 "color_hotlist_highlight_fg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
447 "hotlist_highlight_fg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
448 "change foreground color of buffer name if a highlight messaged received",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
449 "", 0, 0, "magenta", "magenta", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
450 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
451 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
452 "color_hotlist_highlight_bg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
453 "hotlist_highlight_bg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
454 "change background color of buffer name if a highlight messaged received",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
455 "", 0, 0, "default", "default", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
456 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
457 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
458 "color_hotlist_low_fg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
459 "hotlist_low_fg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
460 "change foreground color of buffer name if a low message received",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
461 "", 0, 0, "white", "white", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
462 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
463 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
464 "color_hotlist_low_bg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
465 "hotlist_low_bg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
466 "change background color of buffer name if a low message received",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
467 "", 0, 0, "default", "default", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
468 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
469 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
470 "color_hotlist_message_fg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
471 "hotlist_message_fg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
472 "change foreground color of buffer name if a normal message received",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
473 "", 0, 0, "yellow", "yellow", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
474 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
475 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
476 "color_hotlist_message_bg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
477 "hotlist_message_bg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
478 "change background color of buffer name if a normal message received",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
479 "", 0, 0, "default", "default", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
480 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
481 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
482 "color_hotlist_private_fg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
483 "hotlist_private_fg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
484 "change foreground color of buffer name if a private message received",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
485 "", 0, 0, "lightgreen", "lightgreen", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
486 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
487 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
488 "color_hotlist_private_bg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
489 "hotlist_private_bg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
490 "change background color of buffer name if a private message received",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
491 "", 0, 0, "default", "default", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
492 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
493 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
494 "color_number" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
495 "number", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
496 "color for buffer number",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
497 "", 0, 0, "lightgreen", "lightgreen", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
498 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
499 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
500 "color_number_char" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
501 "number_char", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
502 "color for buffer number char",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
503 "", 0, 0, "lightgreen", "lightgreen", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
504 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
505 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
506 "color_whitelist_default_fg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
507 "whitelist_default_fg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
508 "default foreground color for whitelist buffer name",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
509 "", 0, 0, "", "", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
510 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
511 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
512 "color_whitelist_default_bg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
513 "whitelist_default_bg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
514 "default background color for whitelist buffer name",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
515 "", 0, 0, "", "", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
516 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
517 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
518 "color_whitelist_low_fg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
519 "whitelist_low_fg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
520 "low color of whitelist buffer name",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
521 "", 0, 0, "", "", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
522 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
523 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
524 "color_whitelist_low_bg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
525 "whitelist_low_bg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
526 "low color of whitelist buffer name",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
527 "", 0, 0, "", "", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
528 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
529 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
530 "color_whitelist_message_fg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
531 "whitelist_message_fg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
532 "message color of whitelist buffer name",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
533 "", 0, 0, "", "", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
534 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
535 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
536 "color_whitelist_message_bg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
537 "whitelist_message_bg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
538 "message color of whitelist buffer name",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
539 "", 0, 0, "", "", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
540 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
541 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
542 "color_whitelist_private_fg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
543 "whitelist_private_fg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
544 "private color of whitelist buffer name",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
545 "", 0, 0, "", "", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
546 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
547 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
548 "color_whitelist_private_bg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
549 "whitelist_private_bg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
550 "private color of whitelist buffer name",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
551 "", 0, 0, "", "", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
552 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
553 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
554 "color_whitelist_highlight_fg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
555 "whitelist_highlight_fg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
556 "highlight color of whitelist buffer name",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
557 "", 0, 0, "", "", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
558 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
559 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
560 "color_whitelist_highlight_bg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
561 "whitelist_highlight_bg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
562 "highlight color of whitelist buffer name",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
563 "", 0, 0, "", "", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
564 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
565 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
566 "color_none_channel_fg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
567 "none_channel_fg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
568 "foreground color for none channel buffer (e.g.: core/server/plugin ".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
569 "buffer)",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
570 "", 0, 0, "default", "default", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
571 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
572 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
573 "color_none_channel_bg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
574 "none_channel_bg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
575 "background color for none channel buffer (e.g.: core/server/plugin ".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
576 "buffer)",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
577 "", 0, 0, "default", "default", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
578 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
579 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
580 "queries_default_fg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
581 "queries_default_fg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
582 "foreground color for query buffer without message",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
583 "", 0, 0, "default", "default", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
584 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
585 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
586 "queries_default_bg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
587 "queries_default_bg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
588 "background color for query buffer without message",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
589 "", 0, 0, "default", "default", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
590 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
591 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
592 "queries_message_fg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
593 "queries_message_fg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
594 "foreground color for query buffer with unread message",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
595 "", 0, 0, "default", "default", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
596 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
597 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
598 "queries_message_bg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
599 "queries_message_bg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
600 "background color for query buffer with unread message",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
601 "", 0, 0, "default", "default", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
602 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
603 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
604 "queries_highlight_fg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
605 "queries_highlight_fg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
606 "foreground color for query buffer with unread highlight",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
607 "", 0, 0, "default", "default", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
608 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
609 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
610 "queries_highlight_bg" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
611 "queries_highlight_bg", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
612 "background color for query buffer with unread highlight",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
613 "", 0, 0, "default", "default", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
614 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
615 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
616 "color_prefix_bufname" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
617 "prefix_bufname", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
618 "color for prefix of buffer name",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
619 "", 0, 0, "default", "default", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
620 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
621 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
622 "color_suffix_bufname" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
623 "suffix_bufname", "color",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
624 "color for suffix of buffer name",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
625 "", 0, 0, "default", "default", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
626 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
627 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
628 );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
629
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
630 my %default_options_look =
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
631 (
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
632 "hotlist_counter" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
633 "hotlist_counter", "boolean",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
634 "show number of message for the buffer (this option needs WeeChat >= ".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
635 "0.3.5). The relevant option for notification is \"weechat.look.".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
636 "buffer_notify_default\"",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
637 "", 0, 0, "off", "off", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
638 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
639 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
640 "show_lag" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
641 "show_lag", "boolean",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
642 "show lag behind server name. This option is using \"irc.color.".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
643 "item_lag_finished\", ".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
644 "\"irc.network.lag_min_show\" and \"irc.network.lag_refresh_interval\"",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
645 "", 0, 0, "off", "off", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
646 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
647 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
648 "look_whitelist_buffers" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
649 "whitelist_buffers", "string",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
650 "comma separated list of buffers for using a different color scheme ".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
651 "(for example: freenode.#weechat,freenode.#weechat-fr)",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
652 "", 0, 0, "", "", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
653 "", "", "buffers_signal_config_whitelist", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
654 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
655 "hide_merged_buffers" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
656 "hide_merged_buffers", "integer",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
657 "hide merged buffers. The value determines which merged buffers should ".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
658 "be hidden, keepserver meaning 'all except server buffers'. Other values ".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
659 "correspondent to the buffer type.",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
660 "server|channel|private|keepserver|all|none", 0, 0, "none", "none", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
661 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
662 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
663 "indenting" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
664 "indenting", "integer", "use indenting for channel and query buffers. ".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
665 "This option only takes effect if bar is left/right positioned",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
666 "off|on|under_name", 0, 0, "off", "off", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
667 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
668 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
669 "indenting_number" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
670 "indenting_number", "boolean",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
671 "use indenting for numbers. This option only takes effect if bar is ".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
672 "left/right positioned",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
673 "", 0, 0, "on", "on", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
674 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
675 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
676 "short_names" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
677 "short_names", "boolean",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
678 "display short names (remove text before first \".\" in buffer name)",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
679 "", 0, 0, "on", "on", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
680 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
681 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
682 "show_number" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
683 "show_number", "boolean",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
684 "display buffer number in front of buffer name",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
685 "", 0, 0, "on", "on", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
686 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
687 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
688 "show_number_char" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
689 "number_char", "string",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
690 "display a char behind buffer number",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
691 "", 0, 0, ".", ".", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
692 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
693 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
694 "show_prefix_bufname" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
695 "prefix_bufname", "string",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
696 "prefix displayed in front of buffer name",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
697 "", 0, 0, "", "", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
698 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
699 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
700 "show_suffix_bufname" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
701 "suffix_bufname", "string",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
702 "suffix displayed at end of buffer name",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
703 "", 0, 0, "", "", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
704 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
705 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
706 "show_prefix" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
707 "prefix", "boolean",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
708 "displays your prefix for channel in front of buffer name",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
709 "", 0, 0, "off", "off", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
710 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
711 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
712 "show_prefix_empty" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
713 "prefix_empty", "boolean",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
714 "use a placeholder for channels without prefix",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
715 "", 0, 0, "on", "on", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
716 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
717 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
718 "show_prefix_query" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
719 "prefix_for_query", "string",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
720 "prefix displayed in front of query buffer",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
721 "", 0, 0, "", "", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
722 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
723 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
724 "sort" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
725 "sort", "integer",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
726 "sort buffer-list by \"number\" or \"name\"",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
727 "number|name", 0, 0, "number", "number", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
728 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
729 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
730 "core_to_front" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
731 "core_to_front", "boolean",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
732 "core buffer and buffers with free content will be listed first. ".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
733 "Take only effect if buffer sort is by name",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
734 "", 0, 0, "off", "off", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
735 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
736 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
737 "jump_prev_next_visited_buffer" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
738 "jump_prev_next_visited_buffer", "boolean",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
739 "jump to previously or next visited buffer if you click with ".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
740 "left/right mouse button on currently visiting buffer",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
741 "", 0, 0, "off", "off", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
742 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
743 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
744 "name_size_max" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
745 "name_size_max", "integer",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
746 "maximum size of buffer name. 0 means no limitation",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
747 "", 0, 256, 0, 0, 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
748 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
749 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
750 "name_crop_suffix" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
751 "name_crop_suffix", "string",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
752 "contains an optional char(s) that is appended when buffer name is ".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
753 "shortened",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
754 "", 0, 0, "+", "+", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
755 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
756 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
757 "detach" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
758 "detach", "integer",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
759 "detach buffer from buffers list after a specific period of time ".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
760 "(in seconds) without action (weechat ≥ 0.3.8 required) (0 means \"off\")",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
761 "", 0, 31536000, 0, "number", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
762 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
763 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
764 "immune_detach_buffers" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
765 "immune_detach_buffers", "string",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
766 "comma separated list of buffers to NOT automatically detach. ".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
767 "Allows \"*\" wildcard. Ex: \"BitlBee,freenode.*\"",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
768 "", 0, 0, "", "", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
769 "", "", "buffers_signal_config_immune_detach_buffers", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
770 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
771 "detach_query" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
772 "detach_query", "boolean",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
773 "query buffer will be detached",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
774 "", 0, 0, "off", "off", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
775 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
776 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
777 "detach_buffer_immediately" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
778 "detach_buffer_immediately", "string",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
779 "comma separated list of buffers to detach immediately. A query and ".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
780 "highlight message will attach buffer again. Allows \"*\" wildcard. ".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
781 "Ex: \"BitlBee,freenode.*\"",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
782 "", 0, 0, "", "", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
783 "", "", "buffers_signal_config_detach_buffer_immediately", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
784 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
785 "detach_free_content" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
786 "detach_free_content", "boolean",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
787 "buffers with free content will be detached (Ex: iset, chanmon)",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
788 "", 0, 0, "off", "off", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
789 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
790 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
791 "detach_displayed_buffers" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
792 "detach_displayed_buffers", "boolean",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
793 "buffers displayed in a (split) window will be detached",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
794 "", 0, 0, "on", "on", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
795 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
796 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
797 "detach_display_window_number" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
798 "detach_display_window_number", "boolean",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
799 "window number will be add, behind buffer name (this option takes only ".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
800 "effect with \"detach_displayed_buffers\" option)",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
801 "", 0, 0, "off", "off", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
802 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
803 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
804 "mark_inactive" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
805 "mark_inactive", "boolean",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
806 "if option is \"on\", inactive buffers (those you are not in) will have ".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
807 "parentheses around them. An inactive buffer will not be detached.",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
808 "", 0, 0, "off", "off", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
809 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
810 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
811 "toggle_bar" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
812 "toggle_bar", "boolean",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
813 "if option is \"on\", buffers bar will hide/show when script is ".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
814 "(un)loaded.",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
815 "", 0, 0, "on", "on", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
816 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
817 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
818 "mouse_move_buffer" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
819 "mouse_move_buffer", "boolean",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
820 "if option is \"on\", mouse gestures (drag & drop) can move buffers in list.",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
821 "", 0, 0, "on", "on", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
822 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
823 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
824 "mouse_wheel" => [
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
825 "mouse_wheel", "boolean",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
826 "if option is \"on\", mouse wheel jumps to previous/next buffer in list.",
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
827 "", 0, 0, "on", "on", 0,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
828 "", "", "buffers_signal_config", "", "", ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
829 ],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
830 );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
831 # section "color"
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
832 my $section_color = weechat::config_new_section(
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
833 $buffers_config_file,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
834 "color", 0, 0, "", "", "", "", "", "", "", "", "", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
835 if ($section_color eq "")
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
836 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
837 weechat::config_free($buffers_config_file);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
838 return;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
839 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
840 foreach my $option (keys %default_options_color)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
841 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
842 $options{$option} = weechat::config_new_option(
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
843 $buffers_config_file,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
844 $section_color,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
845 $default_options_color{$option}[0],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
846 $default_options_color{$option}[1],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
847 $default_options_color{$option}[2],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
848 $default_options_color{$option}[3],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
849 $default_options_color{$option}[4],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
850 $default_options_color{$option}[5],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
851 $default_options_color{$option}[6],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
852 $default_options_color{$option}[7],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
853 $default_options_color{$option}[8],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
854 $default_options_color{$option}[9],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
855 $default_options_color{$option}[10],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
856 $default_options_color{$option}[11],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
857 $default_options_color{$option}[12],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
858 $default_options_color{$option}[13],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
859 $default_options_color{$option}[14]);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
860 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
861
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
862 # section "look"
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
863 my $section_look = weechat::config_new_section(
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
864 $buffers_config_file,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
865 "look", 0, 0, "", "", "", "", "", "", "", "", "", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
866 if ($section_look eq "")
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
867 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
868 weechat::config_free($buffers_config_file);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
869 return;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
870 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
871 foreach my $option (keys %default_options_look)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
872 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
873 $options{$option} = weechat::config_new_option(
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
874 $buffers_config_file,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
875 $section_look,
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
876 $default_options_look{$option}[0],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
877 $default_options_look{$option}[1],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
878 $default_options_look{$option}[2],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
879 $default_options_look{$option}[3],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
880 $default_options_look{$option}[4],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
881 $default_options_look{$option}[5],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
882 $default_options_look{$option}[6],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
883 $default_options_look{$option}[7],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
884 $default_options_look{$option}[8],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
885 $default_options_look{$option}[9],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
886 $default_options_look{$option}[10],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
887 $default_options_look{$option}[11],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
888 $default_options_look{$option}[12],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
889 $default_options_look{$option}[13],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
890 $default_options_look{$option}[14],
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
891 $default_options_look{$option}[15]);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
892 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
893 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
894
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
895 sub build_buffers
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
896 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
897 my $str = "";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
898
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
899 # get bar position (left/right/top/bottom)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
900 my $position = "left";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
901 my $option_position = weechat::config_get("weechat.bar.buffers.position");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
902 if ($option_position ne "")
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
903 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
904 $position = weechat::config_string($option_position);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
905 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
906
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
907 # read hotlist
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
908 my %hotlist;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
909 my $infolist = weechat::infolist_get("hotlist", "", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
910 while (weechat::infolist_next($infolist))
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
911 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
912 $hotlist{weechat::infolist_pointer($infolist, "buffer_pointer")} =
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
913 weechat::infolist_integer($infolist, "priority");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
914 if ( weechat::config_boolean( $options{"hotlist_counter"} ) eq 1 and $weechat_version >= 0x00030500)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
915 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
916 $hotlist{weechat::infolist_pointer($infolist, "buffer_pointer")."_count_00"} =
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
917 weechat::infolist_integer($infolist, "count_00"); # low message
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
918 $hotlist{weechat::infolist_pointer($infolist, "buffer_pointer")."_count_01"} =
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
919 weechat::infolist_integer($infolist, "count_01"); # channel message
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
920 $hotlist{weechat::infolist_pointer($infolist, "buffer_pointer")."_count_02"} =
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
921 weechat::infolist_integer($infolist, "count_02"); # private message
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
922 $hotlist{weechat::infolist_pointer($infolist, "buffer_pointer")."_count_03"} =
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
923 weechat::infolist_integer($infolist, "count_03"); # highlight message
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
924 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
925 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
926 weechat::infolist_free($infolist);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
927
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
928 # read buffers list
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
929 @buffers_focus = ();
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
930 my @buffers;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
931 my @current1 = ();
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
932 my @current2 = ();
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
933 my $old_number = -1;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
934 my $max_number = 0;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
935 my $max_number_digits = 0;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
936 my $active_seen = 0;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
937 $infolist = weechat::infolist_get("buffer", "", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
938 while (weechat::infolist_next($infolist))
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
939 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
940 # ignore hidden buffers (WeeChat >= 0.4.4)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
941 if ($weechat_version >= 0x00040400)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
942 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
943 next if (weechat::infolist_integer($infolist, "hidden"));
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
944 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
945 my $buffer;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
946 my $number = weechat::infolist_integer($infolist, "number");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
947 if ($number ne $old_number)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
948 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
949 @buffers = (@buffers, @current2, @current1);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
950 @current1 = ();
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
951 @current2 = ();
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
952 $active_seen = 0;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
953 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
954 if ($number > $max_number)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
955 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
956 $max_number = $number;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
957 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
958 $old_number = $number;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
959 my $active = weechat::infolist_integer($infolist, "active");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
960 if ($active)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
961 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
962 $active_seen = 1;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
963 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
964 $buffer->{"pointer"} = weechat::infolist_pointer($infolist, "pointer");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
965 $buffer->{"number"} = $number;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
966 $buffer->{"active"} = $active;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
967 $buffer->{"current_buffer"} = weechat::infolist_integer($infolist, "current_buffer");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
968 $buffer->{"num_displayed"} = weechat::infolist_integer($infolist, "num_displayed");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
969 $buffer->{"plugin_name"} = weechat::infolist_string($infolist, "plugin_name");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
970 $buffer->{"name"} = weechat::infolist_string($infolist, "name");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
971 $buffer->{"short_name"} = weechat::infolist_string($infolist, "short_name");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
972 $buffer->{"full_name"} = $buffer->{"plugin_name"}.".".$buffer->{"name"};
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
973 $buffer->{"type"} = weechat::buffer_get_string($buffer->{"pointer"}, "localvar_type");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
974 #weechat::print("", $buffer->{"type"});
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
975
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
976 # check if buffer is active (or maybe a /part, /kick channel)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
977 if ($buffer->{"type"} eq "channel" and weechat::config_boolean( $options{"mark_inactive"} ) eq 1)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
978 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
979 my $server = weechat::buffer_get_string($buffer->{"pointer"}, "localvar_server");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
980 my $channel = weechat::buffer_get_string($buffer->{"pointer"}, "localvar_channel");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
981 my $infolist_channel = weechat::infolist_get("irc_channel", "", $server.",".$channel);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
982 if ($infolist_channel)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
983 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
984 weechat::infolist_next($infolist_channel);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
985 $buffer->{"nicks_count"} = weechat::infolist_integer($infolist_channel, "nicks_count");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
986 }else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
987 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
988 $buffer->{"nicks_count"} = 0;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
989 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
990 weechat::infolist_free($infolist_channel);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
991 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
992
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
993 my $result = check_immune_detached_buffers($buffer->{"name"}); # checking for wildcard
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
994
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
995 next if ( check_detach_buffer_immediately($buffer->{"name"}) eq 1
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
996 and $buffer->{"current_buffer"} eq 0
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
997 and ( not exists $hotlist{$buffer->{"pointer"}} or $hotlist{$buffer->{"pointer"}} < 2) ); # checking for buffer to immediately detach
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
998
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
999 unless ($result)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1000 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1001 my $detach_time = weechat::config_integer( $options{"detach"});
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1002 my $current_time = time();
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1003 # set timer for buffers with no hotlist action
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1004 $buffers_timer{$buffer->{"pointer"}} = $current_time
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1005 if ( not exists $hotlist{$buffer->{"pointer"}}
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1006 and $buffer->{"type"} eq "channel"
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1007 and not exists $buffers_timer{$buffer->{"pointer"}}
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1008 and $detach_time > 0);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1009
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1010 $buffers_timer{$buffer->{"pointer"}} = $current_time
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1011 if (weechat::config_boolean($options{"detach_query"}) eq 1
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1012 and not exists $hotlist{$buffer->{"pointer"}}
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1013 and $buffer->{"type"} eq "private"
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1014 and not exists $buffers_timer{$buffer->{"pointer"}}
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1015 and $detach_time > 0);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1016
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1017 $detach_time = 0
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1018 if (weechat::config_boolean($options{"detach_query"}) eq 0
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1019 and $buffer->{"type"} eq "private");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1020
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1021 # free content buffer
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1022 $buffers_timer{$buffer->{"pointer"}} = $current_time
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1023 if (weechat::config_boolean($options{"detach_free_content"}) eq 1
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1024 and not exists $hotlist{$buffer->{"pointer"}}
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1025 and $buffer->{"type"} eq ""
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1026 and not exists $buffers_timer{$buffer->{"pointer"}}
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1027 and $detach_time > 0);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1028 $detach_time = 0
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1029 if (weechat::config_boolean($options{"detach_free_content"}) eq 0
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1030 and $buffer->{"type"} eq "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1031
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1032 $detach_time = 0 if (weechat::config_boolean($options{"mark_inactive"}) eq 1 and defined $buffer->{"nicks_count"} and $buffer->{"nicks_count"} == 0);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1033
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1034 # check for detach
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1035 unless ( $buffer->{"current_buffer"} eq 0
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1036 and not exists $hotlist{$buffer->{"pointer"}}
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1037 # and $buffer->{"type"} eq "channel"
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1038 and exists $buffers_timer{$buffer->{"pointer"}}
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1039 and $detach_time > 0
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1040 and $weechat_version >= 0x00030800
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1041 and $current_time - $buffers_timer{$buffer->{"pointer"}} >= $detach_time)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1042 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1043 if ($active_seen)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1044 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1045 push(@current2, $buffer);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1046 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1047 else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1048 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1049 push(@current1, $buffer);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1050 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1051 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1052 elsif ( $buffer->{"current_buffer"} eq 0
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1053 and not exists $hotlist{$buffer->{"pointer"}}
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1054 # and $buffer->{"type"} eq "channel"
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1055 and exists $buffers_timer{$buffer->{"pointer"}}
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1056 and $detach_time > 0
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1057 and $weechat_version >= 0x00030800
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1058 and $current_time - $buffers_timer{$buffer->{"pointer"}} >= $detach_time)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1059 { # check for option detach_displayed_buffers and if buffer is displayed in a split window
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1060 if ( $buffer->{"num_displayed"} eq 1
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1061 and weechat::config_boolean($options{"detach_displayed_buffers"}) eq 0 )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1062 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1063 my $infolist_window = weechat::infolist_get("window", "", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1064 while (weechat::infolist_next($infolist_window))
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1065 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1066 my $buffer_ptr = weechat::infolist_pointer($infolist_window, "buffer");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1067 if ($buffer_ptr eq $buffer->{"pointer"})
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1068 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1069 $buffer->{"window"} = weechat::infolist_integer($infolist_window, "number");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1070 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1071 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1072 weechat::infolist_free($infolist_window);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1073
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1074 push(@current2, $buffer);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1075 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1076 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1077 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1078 else # buffer in "immune_detach_buffers"
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1079 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1080 if ($active_seen)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1081 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1082 push(@current2, $buffer);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1083 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1084 else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1085 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1086 push(@current1, $buffer);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1087 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1088 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1089 } # while end
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1090
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1091
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1092 if ($max_number >= 1)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1093 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1094 $max_number_digits = length(int($max_number));
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1095 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1096 @buffers = (@buffers, @current2, @current1);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1097 weechat::infolist_free($infolist);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1098
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1099 # sort buffers by number, name or shortname
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1100 my %sorted_buffers;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1101 if (1)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1102 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1103 my $number = 0;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1104 for my $buffer (@buffers)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1105 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1106 my $key;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1107 if (weechat::config_integer( $options{"sort"} ) eq 1) # number = 0; name = 1
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1108 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1109 my $name = weechat::buffer_get_string($buffer->{"pointer"}, "localvar_custom_name");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1110 if (not defined $name or $name eq "") {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1111 if (weechat::config_boolean( $options{"short_names"} ) eq 1) {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1112 $name = $buffer->{"short_name"};
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1113 } else {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1114 $name = $buffer->{"name"};
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1115 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1116 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1117 if (weechat::config_integer($options{"name_size_max"}) >= 1){
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1118 $name = encode("UTF-8", substr(decode("UTF-8", $name), 0, weechat::config_integer($options{"name_size_max"})));
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1119 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1120 if ( weechat::config_boolean($options{"core_to_front"}) eq 1)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1121 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1122 if ( (weechat::buffer_get_string($buffer->{"pointer"}, "localvar_type") ne "channel" ) and ( weechat::buffer_get_string($buffer->{"pointer"}, "localvar_type") ne "private") )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1123 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1124 my $type = weechat::buffer_get_string($buffer->{"pointer"}, "localvar_type");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1125 if ( $type eq "" and $name ne "weechat")
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1126 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1127 $name = " " . $name
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1128 }else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1129 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1130 $name = " " . $name;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1131 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1132 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1133 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1134 $key = sprintf("%s%08d", lc($name), $buffer->{"number"});
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1135 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1136 else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1137 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1138 $key = sprintf("%08d", $number);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1139 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1140 $sorted_buffers{$key} = $buffer;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1141 $number++;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1142 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1143 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1144
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1145 # build string with buffers
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1146 $old_number = -1;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1147 foreach my $key (sort keys %sorted_buffers)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1148 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1149 my $buffer = $sorted_buffers{$key};
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1150
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1151 if ( weechat::config_string($options{"hide_merged_buffers"}) eq "server" )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1152 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1153 # buffer type "server" or merged with core?
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1154 if ( ($buffer->{"type"} eq "server" or $buffer->{"plugin_name"} eq "core") && (! $buffer->{"active"}) )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1155 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1156 next;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1157 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1158 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1159 if ( weechat::config_string($options{"hide_merged_buffers"}) eq "channel" )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1160 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1161 # buffer type "channel" or merged with core?
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1162 if ( ($buffer->{"type"} eq "channel" or $buffer->{"plugin_name"} eq "core") && (! $buffer->{"active"}) )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1163 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1164 next;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1165 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1166 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1167 if ( weechat::config_string($options{"hide_merged_buffers"}) eq "private" )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1168 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1169 # buffer type "private" or merged with core?
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1170 if ( ($buffer->{"type"} eq "private" or $buffer->{"plugin_name"} eq "core") && (! $buffer->{"active"}) )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1171 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1172 next;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1173 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1174 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1175 if ( weechat::config_string($options{"hide_merged_buffers"}) eq "keepserver" )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1176 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1177 if ( ($buffer->{"type"} ne "server" or $buffer->{"plugin_name"} eq "core") && (! $buffer->{"active"}) )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1178 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1179 next;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1180 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1181 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1182 if ( weechat::config_string($options{"hide_merged_buffers"}) eq "all" )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1183 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1184 if ( ! $buffer->{"active"} )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1185 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1186 next;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1187 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1188 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1189
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1190 push(@buffers_focus, $buffer); # buffer > buffers_focus, for mouse support
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1191 my $color = "";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1192 my $bg = "";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1193
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1194 $color = weechat::config_color( $options{"color_default_fg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1195 $bg = weechat::config_color( $options{"color_default_bg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1196
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1197 if ( weechat::buffer_get_string($buffer->{"pointer"}, "localvar_type") eq "private" )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1198 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1199 if ( (weechat::config_color($options{"queries_default_bg"})) ne "default" || (weechat::config_color($options{"queries_default_fg"})) ne "default" )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1200 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1201 $bg = weechat::config_color( $options{"queries_default_bg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1202 $color = weechat::config_color( $options{"queries_default_fg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1203 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1204 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1205 # check for core and buffer with free content
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1206 if ( (weechat::buffer_get_string($buffer->{"pointer"}, "localvar_type") ne "channel" ) and ( weechat::buffer_get_string($buffer->{"pointer"}, "localvar_type") ne "private") )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1207 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1208 $color = weechat::config_color( $options{"color_none_channel_fg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1209 $bg = weechat::config_color( $options{"color_none_channel_bg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1210 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1211 # default whitelist buffer?
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1212 if (grep {$_ eq $buffer->{"name"}} @whitelist_buffers)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1213 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1214 $color = weechat::config_color( $options{"color_whitelist_default_fg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1215 $bg = weechat::config_color( $options{"color_whitelist_default_bg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1216 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1217
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1218 $color = "default" if ($color eq "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1219
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1220 # color for channel and query buffer
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1221 if (exists $hotlist{$buffer->{"pointer"}})
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1222 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1223 delete $buffers_timer{$buffer->{"pointer"}};
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1224 # check if buffer is in whitelist buffer
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1225 if (grep {$_ eq $buffer->{"name"}} @whitelist_buffers)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1226 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1227 $bg = weechat::config_color( $options{"color_whitelist_".$hotlist_level{$hotlist{$buffer->{"pointer"}}}."_bg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1228 $color = weechat::config_color( $options{"color_whitelist_".$hotlist_level{$hotlist{$buffer->{"pointer"}}}."_fg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1229 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1230 elsif ( weechat::buffer_get_string($buffer->{"pointer"}, "localvar_type") eq "private" )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1231 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1232 # queries_default_fg/bg and buffers.color.queries_message_fg/bg
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1233 if ( (weechat::config_color($options{"queries_highlight_fg"})) ne "default" ||
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1234 (weechat::config_color($options{"queries_highlight_bg"})) ne "default" ||
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1235 (weechat::config_color($options{"queries_message_fg"})) ne "default" ||
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1236 (weechat::config_color($options{"queries_message_bg"})) ne "default" )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1237 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1238 if ( ($hotlist{$buffer->{"pointer"}}) == 2 )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1239 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1240 $bg = weechat::config_color( $options{"queries_message_bg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1241 $color = weechat::config_color( $options{"queries_message_fg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1242 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1243
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1244 elsif ( ($hotlist{$buffer->{"pointer"}}) == 3 )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1245 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1246 $bg = weechat::config_color( $options{"queries_highlight_bg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1247 $color = weechat::config_color( $options{"queries_highlight_fg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1248 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1249 }else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1250 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1251 $bg = weechat::config_color( $options{"color_hotlist_".$hotlist_level{$hotlist{$buffer->{"pointer"}}}."_bg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1252 $color = weechat::config_color( $options{"color_hotlist_".$hotlist_level{$hotlist{$buffer->{"pointer"}}}."_fg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1253 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1254 }else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1255 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1256 $bg = weechat::config_color( $options{"color_hotlist_".$hotlist_level{$hotlist{$buffer->{"pointer"}}}."_bg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1257 $color = weechat::config_color( $options{"color_hotlist_".$hotlist_level{$hotlist{$buffer->{"pointer"}}}."_fg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1258 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1259 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1260
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1261 if ($buffer->{"current_buffer"})
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1262 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1263 $color = weechat::config_color( $options{"color_current_fg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1264 $bg = weechat::config_color( $options{"color_current_bg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1265 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1266 my $color_bg = "";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1267 $color_bg = weechat::color(",".$bg) if ($bg ne "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1268
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1269 # create channel number for output
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1270 if ( weechat::config_string( $options{"show_prefix_bufname"} ) ne "" )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1271 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1272 $str .= $color_bg .
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1273 weechat::color( weechat::config_color( $options{"color_prefix_bufname"} ) ).
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1274 weechat::config_string( $options{"show_prefix_bufname"} ).
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1275 weechat::color("default");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1276 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1277
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1278 if ( weechat::config_boolean( $options{"show_number"} ) eq 1 ) # on
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1279 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1280 if (( weechat::config_boolean( $options{"indenting_number"} ) eq 1)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1281 && (($position eq "left") || ($position eq "right")))
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1282 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1283 $str .= weechat::color("default").$color_bg
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1284 .(" " x ($max_number_digits - length(int($buffer->{"number"}))));
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1285 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1286 if ($old_number ne $buffer->{"number"})
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1287 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1288 $str .= weechat::color( weechat::config_color( $options{"color_number"} ) )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1289 .$color_bg
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1290 .$buffer->{"number"}
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1291 .weechat::color("default")
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1292 .$color_bg
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1293 .weechat::color( weechat::config_color( $options{"color_number_char"} ) )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1294 .weechat::config_string( $options{"show_number_char"} )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1295 .$color_bg;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1296 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1297 else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1298 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1299 my $indent = "";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1300 $indent = ((" " x length($buffer->{"number"}))." ") if (($position eq "left") || ($position eq "right"));
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1301 $str .= weechat::color("default")
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1302 .$color_bg
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1303 .$indent;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1304 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1305 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1306
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1307 if (( weechat::config_integer( $options{"indenting"} ) ne 0 ) # indenting NOT off
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1308 && (($position eq "left") || ($position eq "right")))
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1309 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1310 my $type = weechat::buffer_get_string($buffer->{"pointer"}, "localvar_type");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1311 if (($type eq "channel") || ($type eq "private"))
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1312 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1313 if ( weechat::config_integer( $options{"indenting"} ) eq 1 )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1314 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1315 $str .= " ";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1316 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1317 elsif ( (weechat::config_integer($options{"indenting"}) eq 2) and (weechat::config_integer($options{"indenting_number"}) eq 0) ) #under_name
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1318 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1319 if ( weechat::config_boolean( $options{"show_number"} ) eq 0 )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1320 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1321 $str .= " ";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1322 }else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1323 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1324 $str .= ( (" " x ( $max_number_digits - length($buffer->{"number"}) ))." " );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1325 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1326 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1327 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1328 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1329
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1330 $str .= weechat::config_string( $options{"show_prefix_query"}) if (weechat::config_string( $options{"show_prefix_query"} ) ne "" and $buffer->{"type"} eq "private");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1331
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1332 if (weechat::config_boolean( $options{"show_prefix"} ) eq 1)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1333 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1334 my $nickname = weechat::buffer_get_string($buffer->{"pointer"}, "localvar_nick");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1335 if ($nickname ne "")
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1336 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1337 # with version >= 0.3.2, this infolist will return only nick
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1338 # with older versions, whole nicklist is returned for buffer, and this can be very slow
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1339 my $infolist_nick = weechat::infolist_get("nicklist", $buffer->{"pointer"}, "nick_".$nickname);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1340 if ($infolist_nick ne "")
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1341 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1342 while (weechat::infolist_next($infolist_nick))
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1343 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1344 if ((weechat::infolist_string($infolist_nick, "type") eq "nick")
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1345 && (weechat::infolist_string($infolist_nick, "name") eq $nickname))
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1346 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1347 my $prefix = weechat::infolist_string($infolist_nick, "prefix");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1348 if (($prefix ne " ") or (weechat::config_boolean( $options{"show_prefix_empty"} ) eq 1))
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1349 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1350 # with version >= 0.3.5, it is now a color name (for older versions: option name with color)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1351 if (int($weechat_version) >= 0x00030500)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1352 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1353 $str .= weechat::color(weechat::infolist_string($infolist_nick, "prefix_color"));
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1354 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1355 else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1356 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1357 $str .= weechat::color(weechat::config_color(
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1358 weechat::config_get(
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1359 weechat::infolist_string($infolist_nick, "prefix_color"))));
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1360 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1361 $str .= $prefix;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1362 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1363 last;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1364 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1365 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1366 weechat::infolist_free($infolist_nick);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1367 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1368 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1369 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1370 if ($buffer->{"type"} eq "channel" and weechat::config_boolean( $options{"mark_inactive"} ) eq 1 and $buffer->{"nicks_count"} == 0)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1371 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1372 $str .= "(";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1373 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1374
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1375 $str .= weechat::color($color) . weechat::color(",".$bg);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1376
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1377 my $name = weechat::buffer_get_string($buffer->{"pointer"}, "localvar_custom_name");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1378 if (not defined $name or $name eq "")
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1379 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1380 if (weechat::config_boolean( $options{"short_names"} ) eq 1) {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1381 $name = $buffer->{"short_name"};
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1382 } else {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1383 $name = $buffer->{"name"};
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1384 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1385 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1386
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1387 if (weechat::config_integer($options{"name_size_max"}) >= 1) # check max_size of buffer name
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1388 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1389 $str .= encode("UTF-8", substr(decode("UTF-8", $name), 0, weechat::config_integer($options{"name_size_max"})));
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1390 $str .= weechat::color(weechat::config_color( $options{"color_number_char"})).weechat::config_string($options{"name_crop_suffix"}) if (length($name) > weechat::config_integer($options{"name_size_max"}));
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1391 $str .= add_inactive_parentless($buffer->{"type"}, $buffer->{"nicks_count"});
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1392 $str .= add_hotlist_count($buffer->{"pointer"}, %hotlist);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1393 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1394 else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1395 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1396 $str .= $name;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1397 $str .= add_inactive_parentless($buffer->{"type"}, $buffer->{"nicks_count"});
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1398 $str .= add_hotlist_count($buffer->{"pointer"}, %hotlist);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1399 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1400
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1401 if ( weechat::buffer_get_string($buffer->{"pointer"}, "localvar_type") eq "server" and weechat::config_boolean($options{"show_lag"}) eq 1)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1402 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1403 my $color_lag = weechat::config_color(weechat::config_get("irc.color.item_lag_finished"));
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1404 my $min_lag = weechat::config_integer(weechat::config_get("irc.network.lag_min_show"));
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1405 my $infolist_server = weechat::infolist_get("irc_server", "", $buffer->{"short_name"});
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1406 weechat::infolist_next($infolist_server);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1407 my $lag = (weechat::infolist_integer($infolist_server, "lag"));
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1408 weechat::infolist_free($infolist_server);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1409 if ( int($lag) > int($min_lag) )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1410 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1411 $lag = $lag / 1000;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1412 $str .= weechat::color("default") . " (" . weechat::color($color_lag) . $lag . weechat::color("default") . ")";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1413 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1414 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1415 if (weechat::config_boolean($options{"detach_displayed_buffers"}) eq 0
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1416 and weechat::config_boolean($options{"detach_display_window_number"}) eq 1)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1417 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1418 if ($buffer->{"window"})
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1419 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1420 $str .= weechat::color("default") . " (" . weechat::color(weechat::config_color( $options{"color_number"})) . $buffer->{"window"} . weechat::color("default") . ")";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1421 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1422 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1423 $str .= weechat::color("default");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1424
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1425 if ( weechat::config_string( $options{"show_suffix_bufname"} ) ne "" )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1426 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1427 $str .= weechat::color( weechat::config_color( $options{"color_suffix_bufname"} ) ).
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1428 weechat::config_string( $options{"show_suffix_bufname"} ).
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1429 weechat::color("default");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1430 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1431
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1432 $str .= "\n";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1433 $old_number = $buffer->{"number"};
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1434 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1435
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1436 # remove spaces and/or linefeed at the end
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1437 $str =~ s/\s+$//;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1438 chomp($str);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1439 return $str;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1440 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1441
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1442 sub add_inactive_parentless
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1443 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1444 my ($buf_type, $buf_nicks_count) = @_;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1445 my $str = "";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1446 if ($buf_type eq "channel" and weechat::config_boolean( $options{"mark_inactive"} ) eq 1 and $buf_nicks_count == 0)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1447 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1448 $str .= weechat::color(weechat::config_color( $options{"color_number_char"}));
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1449 $str .= ")";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1450 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1451 return $str;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1452 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1453
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1454 sub add_hotlist_count
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1455 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1456 my ($bufpointer, %hotlist) = @_;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1457
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1458 return "" if ( weechat::config_boolean( $options{"hotlist_counter"} ) eq 0 or ($weechat_version < 0x00030500)); # off
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1459 my $col_number_char = weechat::color(weechat::config_color( $options{"color_number_char"}) );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1460 my $str = " ".$col_number_char."(";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1461
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1462 # 0 = low level
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1463 if (defined $hotlist{$bufpointer."_count_00"})
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1464 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1465 my $bg = weechat::config_color( $options{"color_hotlist_low_bg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1466 my $color = weechat::config_color( $options{"color_hotlist_low_fg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1467 $str .= weechat::color($bg).
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1468 weechat::color($color).
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1469 $hotlist{$bufpointer."_count_00"} if ($hotlist{$bufpointer."_count_00"} ne "0");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1470 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1471
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1472 # 1 = message
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1473 if (defined $hotlist{$bufpointer."_count_01"})
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1474 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1475 my $bg = weechat::config_color( $options{"color_hotlist_message_bg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1476 my $color = weechat::config_color( $options{"color_hotlist_message_fg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1477 if ($str =~ /[0-9]$/)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1478 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1479 $str .= ",".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1480 weechat::color($bg).
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1481 weechat::color($color).
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1482 $hotlist{$bufpointer."_count_01"} if ($hotlist{$bufpointer."_count_01"} ne "0");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1483 }else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1484 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1485 $str .= weechat::color($bg).
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1486 weechat::color($color).
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1487 $hotlist{$bufpointer."_count_01"} if ($hotlist{$bufpointer."_count_01"} ne "0");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1488 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1489 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1490 # 2 = private
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1491 if (defined $hotlist{$bufpointer."_count_02"})
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1492 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1493 my $bg = weechat::config_color( $options{"color_hotlist_private_bg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1494 my $color = weechat::config_color( $options{"color_hotlist_private_fg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1495 if ($str =~ /[0-9]$/)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1496 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1497 $str .= ",".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1498 weechat::color($bg).
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1499 weechat::color($color).
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1500 $hotlist{$bufpointer."_count_02"} if ($hotlist{$bufpointer."_count_02"} ne "0");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1501 }else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1502 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1503 $str .= weechat::color($bg).
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1504 weechat::color($color).
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1505 $hotlist{$bufpointer."_count_02"} if ($hotlist{$bufpointer."_count_02"} ne "0");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1506 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1507 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1508 # 3 = highlight
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1509 if (defined $hotlist{$bufpointer."_count_03"})
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1510 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1511 my $bg = weechat::config_color( $options{"color_hotlist_highlight_bg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1512 my $color = weechat::config_color( $options{"color_hotlist_highlight_fg"} );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1513 if ($str =~ /[0-9]$/)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1514 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1515 $str .= ",".
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1516 weechat::color($bg).
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1517 weechat::color($color).
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1518 $hotlist{$bufpointer."_count_03"} if ($hotlist{$bufpointer."_count_03"} ne "0");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1519 }else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1520 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1521 $str .= weechat::color($bg).
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1522 weechat::color($color).
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1523 $hotlist{$bufpointer."_count_03"} if ($hotlist{$bufpointer."_count_03"} ne "0");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1524 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1525 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1526 $str .= $col_number_char. ")";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1527
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1528 $str = "" if (weechat::string_remove_color($str, "") eq " ()"); # remove color and check for buffer with no messages
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1529 return $str;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1530 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1531
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1532 sub buffers_signal_buffer
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1533 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1534 my ($data, $signal, $signal_data) = @_;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1535
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1536 # check for buffer_switch and set or remove detach time
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1537 if ($weechat_version >= 0x00030800)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1538 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1539 if ($signal eq "buffer_switch")
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1540 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1541 my $pointer = weechat::hdata_get_list (weechat::hdata_get("buffer"), "gui_buffer_last_displayed"); # get switched buffer
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1542 my $current_time = time();
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1543 if ( weechat::buffer_get_string($pointer, "localvar_type") eq "channel")
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1544 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1545 $buffers_timer{$pointer} = $current_time;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1546 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1547 else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1548 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1549 delete $buffers_timer{$pointer};
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1550 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1551 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1552 if ($signal eq "buffer_opened")
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1553 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1554 my $current_time = time();
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1555 $buffers_timer{$signal_data} = $current_time;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1556 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1557 if ($signal eq "buffer_closing")
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1558 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1559 delete $buffers_timer{$signal_data};
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1560 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1561 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1562 weechat::bar_item_update($SCRIPT_NAME);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1563 return weechat::WEECHAT_RC_OK;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1564 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1565
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1566 sub buffers_signal_hotlist
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1567 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1568 weechat::bar_item_update($SCRIPT_NAME);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1569 return weechat::WEECHAT_RC_OK;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1570 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1571
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1572
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1573 sub buffers_signal_config_whitelist
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1574 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1575 @whitelist_buffers = ();
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1576 @whitelist_buffers = split( /,/, weechat::config_string( $options{"look_whitelist_buffers"} ) );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1577 weechat::bar_item_update($SCRIPT_NAME);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1578 return weechat::WEECHAT_RC_OK;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1579 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1580
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1581 sub buffers_signal_config_immune_detach_buffers
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1582 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1583 @immune_detach_buffers = ();
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1584 @immune_detach_buffers = split( /,/, weechat::config_string( $options{"immune_detach_buffers"} ) );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1585 weechat::bar_item_update($SCRIPT_NAME);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1586 return weechat::WEECHAT_RC_OK;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1587 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1588
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1589 sub buffers_signal_config_detach_buffer_immediately
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1590 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1591 @detach_buffer_immediately = ();
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1592 @detach_buffer_immediately = split( /,/, weechat::config_string( $options{"detach_buffer_immediately"} ) );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1593 weechat::bar_item_update($SCRIPT_NAME);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1594 return weechat::WEECHAT_RC_OK;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1595 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1596
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1597 sub buffers_signal_config
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1598 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1599 weechat::bar_item_update($SCRIPT_NAME);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1600 return weechat::WEECHAT_RC_OK;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1601 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1602
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1603 # called when mouse click occured in buffers item: this callback returns buffer
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1604 # hash according to line of item where click occured
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1605 sub buffers_focus_buffers
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1606 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1607 my %info = %{$_[1]};
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1608 my $item_line = int($info{"_bar_item_line"});
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1609 undef my $hash;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1610 if (($info{"_bar_item_name"} eq $SCRIPT_NAME) && ($item_line >= 0) && ($item_line <= $#buffers_focus))
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1611 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1612 $hash = $buffers_focus[$item_line];
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1613 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1614 else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1615 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1616 $hash = {};
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1617 my $hash_focus = $buffers_focus[0];
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1618 foreach my $key (keys %$hash_focus)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1619 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1620 $hash->{$key} = "?";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1621 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1622 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1623 return $hash;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1624 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1625
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1626 # called when a mouse action is done on buffers item, to execute action
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1627 # possible actions: jump to a buffer or move buffer in list (drag & drop of buffer)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1628 sub buffers_hsignal_mouse
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1629 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1630 my ($data, $signal, %hash) = ($_[0], $_[1], %{$_[2]});
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1631 my $current_buffer = weechat::buffer_get_integer(weechat::current_buffer(), "number"); # get current buffer number
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1632
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1633 if ( $hash{"_key"} eq "button1" )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1634 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1635 # left mouse button
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1636 if ($hash{"number"} eq $hash{"number2"})
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1637 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1638 if ( weechat::config_boolean($options{"jump_prev_next_visited_buffer"}) )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1639 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1640 if ( $current_buffer eq $hash{"number"} )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1641 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1642 weechat::command("", "/input jump_previously_visited_buffer");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1643 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1644 else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1645 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1646 weechat::command("", "/buffer ".$hash{"full_name"});
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1647 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1648 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1649 else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1650 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1651 weechat::command("", "/buffer ".$hash{"full_name"});
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1652 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1653 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1654 else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1655 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1656 move_buffer(%hash) if (weechat::config_boolean($options{"mouse_move_buffer"}));
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1657 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1658 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1659 elsif ( ($hash{"_key"} eq "button2") && (weechat::config_boolean($options{"jump_prev_next_visited_buffer"})) )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1660 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1661 # right mouse button
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1662 if ( $current_buffer eq $hash{"number2"} )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1663 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1664 weechat::command("", "/input jump_next_visited_buffer");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1665 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1666 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1667 elsif ( $hash{"_key"} =~ /wheelup$/ )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1668 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1669 # wheel up
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1670 if (weechat::config_boolean($options{"mouse_wheel"}))
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1671 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1672 weechat::command("", "/buffer -1");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1673 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1674 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1675 elsif ( $hash{"_key"} =~ /wheeldown$/ )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1676 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1677 # wheel down
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1678 if (weechat::config_boolean($options{"mouse_wheel"}))
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1679 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1680 weechat::command("", "/buffer +1");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1681 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1682 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1683 else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1684 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1685 my $infolist = weechat::infolist_get("hook", "", "command,menu");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1686 my $has_menu_command = weechat::infolist_next($infolist);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1687 weechat::infolist_free($infolist);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1688
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1689 if ( $has_menu_command && $hash{"_key"} =~ /button2/ )
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1690 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1691 if ($hash{"number"} eq $hash{"number2"})
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1692 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1693 weechat::command($hash{"pointer"}, "/menu buffer1 $hash{short_name} $hash{number}");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1694 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1695 else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1696 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1697 weechat::command($hash{"pointer"}, "/menu buffer2 $hash{short_name}/$hash{short_name2} $hash{number} $hash{number2}")
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1698 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1699 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1700 else
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1701 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1702 move_buffer(%hash) if (weechat::config_boolean($options{"mouse_move_buffer"}));
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1703 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1704 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1705 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1706
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1707 sub move_buffer
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1708 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1709 my %hash = @_;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1710 my $number2 = $hash{"number2"};
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1711 if ($number2 eq "?")
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1712 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1713 # if number 2 is not known (end of gesture outside buffers list), then set it
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1714 # according to mouse gesture
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1715 $number2 = "1";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1716 if (($hash{"_key"} =~ /gesture-right/) || ($hash{"_key"} =~ /gesture-down/))
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1717 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1718 $number2 = "999999";
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1719 if ($weechat_version >= 0x00030600)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1720 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1721 my $hdata_buffer = weechat::hdata_get("buffer");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1722 my $last_gui_buffer = weechat::hdata_get_list($hdata_buffer, "last_gui_buffer");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1723 if ($last_gui_buffer)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1724 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1725 $number2 = weechat::hdata_integer($hdata_buffer, $last_gui_buffer, "number") + 1;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1726 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1727 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1728 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1729 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1730 my $ptrbuf = weechat::current_buffer();
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1731 weechat::command($hash{"pointer"}, "/buffer move ".$number2);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1732 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1733
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1734 sub check_immune_detached_buffers
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1735 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1736 my ($buffername) = @_;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1737 foreach ( @immune_detach_buffers ){
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1738 my $immune_buffer = weechat::string_mask_to_regex($_);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1739 if ($buffername =~ /^$immune_buffer$/i)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1740 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1741 return 1;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1742 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1743 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1744 return 0;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1745 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1746
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1747 sub check_detach_buffer_immediately
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1748 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1749 my ($buffername) = @_;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1750 foreach ( @detach_buffer_immediately ){
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1751 my $detach_buffer = weechat::string_mask_to_regex($_);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1752 if ($buffername =~ /^$detach_buffer$/i)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1753 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1754 return 1;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1755 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1756 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1757 return 0;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1758 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1759
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1760 sub shutdown_cb
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1761 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1762 weechat::command("", "/bar hide " . $SCRIPT_NAME) if ( weechat::config_boolean($options{"toggle_bar"}) eq 1 );
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1763 return weechat::WEECHAT_RC_OK
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1764 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1765
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1766 sub check_bar_item
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1767 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1768 my $item = 0;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1769 my $infolist = weechat::infolist_get("bar", "", "");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1770 while (weechat::infolist_next($infolist))
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1771 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1772 my $bar_items = weechat::infolist_string($infolist, "items");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1773 if (index($bar_items, $SCRIPT_NAME) != -1)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1774 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1775 my $name = weechat::infolist_string($infolist, "name");
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1776 if ($name ne $SCRIPT_NAME)
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1777 {
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1778 $item = 1;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1779 last;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1780 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1781 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1782 }
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1783 weechat::infolist_free($infolist);
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1784 return $item;
1bb19c7b3298 Replace irssi with weechat
zegervdv <zegervdv@me.com>
parents:
diff changeset
1785 }