Skip to content

Commit 3bd5eda

Browse files
committed
colorize_nicks.py 31: use info "irc_nick_color" on IRC buffers with WeeChat >= 4.1.0
1 parent e331e7c commit 3bd5eda

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

python/colorize_nicks.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
#
2222
#
2323
# History:
24+
# 2023-10-16: Sébastien Helleu <[email protected]>
25+
# version 31: use info "irc_nick_color" on IRC buffers with WeeChat >= 4.1.0
2426
# 2022-11-07: mva
2527
# version 30: add ":" and "," to VALID_NICK regexp,
2628
# to don't reset colorization in input_line
@@ -96,7 +98,7 @@
9698

9799
SCRIPT_NAME = "colorize_nicks"
98100
SCRIPT_AUTHOR = "xt <[email protected]>"
99-
SCRIPT_VERSION = "30"
101+
SCRIPT_VERSION = "31"
100102
SCRIPT_LICENSE = "GPL"
101103
SCRIPT_DESC = "Use the weechat nick colors in the chat area"
102104

@@ -171,12 +173,17 @@ def colorize_config_read():
171173
global colorize_config_file
172174
return weechat.config_read(colorize_config_file)
173175

174-
def colorize_nick_color(nick, my_nick):
176+
def colorize_nick_color(buffer, nick, my_nick):
175177
''' Retrieve nick color from weechat. '''
176178
if nick == my_nick:
177179
return w.color(w.config_string(w.config_get('weechat.color.chat_nick_self')))
178180
else:
179-
return w.info_get('nick_color', nick)
181+
if w.buffer_get_string(buffer, 'plugin') == 'irc' \
182+
and int(w.info_get('version_number', '') or 0) >= 0x4010000:
183+
server = w.buffer_get_string(buffer, 'localvar_server')
184+
return w.info_get('irc_nick_color', '%s,%s' % (server, nick))
185+
else:
186+
return w.info_get('nick_color', nick)
180187

181188
def colorize_cb(data, modifier, modifier_data, line):
182189
''' Callback that does the colorizing, and returns new line if changed '''
@@ -343,7 +350,7 @@ def populate_nicks(*args):
343350
continue
344351

345352
nick = w.infolist_string(nicklist, 'name')
346-
nick_color = colorize_nick_color(nick, my_nick)
353+
nick_color = colorize_nick_color(buffer_ptr, nick, my_nick)
347354

348355
colored_nicks[buffer_ptr][nick] = nick_color
349356

@@ -365,7 +372,7 @@ def add_nick(data, signal, type_data):
365372
colored_nicks[pointer] = {}
366373

367374
my_nick = w.buffer_get_string(pointer, 'localvar_nick')
368-
nick_color = colorize_nick_color(nick, my_nick)
375+
nick_color = colorize_nick_color(pointer, nick, my_nick)
369376

370377
colored_nicks[pointer][nick] = nick_color
371378

0 commit comments

Comments
 (0)