# -*- coding: utf-8 -*- # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # import weechat as w SCRIPT_NAME = "buffer_bind" SCRIPT_AUTHOR = "Trevor 'tee' Slocum " SCRIPT_VERSION = "1.0" SCRIPT_LICENSE = "GPL3" SCRIPT_DESC = "Bind meta- to the current buffer" SCRIPT_NOTE = """Case sensitivity is controlled via plugins.var.python.%s.case_sensitive (default: off) %s is a port of irssi's window_alias written by veli@piipiip.net""" % (SCRIPT_NAME, SCRIPT_NAME) SETTINGS = { "case_sensitive": "off" } def command_buffer_bind(data, buffer, args): if len(args) == 1 and args[0] != "": bindkey = args[0] buffername = w.buffer_get_string(buffer, "name") bind_keys = [bindkey] if w.config_get_plugin("case_sensitive") == "off" and bindkey.isalpha(): bind_keys.append(bindkey.swapcase()) for bind_keys_i in bind_keys: w.command(buffer, "/key bind meta-%s /buffer %s" % (bind_keys_i, buffername)) w.prnt(buffer, "Buffer %s is now accessible with meta-%s" % (buffername, bindkey)) else: w.command(buffer, "/help %s" % SCRIPT_NAME) return w.WEECHAT_RC_OK_EAT if w.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION, SCRIPT_LICENSE, SCRIPT_DESC, "", ""): for option, value in SETTINGS.items(): if not w.config_is_set_plugin(option): w.config_set_plugin(option, value) w.hook_command(SCRIPT_NAME, SCRIPT_DESC, "", SCRIPT_NOTE, "key", "command_buffer_bind", "")