diff options
Diffstat (limited to 'alot')
-rw-r--r-- | alot/defaults/alot.rc.spec | 3 | ||||
-rw-r--r-- | alot/ui.py | 11 |
2 files changed, 13 insertions, 1 deletions
diff --git a/alot/defaults/alot.rc.spec b/alot/defaults/alot.rc.spec index d2ee450f..cd72b39c 100644 --- a/alot/defaults/alot.rc.spec +++ b/alot/defaults/alot.rc.spec @@ -248,6 +248,9 @@ reply_account_header_priority = force_list(default=list(From,To,Cc,Envelope-To,X # history file might get *very* long. history_size = integer(default=50) +# The number of seconds to wait between calls to the loop_hook +periodic_hook_frequency = integer(default=300) + # Key bindings [bindings] __many__ = string(default=None) @@ -7,7 +7,7 @@ import logging import os import signal -from twisted.internet import reactor, defer +from twisted.internet import reactor, defer, task import urwid from .settings import settings @@ -103,6 +103,15 @@ class UI(object): unhandled_input=self._unhandled_input, input_filter=self._input_filter) + # Create a defered that calls the loop_hook + loop_hook = settings.get_hook('loop_hook') + if loop_hook: + loop = task.LoopingCall(loop_hook, ui=self) + loop_defered = loop.start(settings.get('periodic_hook_frequency')) + loop_defered.addErrback( + lambda e: logging.error('error in loop hook %s', + e.getErrorMessage())) + # set up colours colourmode = int(settings.get('colourmode')) logging.info('setup gui in %d colours', colourmode) |