summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--ui.c58
1 files changed, 30 insertions, 28 deletions
diff --git a/ui.c b/ui.c
index 5d626ce..8bc3eae 100644
--- a/ui.c
+++ b/ui.c
@@ -41,32 +41,6 @@
 #define RIGHT (COLS - 1)
 #define WINDOW_LINES (LINES - 2)
 
-static short colorPairs;
-
-static void colorInit(void) {
-	start_color();
-	use_default_colors();
-	for (short pair = 0; pair < 16; ++pair) {
-		init_pair(1 + pair, pair % COLORS, -1);
-	}
-	colorPairs = 17;
-}
-
-static attr_t colorAttr(short fg) {
-	return (fg >= COLORS ? A_BOLD : A_NORMAL);
-}
-
-static short colorPair(short fg, short bg) {
-	if (bg == -1) return 1 + fg;
-	for (short pair = 17; pair < colorPairs; ++pair) {
-		short f, b;
-		pair_content(pair, &f, &b);
-		if (f == fg && b == bg) return pair;
-	}
-	init_pair(colorPairs, fg % COLORS, bg % COLORS);
-	return colorPairs++;
-}
-
 enum {
 	InputCols = 512,
 	PadLines = 512,
@@ -115,18 +89,46 @@ static struct Window *windowFor(size_t id) {
 	}
 	window = malloc(sizeof(*window));
 	if (!window) err(EX_OSERR, "malloc");
+
 	window->id = id;
 	window->pad = newpad(PadLines, COLS);
-	scrollok(window->pad, true);
-	wmove(window->pad, PadLines - 1, 0);
 	window->heat = Cold;
 	window->unread = 0;
 	window->scroll = PadLines;
 	window->mark = true;
+	scrollok(window->pad, true);
+	wmove(window->pad, PadLines - 1, 0);
+
 	windowAdd(window);
 	return window;
 }
 
+static short colorPairs;
+
+static void colorInit(void) {
+	start_color();
+	use_default_colors();
+	for (short pair = 0; pair < 16; ++pair) {
+		init_pair(1 + pair, pair % COLORS, -1);
+	}
+	colorPairs = 17;
+}
+
+static attr_t colorAttr(short fg) {
+	return (fg >= COLORS ? A_BOLD : A_NORMAL);
+}
+
+static short colorPair(short fg, short bg) {
+	if (bg == -1) return 1 + fg;
+	for (short pair = 17; pair < colorPairs; ++pair) {
+		short f, b;
+		pair_content(pair, &f, &b);
+		if (f == fg && b == bg) return pair;
+	}
+	init_pair(colorPairs, fg % COLORS, bg % COLORS);
+	return colorPairs++;
+}
+
 enum {
 	KeyFocusIn = KEY_MAX + 1,
 	KeyFocusOut,
e McEnroe Fixes mistaken highlight of: pngWrite(file, (uint8_t []) { 0, 0, 0 }, 3); 2019-02-18Match whitespace between * [] {}June McEnroe 2019-02-18Fix function-like #define regexJune McEnroe A define like #define FOO (1) is not function-like. 2019-02-18Match Tag in RustJune McEnroe 2019-02-18Match sh functions as TagJune McEnroe 2019-02-18Match Sh and Ss as Tag in mdocJune McEnroe 2019-02-18Match statics and typedefs as TagJune McEnroe 2019-02-18Clean up htmlHeaderJune McEnroe 2019-02-18Remove hi line numberingJune McEnroe Tags are much better for referring to specific parts of a file and line numbering is better done by a post-processing tool such as cat -n or producing a two-column HTML <table>. 2019-02-18Add Tag class to hiJune McEnroe 2019-02-17Generate HTML with hi -n -f html -o anchorJune McEnroe Running hi twice to insert stuff between the head and the content is a bit of a hack but oh well. 2019-02-17Add hi -f html -o anchor for line number linksJune McEnroe 2019-02-17Simplify temp trap in upJune McEnroe 2019-02-17Add line numbers to hiJune McEnroe Renames previous -n option to -m to stay consistent with cat -n. Prefixing lines with line numbers affects where the first tab indent ends up relative to the text above it. Not sure if it's worth fixing somehow. 2019-02-17Always split spans after newlinesJune McEnroe Simplifies ANSI and IRC output code, and prepares for line numbered output. 2019-02-15Color format specifiers light cyan in vimJune McEnroe 2019-02-15Highlight Interp as yellowJune McEnroe 2019-02-15Highlight strings in sh command substitutionsJune McEnroe 2019-02-15Add nmap gpJune McEnroe 2019-02-14Avoid newline when copying URL to pasteboardJune McEnroe 2019-02-13Add forgotten "sixth" book of H2G2June McEnroe