def make_func(bindings): parsed_bindings = {} for k, v in bindings.iteritems(): parsed_bindings[parse_buttonstroke(k)] = v def r(e): try: func = parsed_bindings[(e.state, e.detail)] except KeyError: return if type(func) == str: self.plugin.app.plugins['actions'].emit(func, { 'screen': screen, 'x': e.event_x, 'y': e.event_y, 'client': self.client, }) else: func() return r
def on_load_config(self, config): for stroke, action in config.get('clientbuttons.bindings', {}).iteritems(): buttonstroke = parse_buttonstroke(stroke) self.bindings[buttonstroke] = action
def on_load_config(self, config): for stroke, action in config.get('cairodeco.bindings', {}).iteritems(): self.bindings[parse_buttonstroke(stroke)] = action