Change the default background of scrollbars.
- Also hacked the cursor row highlighting to not highlight the scrollbar. Highlighting the widget inside the view widget is much more difficult.
This commit is contained in:
parent
07ffb403f5
commit
dd0b763dab
4 changed files with 19 additions and 12 deletions
|
|
@ -74,7 +74,8 @@ class WidgetTests(unittest.TestCase):
|
||||||
def assert_string2(self, appearance, expected_string):
|
def assert_string2(self, appearance, expected_string):
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
("\n".join(line.data for line in appearance),
|
("\n".join(line.data for line in appearance),
|
||||||
"".join("i" if style.fg_color==termstr.Color.black else " "
|
"".join("i" if style.fg_color==
|
||||||
|
fill3.ScrollBar.DEFAULT_BACKGROUND_COLOR else " "
|
||||||
for line in appearance for style in line.style)),
|
for line in appearance for style in line.style)),
|
||||||
expected_string)
|
expected_string)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -346,8 +346,9 @@ class Summary:
|
||||||
def _highlight_cursor_row(self, appearance, cursor_y):
|
def _highlight_cursor_row(self, appearance, cursor_y):
|
||||||
scroll_x, scroll_y = self._view_widget.position
|
scroll_x, scroll_y = self._view_widget.position
|
||||||
highlighted_y = cursor_y - scroll_y
|
highlighted_y = cursor_y - scroll_y
|
||||||
appearance[highlighted_y] = highlight_str(
|
appearance[highlighted_y] = (highlight_str(
|
||||||
appearance[highlighted_y], termstr.Color.white, 0.85)
|
appearance[highlighted_y][:-1], termstr.Color.white, 0.85)
|
||||||
|
+ appearance[highlighted_y][-1])
|
||||||
return appearance
|
return appearance
|
||||||
|
|
||||||
def appearance(self, dimensions):
|
def appearance(self, dimensions):
|
||||||
|
|
|
||||||
|
|
@ -181,27 +181,31 @@ class ScrollBar:
|
||||||
|
|
||||||
_HORIZONTAL_CHARS = [" ", "▏", "▎", "▍", "▌", "▋", "▊", "▉"]
|
_HORIZONTAL_CHARS = [" ", "▏", "▎", "▍", "▌", "▋", "▊", "▉"]
|
||||||
_VERTICAL_CHARS = ["█", "▇", "▆", "▅", "▄", "▃", "▂", "▁"]
|
_VERTICAL_CHARS = ["█", "▇", "▆", "▅", "▄", "▃", "▂", "▁"]
|
||||||
|
DEFAULT_BAR_COLOR = termstr.Color.grey_100
|
||||||
|
DEFAULT_BACKGROUND_COLOR = termstr.Color.grey_30
|
||||||
|
|
||||||
def __init__(self, is_horizontal, interval=(0, 0),
|
def __init__(self, is_horizontal, interval=(0, 0), bar_color=None,
|
||||||
bar_color=termstr.Color.grey_100,
|
background_color=None):
|
||||||
background_color=termstr.Color.black):
|
|
||||||
self._is_horizontal = is_horizontal
|
self._is_horizontal = is_horizontal
|
||||||
self.interval = interval
|
self.interval = interval
|
||||||
self.bar_color = bar_color
|
bar_color = (ScrollBar.DEFAULT_BAR_COLOR if bar_color is None
|
||||||
self.background_color = background_color
|
else bar_color)
|
||||||
|
background_color = (ScrollBar.DEFAULT_BACKGROUND_COLOR
|
||||||
|
if background_color is None
|
||||||
|
else background_color)
|
||||||
self.bar_char = termstr.TermStr("█").fg_color(bar_color)
|
self.bar_char = termstr.TermStr("█").fg_color(bar_color)
|
||||||
self.background_char = termstr.TermStr(" ").bg_color(background_color)
|
self.background_char = termstr.TermStr(" ").bg_color(background_color)
|
||||||
self.start_h_chars = [termstr.TermStr(char).fg_color(
|
self.start_h_chars = [termstr.TermStr(char).fg_color(
|
||||||
self.background_color).bg_color(self.bar_color)
|
background_color).bg_color(bar_color)
|
||||||
for char in self._HORIZONTAL_CHARS]
|
for char in self._HORIZONTAL_CHARS]
|
||||||
self.end_h_chars = [termstr.TermStr(char).fg_color(
|
self.end_h_chars = [termstr.TermStr(char).fg_color(
|
||||||
self.bar_color).bg_color(self.background_color)
|
bar_color).bg_color(background_color)
|
||||||
for char in self._HORIZONTAL_CHARS]
|
for char in self._HORIZONTAL_CHARS]
|
||||||
self.start_v_chars = [termstr.TermStr(char).fg_color(
|
self.start_v_chars = [termstr.TermStr(char).fg_color(
|
||||||
self.bar_color).bg_color(self.background_color)
|
bar_color).bg_color(background_color)
|
||||||
for char in self._VERTICAL_CHARS]
|
for char in self._VERTICAL_CHARS]
|
||||||
self.end_v_chars = [termstr.TermStr(char).fg_color(
|
self.end_v_chars = [termstr.TermStr(char).fg_color(
|
||||||
self.background_color).bg_color(self.bar_color)
|
background_color).bg_color(bar_color)
|
||||||
for char in self._VERTICAL_CHARS]
|
for char in self._VERTICAL_CHARS]
|
||||||
|
|
||||||
def appearance(self, dimensions):
|
def appearance(self, dimensions):
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,7 @@ class Color:
|
||||||
blue = (0, 135, 189)
|
blue = (0, 135, 189)
|
||||||
lime = (0, 255, 0)
|
lime = (0, 255, 0)
|
||||||
yellow = (255, 211, 0)
|
yellow = (255, 211, 0)
|
||||||
|
grey_30 = (30, 30, 30)
|
||||||
grey_50 = (50, 50, 50)
|
grey_50 = (50, 50, 50)
|
||||||
grey_100 = (100, 100, 100)
|
grey_100 = (100, 100, 100)
|
||||||
grey_150 = (150, 150, 150)
|
grey_150 = (150, 150, 150)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue