[tor-commits] [nyx/master] Don't clear screen in main draw loop

atagar at torproject.org atagar at torproject.org
Sat Aug 19 18:47:24 UTC 2017

commit 737c26c2fbc8bcfbb21c02db17a87dd082552ba9
Author: Damian Johnson <atagar at torproject.org>
Date:   Sat Aug 19 04:43:13 2017 -0700

    Don't clear screen in main draw loop
    To avoid screen hiccups from persisting we cleared the screen on every
    This seemed fine on my laptop since I wasn't running a real relay, but under
    actual load it causes nyx to flicker annoyingly every few seconds. This was a
    hack in case of anomalies. Cure was worse than the disease.
    We might need to revisit this (... again), but for now this makes the
    experience of running nyx on my relay much nicer.
 nyx/__init__.py | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/nyx/__init__.py b/nyx/__init__.py
index bb1d074..5cd4a22 100644
--- a/nyx/__init__.py
+++ b/nyx/__init__.py
@@ -432,23 +432,15 @@ class Interface(object):
       for panel in self.page_panels():
-  def redraw(self, force = True):
+  def redraw(self):
     Renders our displayed content.
-    :param bool force: if **False** only redraws content if resized
-    # Curses may overly cache content without clearing here...
-    # https://trac.torproject.org/projects/tor/ticket/2830#comment:9
-    if force:
-      nyx.curses.clear()
     occupied = 0
     for panel in self.page_panels():
-      panel.redraw(force = force, top = occupied)
+      panel.redraw(force = False, top = occupied)
       occupied += panel.get_height()
   def quit(self):

More information about the tor-commits mailing list