[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [nyx/master] Drop nyxrc options for config panel dimensions
commit f1fe6eafb62c089d624f745bbea484187212333f
Author: Damian Johnson <atagar@xxxxxxxxxxxxxx>
Date: Tue Oct 20 09:31:03 2015 -0700
Drop nyxrc options for config panel dimensions
Some more config options that honestly I doubt anyone in the history of nyx
ever used. Not worth the complication. Changing these dimensions to be
constants.
---
nyx/config_panel.py | 61 ++++++++++++++++-----------------------------------
nyxrc.sample | 12 ----------
2 files changed, 19 insertions(+), 54 deletions(-)
diff --git a/nyx/config_panel.py b/nyx/config_panel.py
index a4a7b90..7944a0d 100644
--- a/nyx/config_panel.py
+++ b/nyx/config_panel.py
@@ -28,15 +28,13 @@ Field = enum.Enum(
('IS_DEFAULT', 'Is Default'),
)
+DETAILS_HEIGHT = 6
+OPTION_WIDTH = 25
+VALUE_WIDTH = 15
+
def conf_handler(key, value):
- if key == 'features.config.selectionDetails.height':
- return max(0, value)
- elif key == 'features.config.state.colWidth.option':
- return max(5, value)
- elif key == 'features.config.state.colWidth.value':
- return max(5, value)
- elif key == 'features.config.order':
+ if key == 'features.config.order':
return conf.parse_enum_csv(key, value[0], Field, 3)
@@ -44,12 +42,8 @@ CONFIG = conf.config_dict('nyx', {
'attr.config.category_color': {},
'attr.config.field_color': {},
'features.config.order': [Field.MAN_ENTRY, Field.OPTION, Field.IS_DEFAULT],
- 'features.config.selectionDetails.height': 6,
- 'features.config.prepopulateEditValues': True,
'features.config.state.showPrivateOptions': False,
'features.config.state.showVirtualOptions': False,
- 'features.config.state.colWidth.option': 25,
- 'features.config.state.colWidth.value': 15,
}, conf_handler)
@@ -245,12 +239,7 @@ class ConfigPanel(panel.Panel):
def handle_key(self, key):
with self._vals_lock:
if key.is_scroll():
- page_height = self.get_preferred_size()[0] - 1
- detail_panel_height = CONFIG['features.config.selectionDetails.height']
-
- if detail_panel_height > 0 and detail_panel_height + 2 <= page_height:
- page_height -= (detail_panel_height + 1)
-
+ page_height = self.get_preferred_size()[0] - DETAILS_HEIGHT - 2
is_changed = self.scroller.handle_key(key, self._get_config_options(), page_height)
if is_changed:
@@ -266,8 +255,7 @@ class ConfigPanel(panel.Panel):
initial_value = '' if not selection.is_set() else selection.get(Field.VALUE)
prompt_msg = '%s Value (esc to cancel): ' % config_option
- is_prepopulated = CONFIG['features.config.prepopulateEditValues']
- new_value = nyx.popups.input_prompt(prompt_msg, initial_value if is_prepopulated else '')
+ new_value = nyx.popups.input_prompt(prompt_msg, initial_value)
if new_value is not None and new_value != initial_value:
try:
@@ -450,27 +438,17 @@ class ConfigPanel(panel.Panel):
with self._vals_lock:
# panel with details for the current selection
- detail_panel_height = CONFIG['features.config.selectionDetails.height']
is_scrollbar_visible = False
- if detail_panel_height == 0 or detail_panel_height + 2 >= height:
- # no detail panel
-
- detail_panel_height = 0
- scroll_location = self.scroller.get_scroll_location(self._get_config_options(), height - 1)
- cursor_selection = self.get_selection()
- is_scrollbar_visible = len(self._get_config_options()) > height - 1
- else:
- # Shrink detail panel if there isn't sufficient room for the whole
- # thing. The extra line is for the bottom border.
+ # Shrink detail panel if there isn't sufficient room for the whole
+ # thing. The extra line is for the bottom border.
- detail_panel_height = min(height - 1, detail_panel_height + 1)
- scroll_location = self.scroller.get_scroll_location(self._get_config_options(), height - 1 - detail_panel_height)
- cursor_selection = self.get_selection()
- is_scrollbar_visible = len(self._get_config_options()) > height - detail_panel_height - 1
+ scroll_location = self.scroller.get_scroll_location(self._get_config_options(), height - DETAILS_HEIGHT - 2)
+ cursor_selection = self.get_selection()
+ is_scrollbar_visible = len(self._get_config_options()) > height - DETAILS_HEIGHT - 2
- if cursor_selection is not None:
- self._draw_selection_panel(cursor_selection, width, detail_panel_height, is_scrollbar_visible)
+ if cursor_selection is not None:
+ self._draw_selection_panel(cursor_selection, width, DETAILS_HEIGHT + 1, is_scrollbar_visible)
# draws the top label
@@ -485,11 +463,10 @@ class ConfigPanel(panel.Panel):
if is_scrollbar_visible:
scroll_offset = 3
- self.add_scroll_bar(scroll_location, scroll_location + height - detail_panel_height - 1, len(self._get_config_options()), 1 + detail_panel_height)
+ self.add_scroll_bar(scroll_location, scroll_location + height - DETAILS_HEIGHT - 2, len(self._get_config_options()), DETAILS_HEIGHT + 2)
- option_width = CONFIG['features.config.state.colWidth.option']
- value_width = CONFIG['features.config.state.colWidth.value']
- description_width = max(0, width - scroll_offset - option_width - value_width - 2)
+ value_width = VALUE_WIDTH
+ description_width = max(0, width - scroll_offset - OPTION_WIDTH - value_width - 2)
# if the description column is overly long then use its space for the
# value instead
@@ -500,7 +477,7 @@ class ConfigPanel(panel.Panel):
for line_number in range(scroll_location, len(self._get_config_options())):
entry = self._get_config_options()[line_number]
- draw_line = line_number + detail_panel_height + 1 - scroll_location
+ draw_line = line_number + DETAILS_HEIGHT + 2 - scroll_location
line_format = [curses.A_BOLD if entry.is_set() else curses.A_NORMAL]
@@ -510,7 +487,7 @@ class ConfigPanel(panel.Panel):
if entry == cursor_selection:
line_format += [curses.A_STANDOUT]
- line_text = entry.get_label(option_width, value_width, description_width)
+ line_text = entry.get_label(OPTION_WIDTH, value_width, description_width)
self.addstr(draw_line, scroll_offset, line_text, *line_format)
if draw_line >= height:
diff --git a/nyxrc.sample b/nyxrc.sample
index 666a21e..d6bc93c 100644
--- a/nyxrc.sample
+++ b/nyxrc.sample
@@ -98,14 +98,6 @@ features.log.maxRefreshRate 300
# * Man Page Entry
# * Is Default
#
-# selectionDetails.height
-# rows of data for the panel showing details on the current selection, this
-# is disabled entirely if zero
-# features.config.prepopulateEditValues
-# when editing config values the current value is prepopulated if true, and
-# left blank otherwise
-# state.colWidth.*
-# column content width
# state.showPrivateOptions
# tor provides config options of the form "__<option>" that can be dangerous
# to set, if true nyx provides these on the config panel
@@ -118,10 +110,6 @@ features.log.maxRefreshRate 300
# max number of lines to display for a single entry in the torrc
features.config.order Man Page Entry, Option Name, Is Default
-features.config.selectionDetails.height 6
-features.config.prepopulateEditValues true
-features.config.state.colWidth.option 25
-features.config.state.colWidth.value 15
features.config.state.showPrivateOptions false
features.config.state.showVirtualOptions false
features.config.file.showScrollbars true
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits