[tor-commits] [nyx/master] Event selection dialog loads events dynamically
atagar at torproject.org
atagar at torproject.org
Sun May 15 05:37:21 UTC 2016
commit 6510514f5c3b15d663d71570c06e032eba28dea0
Author: Sambuddha Basu <sambuddhabasu1 at gmail.com>
Date: Fri May 6 21:51:46 2016 +0400
Event selection dialog loads events dynamically
---
nyx/panel/log.py | 4 ++++
nyx/popups.py | 13 +++++++++++++
2 files changed, 17 insertions(+)
diff --git a/nyx/panel/log.py b/nyx/panel/log.py
index 278c633..f6c8d11 100644
--- a/nyx/panel/log.py
+++ b/nyx/panel/log.py
@@ -142,6 +142,9 @@ class LogPanel(nyx.panel.DaemonPanel):
self._event_types = nyx.log.listen_for_events(self._register_tor_event, event_types)
self.redraw(True)
+ def new_show_event_selection_prompt(self):
+ event_types = nyx.popups.new_select_event_types()
+
def show_snapshot_prompt(self):
"""
Lets user enter a path to take a snapshot, canceling if left blank.
@@ -233,6 +236,7 @@ class LogPanel(nyx.panel.DaemonPanel):
nyx.panel.KeyHandler('arrows', 'scroll up and down', _scroll, key_func = lambda key: key.is_scroll()),
nyx.panel.KeyHandler('a', 'save snapshot of the log', self.show_snapshot_prompt),
nyx.panel.KeyHandler('e', 'change logged events', self.show_event_selection_prompt),
+ nyx.panel.KeyHandler('w', 'new change logged events', self.new_show_event_selection_prompt),
nyx.panel.KeyHandler('f', 'log regex filter', _pick_filter, 'enabled' if self._filter.selection() else 'disabled'),
nyx.panel.KeyHandler('u', 'duplicate log entries', _toggle_deduplication, 'visible' if self._show_duplicates else 'hidden'),
nyx.panel.KeyHandler('c', 'clear event log', _clear_log),
diff --git a/nyx/popups.py b/nyx/popups.py
index 01a5215..f0d4050 100644
--- a/nyx/popups.py
+++ b/nyx/popups.py
@@ -417,6 +417,19 @@ def select_event_types():
return None
+def new_select_event_types():
+ def _render(subwindow):
+ subwindow.box()
+ subwindow.addstr(0, 0, 'Event Types:', HIGHLIGHT)
+
+ events = nyx.tor_controller().get_info('events/names', None)
+ for i, line in enumerate(events.split()):
+ subwindow.addstr(1, i + 1, line)
+
+ with nyx.curses.CURSES_LOCK:
+ nyx.curses.draw(_render, top = _top(), width = 80, height = 16)
+ return None
+
def confirm_save_torrc(torrc):
"""
Provides a confirmation dialog for saving tor's current configuration.
More information about the tor-commits
mailing list