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