From 573bc855a68766f38de2acb48bebc9d0adbf0a1f Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Fri, 18 Feb 2022 23:39:46 -0500 Subject: Simplify cursor positioning in input Do some extra work by adding the portion before the cursor to the input window twice, but simplify the interaction with the split point. This fixes the awkward behaviour when moving the cursor across colour codes where the code would be partially interpreted up to the cursor. --- ui.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'ui.c') diff --git a/ui.c b/ui.c index 369ed75..3df0cd6 100644 --- a/ui.c +++ b/ui.c @@ -791,6 +791,7 @@ static void inputUpdate(void) { skip = buf; } + int y, x; wmove(input, 0, 0); if (window->time && window->id != Network) { whline(input, ' ', uiTime.width); @@ -800,25 +801,24 @@ static void inputUpdate(void) { waddstr(input, prefix); waddstr(input, prompt); waddstr(input, suffix); + getyx(input, y, x); - int y, x; - const char *ptr = skip; + int posx; struct Style style = styleInput; - if (split && split < pos) { - ptr = inputStop(styleInput, &style, ptr, &buf[split]); - style = styleInput; - style.bg = Red; - } - ptr = inputStop(styleInput, &style, ptr, &buf[pos]); - getyx(input, y, x); - if (split && split >= pos) { + inputStop(styleInput, &style, skip, &buf[pos]); + getyx(input, y, posx); + wmove(input, y, x); + + style = styleInput; + const char *ptr = skip; + if (split) { ptr = inputStop(styleInput, &style, ptr, &buf[split]); style = styleInput; style.bg = Red; } inputAdd(styleInput, &style, ptr); wclrtoeol(input); - wmove(input, y, x); + wmove(input, y, posx); } void uiWindows(void) { -- cgit 1.4.1 2a20c7d04e1db1716fdbab45a04'/>
path: root/include (unfollow)
Commit message (Expand)Author
2022-02-27Import LibreSSL 3.5.0June McEnroe
2021-11-29tls: Revert accidentally(?) reverted upstream 3.4.2June McEnroe
2021-11-29Import LibreSSL 3.4.2June McEnroe
2021-10-14Import LibreSSL 3.4.1June McEnroe
2021-09-17Import LibreSSL 3.4.0June McEnroe
2021-08-24Import LibreSSL 3.3.4June McEnroe
2021-05-25Bump version to 3.3.3p1 3.3.3p1June McEnroe
2021-05-25build: Add scripts to EXTRA_DISTJune McEnroe
2021-05-25import: Add missing scripts/wrap-compiler-for-flag-checkJune McEnroe
2021-05-08Import LibreSSL 3.3.3June McEnroe
2021-04-18build: Remove added x509_verify.3 links 3.3.2June McEnroe
2021-04-18tls: Use EC_KEY_set_ex_dataJune McEnroe
2021-04-18Import LibreSSL 3.3.2June McEnroe
2021-03-05Bump version to 3.3.1p1 3.3.1p1June McEnroe
2021-03-05build: Add OpenSSL includes to libcompatJune McEnroe
2020-12-15Import LibreSSL 3.3.1June McEnroe
2020-11-24Import LibreSSL 3.3.0June McEnroe
2020-10-22Import LibreSSL 3.2.2June McEnroe
2020-09-29Import LibreSSL 3.2.1June McEnroe
2020-09-29import: Add m4/ax_add_fortify_source.m4June McEnroe
2020-08-05build: Add README.7 to EXTRA_DIST 3.2.0June McEnroe
2020-08-03doc: Indicate that only OpenSSL 1.1.1b and newer workJune McEnroe