import buffer class MiniBufferError(Exception): pass # minibuffer is a singleton mini = None class MiniBuffer(buffer.Buffer): btype = 'mini' def __new__(cls, *args, **kwargs): global mini if mini is None: mini = object.__new__(MiniBuffer, *args, **kwargs) return mini # the callback function should take one argument (window) def __init__(self, func, method=None, tabber=None, modename=None): buffer.Buffer.__init__(self) self.callback = func self.method = method self.tabber = tabber self.modename = modename def name(self): return "*Minibuffer*" def do_callback(self): self.callback(self.make_string()) def close(self): global mini mini = None