diff options
author | William Erik Baxter <web@superscript.com> | 2012-11-22 16:19:30 -0500 |
---|---|---|
committer | Patrick Totzke <patricktotzke@gmail.com> | 2013-02-19 10:06:28 +0000 |
commit | ec63e9b899af1361e0da48d9031f77eccb87d3ea (patch) | |
tree | f35980b96bd3fed30620f4e7cd46c7a9c7d3f0ab /alot/ui.py | |
parent | c765ebd6041a845a800cc9fd30705102ae2d040f (diff) |
Implement move commands in globals.py. Add --redraw for bclose.
Diffstat (limited to 'alot/ui.py')
-rw-r--r-- | alot/ui.py | 19 |
1 files changed, 7 insertions, 12 deletions
@@ -130,12 +130,7 @@ class UI(object): clear() logging.debug("cmdline: '%s'" % cmdline) # move keys are always passed - if cmdline.startswith('move '): - movecmd = cmdline[5:].rstrip() - logging.debug("GOT MOVE: '%s'" % movecmd) - if movecmd in ['up', 'down', 'page up', 'page down']: - return [movecmd] - elif not self._locked: + if cmdline.startswith('move ') or not self._locked: try: self.apply_commandline(cmdline) except CommandParseError, e: @@ -275,7 +270,7 @@ class UI(object): self.buffers.append(buf) self.buffer_focus(buf) - def buffer_close(self, buf): + def buffer_close(self, buf, redraw=True): """ closes given :class:`~alot.buffers.Buffer`. @@ -292,7 +287,7 @@ class UI(object): buffers.remove(buf) offset = settings.get('bufferclose_focus_offset') nextbuffer = buffers[(index + offset) % len(buffers)] - self.buffer_focus(nextbuffer) + self.buffer_focus(nextbuffer, redraw) buf.cleanup() else: string = 'closing buffer %d:%s' @@ -300,7 +295,7 @@ class UI(object): buffers.remove(buf) buf.cleanup() - def buffer_focus(self, buf): + def buffer_focus(self, buf, redraw=True): """focus given :class:`~alot.buffers.Buffer`.""" if buf not in self.buffers: logging.error('tried to focus unknown buffer') @@ -310,7 +305,7 @@ class UI(object): self.mode = buf.modename if isinstance(self.current_buffer, BufferlistBuffer): self.current_buffer.rebuild() - self.update() + self.update(redraw) def get_deep_focus(self, startfrom=None): """return the bottom most focussed widget of the widget tree""" @@ -465,7 +460,7 @@ class UI(object): self.mainloop.set_alarm_in(timeout, clear) return msgs[0] - def update(self): + def update(self, redraw=True): """redraw interface""" # get the main urwid.Frame widget mainframe = self.root_widget.original_widget @@ -486,7 +481,7 @@ class UI(object): else: mainframe.set_footer(None) # force a screen redraw - if self.mainloop.screen.started: + if self.mainloop.screen.started and redraw: self.mainloop.draw_screen() def build_statusbar(self): |