summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--alot/__main__.py3
-rw-r--r--alot/ui.py12
2 files changed, 10 insertions, 5 deletions
diff --git a/alot/__main__.py b/alot/__main__.py
index 221e6b22..9899bf36 100644
--- a/alot/__main__.py
+++ b/alot/__main__.py
@@ -6,6 +6,9 @@ import logging
import os
import sys
+from twisted.internet import asyncioreactor
+asyncioreactor.install()
+
import alot
from alot.settings.const import settings
from alot.settings.errors import ConfigError
diff --git a/alot/ui.py b/alot/ui.py
index b7490d03..f4b0dc3a 100644
--- a/alot/ui.py
+++ b/alot/ui.py
@@ -6,8 +6,9 @@ import os
import signal
import codecs
import contextlib
+import asyncio
-from twisted.internet import reactor, defer, task
+from twisted.internet import defer, task
import urwid
from .settings.const import settings
@@ -105,7 +106,7 @@ class UI(object):
self.mainloop = urwid.MainLoop(
self.root_widget,
handle_mouse=settings.get('handle_mouse'),
- event_loop=urwid.TwistedEventLoop(),
+ event_loop=urwid.AsyncioEventLoop(),
unhandled_input=self._unhandled_input,
input_filter=self._input_filter)
@@ -359,10 +360,11 @@ class UI(object):
"""
exit_msg = None
try:
- reactor.stop()
+ loop = asyncio.get_event_loop()
+ loop.stop()
except Exception as e:
- exit_msg = 'Could not stop reactor: {}.'.format(e)
- logging.error('%s\nShutting down anyway..', exit_msg)
+ logging.error('Could not stop loop: %s\nShutting down anyway..',
+ str(e))
@contextlib.contextmanager
def paused(self):