本文整理汇总了Python中weechat.window_get_pointer函数的典型用法代码示例。如果您正苦于以下问题:Python window_get_pointer函数的具体用法?Python window_get_pointer怎么用?Python window_get_pointer使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了window_get_pointer函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: show_spell_suggestion_item_cb
def show_spell_suggestion_item_cb (data, item, window):
buffer = weechat.window_get_pointer(window,"buffer")
if buffer == '':
return ''
if OPTIONS['replace_mode'].lower() == "on":
if not weechat.buffer_get_string(buffer,'localvar_inline_suggestions'):
return ''
tab_complete,position,aspell_suggest_items = weechat.buffer_get_string(buffer,'localvar_inline_suggestions').split(':',2)
return aspell_suggest_items
tab_complete,position,aspell_suggest_item = get_position_and_suggest_item(buffer)
localvar_aspell_suggest = get_localvar_aspell_suggest(buffer)
# localvar_aspell_suggest = word,word2/wort,wort2
if localvar_aspell_suggest:
misspelled_word,aspell_suggestions = localvar_aspell_suggest.split(':')
aspell_suggestions_orig = aspell_suggestions
aspell_suggestions = aspell_suggestions.replace('/',',')
aspell_suggestion_list = aspell_suggestions.split(',')
if not position:
return ''
if int(position) < len(aspell_suggestion_list):
reset_color = weechat.color('reset')
color = weechat.color("red")
new_word = aspell_suggestion_list[int(position)].replace(aspell_suggestion_list[int(position)],'%s%s%s' % (color, aspell_suggestion_list[int(position)], reset_color))
else:
return ''
return aspell_suggestions_orig
示例2: show_item
def show_item(data, item, window):
bufpointer = weechat.window_get_pointer(window, "buffer")
if bufpointer == "":
return ""
if weechat.buffer_get_string(bufpointer, "name") != "weechat": # not weechat core buffer
if weechat.buffer_get_string(bufpointer, "localvar_type") == "": # buffer with free content?
return ""
lines_after, lines_count, percent, current_line = count_lines(window, bufpointer)
if lines_count == 0: # buffer empty?
return ""
tags = {"%C": str(current_line), "%A": str(lines_after), "%L": str(lines_count), "%P": str(percent) + "%"}
bufsize_item = substitute_colors(OPTIONS["format"])
# replace mandatory tags
for tag in list(tags.keys()):
# for tag in tags.keys():
bufsize_item = bufsize_item.replace(tag, tags[tag])
# replace optional tags
# %{…} only if lines after (e.g. %A > 0)
if lines_after > 0:
for regex_tag in regex_optional_tags.findall(bufsize_item):
bufsize_item = bufsize_item.replace(regex_tag, regex_tag.lstrip("%{").rstrip("}"))
else:
bufsize_item = regex_optional_tags.sub("", bufsize_item)
return bufsize_item
示例3: check_buffer_type
def check_buffer_type(window, data, value):
bufpointer = weechat.window_get_pointer(window,"buffer")
if bufpointer == "":
return ""
value = value.split(' ', 1)
if len(value) <= 1:
return ""
# format is : buffer_type (channel,server,private,all) | signal (e.g: buffer_switch)
channel_type_and_signal = value[0]
if channel_type_and_signal.find('|') >= 0:
channel_type = channel_type_and_signal[0:channel_type_and_signal.find("|")]
signal_type = channel_type_and_signal[channel_type_and_signal.find("|")+1:]
unhook(data)
add_hook(signal_type, data)
else:
channel_type = value[0]
value = value[1]
if channel_type == 'all' or weechat.buffer_get_string(bufpointer,'localvar_type') == channel_type:
return value
if channel_type == '!all':
a = ["channel","server","private"]
if weechat.buffer_get_string(bufpointer,'localvar_type') in a:
return value
return ""
示例4: show_spell_suggestion_item_cb
def show_spell_suggestion_item_cb(data, item, window):
buffer = weechat.window_get_pointer(window, "buffer")
if buffer == "":
return ""
tab_complete, position, aspell_suggest_item = get_position_and_suggest_item(buffer)
localvar_aspell_suggest = get_localvar_aspell_suggest(buffer)
# localvar_aspell_suggest = word,word2/wort,wort2
if localvar_aspell_suggest:
misspelled_word, aspell_suggestions = localvar_aspell_suggest.split(":")
aspell_suggestions_orig = aspell_suggestions
aspell_suggestions = aspell_suggestions.replace("/", ",")
aspell_suggestion_list = aspell_suggestions.split(",")
if not position:
return ""
if int(position) < len(aspell_suggestion_list):
reset_color = weechat.color("reset")
color = weechat.color("red")
new_word = aspell_suggestion_list[int(position)].replace(
aspell_suggestion_list[int(position)],
"%s%s%s" % (color, aspell_suggestion_list[int(position)], reset_color),
)
# weechat.prnt("",new_word)
else:
return ""
return aspell_suggestions_orig
示例5: buffer_switch_cb
def buffer_switch_cb(data, buffer, command):
if command == '':
return weechat.WEECHAT_RC_OK
args = command.strip().split(' ',)[1:]
if len(args) != 1:
return weechat.WEECHAT_RC_OK
destination_buffer = get_destination_buffer_number(args[0])
if not destination_buffer:
return weechat.WEECHAT_RC_OK
if destination_buffer < 1:
destination_buffer = 1
buffer_name, ptr_buffer = infolist_get_buffer_name_and_ptr(destination_buffer)
if not ptr_buffer:
return weechat.WEECHAT_RC_OK
if ptr_buffer == weechat.window_get_pointer(weechat.current_window(), 'buffer'):
return weechat.WEECHAT_RC_OK
window_number = weechat.buffer_get_string(ptr_buffer, 'localvar_stick_buffer_to_window')
if not window_number:
window_number = get_default_stick_window_number()
if window_number:
weechat.command('', '/window %s' % window_number)
return weechat.WEECHAT_RC_OK
示例6: substitute_colors
def substitute_colors(text,window):
if int(version) >= 0x00040200:
bufpointer = weechat.window_get_pointer(window,"buffer")
return weechat.string_eval_expression(text, {"buffer": bufpointer}, {}, {})
# return weechat.string_eval_expression(text,{},{},{})
# substitute colors in output
return re.sub(regex_color, lambda match: weechat.color(match.group(1)), text)
示例7: buffer_switch_cb
def buffer_switch_cb(data, signal, signal_data):
global OPTIONS, version
# when you /join a buffer and irc.look.buffer_switch_join is ON, the new buffer pointer is not useable at this time
server = weechat.buffer_get_string(signal_data, 'localvar_server') # get internal servername
buffer_ptr = weechat.buffer_search('irc', 'server.%s' % server)
if OPTIONS['activity'].lower() == 'no' or OPTIONS['activity'].lower() == 'off' or OPTIONS['activity'].lower() == '0':
# hide all channel but use -exclude
weechat.command('','/allchan -exclude=%s /buffer hide' % OPTIONS['channel_exclude'])
if server == 'irc_raw': # buffer is /server raw
weechat.command('','/allchan /buffer unhide')
weechat.command('','/allchan -exclude=%s /buffer hide' % OPTIONS['channel_exclude'])
elif server != '': # a buffer with server
weechat.command(buffer_ptr,'/allchan -current /buffer unhide') # use buffer pointer from server
exclude_server('')
single_channel_exclude()
else:
if int(version) <= 0x02040000: # workaround
weechat.command(signal_data,'/allchan -current /buffer hide')
bufpointer = weechat.window_get_pointer(weechat.current_window(), 'buffer') # get current channel pointer
weechat.command('','/allchan /buffer hide')
weechat.command(bufpointer,'/buffer unhide') # unhide current channel
exclude_hotlist()
return weechat.WEECHAT_RC_OK
示例8: buffer_switch_cb
def buffer_switch_cb(data, signal, signal_data):
global highlights
if w.config_get_plugin('clear_visited_buffers') == 'on':
buffer = w.window_get_pointer(w.current_window(), 'buffer')
write(w.config_get_plugin('output_active_buffer'), bufname(buffer))
highlights = [ item for item in highlights if item['buffer'] != buffer ]
write_file()
return w.WEECHAT_RC_OK
示例9: show_item_cb
def show_item_cb (data, item, window):
buffer = weechat.window_get_pointer(window,"buffer")
if buffer == '':
return ''
tab_complete,position,aspell_suggest_item = get_position_and_suggest_item(buffer)
if not position or not aspell_suggest_item:
return ''
# config_spell_suggest_item = weechat.config_get_plugin('suggest_item')
# if config_spell_suggest_item:
# show_item = config_spell_suggest_item.replace('%S',aspell_suggest_item)
# show_item = substitute_colors(show_item)
# return '%s' % (show_item)
# else:
# return aspell_suggest_item
# get spell dict
localvar_aspell_suggest = get_localvar_aspell_suggest(buffer)
dicts_found = localvar_aspell_suggest.count("/")
config_spell_suggest_item = weechat.config_get_plugin('suggest_item')
if dicts_found:
# aspell.dict.full_name = en_GB,de_DE-neu
# localvar_dict = en_GB,de_DE-neu
dictionary = get_aspell_dict_for(buffer)
if not dictionary:
return aspell_suggest_item
dictionary_list = dictionary.split(',')
# more then one dict?
if len(dictionary_list) > 1:
undef,aspell_suggestions = localvar_aspell_suggest.split(':')
dictionary = aspell_suggestions.split('/')
words = 0
i = -1
for a in dictionary:
i += 1
words += a.count(',')+1
if words > int(position):
break
if config_spell_suggest_item:
show_item = config_spell_suggest_item.replace('%S',aspell_suggest_item)
show_item = show_item.replace('%D',dictionary_list[i])
show_item = substitute_colors(show_item)
return '%s' % (show_item)
else:
return aspell_suggest_item
else:
if config_spell_suggest_item:
show_item = config_spell_suggest_item.replace('%S',aspell_suggest_item)
if weechat.config_get_plugin('hide_single_dict').lower() == 'off':
show_item = show_item.replace('%D',get_aspell_dict_for(buffer))
else:
show_item = show_item.replace('%D','').rstrip()
show_item = substitute_colors(show_item)
return '%s' % (show_item)
return aspell_suggest_item
示例10: bar_item_cb
def bar_item_cb (data, item, window):
# check for root input bar!
if not window:
window = weechat.current_window()
# get current buffer (for example for split windows!)
ptr_buffer = weechat.window_get_pointer(window,"buffer")
if ptr_buffer == '':
return ''
示例11: encryption_statusbar
def encryption_statusbar(data, item, window):
if window:
buf = weechat.window_get_pointer(window, 'buffer')
else:
buf = weechat.current_buffer()
if os.path.exists(weechat_dir + key_dir + "/cryptkey." + weechat.buffer_get_string(buf, "short_name")):
return weechat.config_get_plugin("statusbar_indicator")
else:
return ""
示例12: nick_colors_cmd_cb
def nick_colors_cmd_cb(data, buffer, args):
global colored_nicks
if args == "": # no args given. quit
print_usage(buffer)
return weechat.WEECHAT_RC_OK
argv = args.strip().split(" ")
if (len(argv) == 0) or (len(argv) >= 4): # maximum of 3 args!!
print_usage(buffer)
return weechat.WEECHAT_RC_OK
bufpointer = weechat.window_get_pointer(buffer,'buffer') # current buffer
create_list()
if argv[0].lower() == 'list': # list all nicks
if len(colored_nicks) == 0:
weechat.prnt(buffer,'%sno nicks in \"irc.look.nick_color_force\"...' % weechat.prefix("error"))
elif len(argv) == 2:
if argv[1] in colored_nicks:
color = colored_nicks[argv[1]] # get color from given nick
weechat.prnt(buffer,"%s%s: %s" % (weechat.color(color),argv[1],color))
else:
weechat.prnt(buffer,"no color set for: %s" % (argv[1]))
else:
weechat.prnt(buffer,"List of nicks in : nick_color_force")
# for nick,color in colored_nicks.items():
for nick,color in list(colored_nicks.items()):
weechat.prnt(buffer,"%s%s: %s" % (weechat.color(color),nick,color))
elif (argv[0].lower() == 'add') and (len(argv) == 3):
if argv[1] in colored_nicks:
weechat.prnt(buffer, "Changing nick '%s' to color %s%s" % (
argv[1], weechat.color(argv[2]), argv[2]))
else:
weechat.prnt(buffer, "Adding nick '%s' with color %s%s" % (
argv[1], weechat.color(argv[2]), argv[2]))
colored_nicks[argv[1]] = argv[2]
save_new_force_nicks()
elif (argv[0].lower() == 'del') and (len(argv) == 2):
if argv[1] in colored_nicks: # search if nick exists
del colored_nicks[argv[1]]
save_new_force_nicks()
weechat.prnt(buffer, "Removed nick '%s'" % argv[1])
else:
weechat.prnt(buffer, "Nick '%s' not found in nick_color_force" % argv[1])
else:
print_usage(buffer)
return weechat.WEECHAT_RC_OK
示例13: statusbar_cb
def statusbar_cb(data, item, window):
if window:
buf = weechat.window_get_pointer(window, 'buffer')
else:
buf = weechat.get_current_buffer()
server, channel = get_buffer_info(buf)
dict_key = u'{0}.{1}'.format(server, channel)
if dict_key in channel_data:
return "ENC"
return ""
示例14: unfocused_bar_item
def unfocused_bar_item (data, item, window):
'''Item constructor'''
# window empty? root bar!
if not window:
window = w.current_window()
ptr_buffer = w.window_get_pointer(window, "buffer")
if ptr_buffer == "" or ptr_buffer == w.current_buffer():
return ""
length = w.window_get_integer(window, 'win_width') - w.buffer_get_integer(ptr_buffer, 'input_length')
s = length * inputtape_char
return s
示例15: my_print_cb
def my_print_cb(data, buffer, date, tags, displayed, highlight, prefix, message):
global highlights
if w.config_get_plugin('clear_visited_buffers') == 'on':
if buffer == w.window_get_pointer(w.current_window(), 'buffer'):
return w.WEECHAT_RC_OK
if highlight == "1":
infos = {'buffer' : buffer,
'date' : date,
'tags' : str.split(tags, ','),
'nick' : prefix,
'message' : message,
}
highlights.append(infos)
write_file()
return w.WEECHAT_RC_OK