[prev in list] [next in list] [prev in thread] [next in thread] 

List:       nano-devel
Subject:    [PATCH 1/2] rcfile: add 'set scrollercolor', for changing the color of the indicator
From:       Benno Schulenberg <bensberg () telfort ! nl>
Date:       2020-08-30 15:04:47
Message-ID: 20200830150448.4966-1-bensberg () telfort ! nl
[Download RAW message or body]

This fulfills https://savannah.gnu.org/bugs/?59041.
---
 src/color.c       | 2 +-
 src/definitions.h | 1 +
 src/nano.c        | 1 +
 src/rcfile.c      | 3 +++
 src/winio.c       | 3 ++-
 5 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/color.c b/src/color.c
index 6e225b20..08cb5d8e 100644
--- a/src/color.c
+++ b/src/color.c
@@ -64,7 +64,7 @@ void set_interface_colorpairs(void)
 			interface_color_pair[index] = COLOR_PAIR(index + 1) | A_BANDAID |
 												combo->attributes;
 		} else {
-			if (index == FUNCTION_TAG)
+			if (index == FUNCTION_TAG || index == SCROLL_BAR)
 				interface_color_pair[index] = A_NORMAL;
 			else if (index == GUIDE_STRIPE)
 				interface_color_pair[index] = A_REVERSE;
diff --git a/src/definitions.h b/src/definitions.h
index 91f10d00..bb682bc4 100644
--- a/src/definitions.h
+++ b/src/definitions.h
@@ -485,6 +485,7 @@ enum
 	TITLE_BAR = 0,
 	LINE_NUMBER,
 	GUIDE_STRIPE,
+	SCROLL_BAR,
 	SELECTED_TEXT,
 	STATUS_BAR,
 	ERROR_MESSAGE,
diff --git a/src/nano.c b/src/nano.c
index 4da79678..e22677bf 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -2297,6 +2297,7 @@ int main(int argc, char **argv)
 		interface_color_pair[TITLE_BAR] = hilite_attribute;
 		interface_color_pair[LINE_NUMBER] = hilite_attribute;
 		interface_color_pair[GUIDE_STRIPE] = A_REVERSE;
+		interface_color_pair[SCROLL_BAR] = A_NORMAL;
 		interface_color_pair[SELECTED_TEXT] = hilite_attribute;
 		interface_color_pair[STATUS_BAR] = hilite_attribute;
 		interface_color_pair[ERROR_MESSAGE] = hilite_attribute;
diff --git a/src/rcfile.c b/src/rcfile.c
index c259cc7d..32815ed7 100644
--- a/src/rcfile.c
+++ b/src/rcfile.c
@@ -126,6 +126,7 @@ static const rcoption rcopts[] = {
 	{"titlecolor", 0},
 	{"numbercolor", 0},
 	{"stripecolor", 0},
+	{"scrollercolor", 0},
 	{"selectedcolor", 0},
 	{"statuscolor", 0},
 	{"errorcolor", 0},
@@ -1551,6 +1552,8 @@ void parse_rcfile(FILE *rcstream, bool just_syntax, bool intros_only)
 			color_combo[LINE_NUMBER] = parse_interface_color(argument);
 		else if (strcmp(option, "stripecolor") == 0)
 			color_combo[GUIDE_STRIPE] = parse_interface_color(argument);
+		else if (strcmp(option, "scrollercolor") == 0)
+			color_combo[SCROLL_BAR] = parse_interface_color(argument);
 		else if (strcmp(option, "selectedcolor") == 0)
 			color_combo[SELECTED_TEXT] = parse_interface_color(argument);
 		else if (strcmp(option, "statuscolor") == 0)
diff --git a/src/winio.c b/src/winio.c
index a174e37b..93d0e9c8 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -2882,7 +2882,8 @@ void draw_scrollbar(void)
 		highest = editwinrows;
 
 	for (int row = 0; row < editwinrows; row++) {
-		bardata[row] = ' '|((row >= lowest && row <= highest) ? A_REVERSE : 0);
+		bardata[row] = ' '|interface_color_pair[SCROLL_BAR]|
+					((row < lowest || row > highest) ? A_NORMAL : A_REVERSE);
 		mvwaddch(edit, row, COLS - 1, bardata[row]);
 	}
 }
-- 
2.25.4


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic