diff options
author | Jonas Fonseca <jonas.fonseca@gmail.com> | 2017-07-03 21:35:59 -0400 |
---|---|---|
committer | Jonas Fonseca <jonas.fonseca@gmail.com> | 2017-07-03 21:35:59 -0400 |
commit | 9c9a217d410a878df9f1d040a7220930097be1f8 (patch) | |
tree | 2dc0abd8fdcaa7e4ccdb4eb5c6e25a74c054af96 | |
parent | 23c2fde05ce4b162b78bbe6ea14157e81adcb1c6 (diff) | |
parent | 1b627686b01712b0e99516ebbfe717bb0a0387c2 (diff) |
Merge branch 'hide-cursor' of https://github.com/rolandwalker/tig
-rw-r--r-- | src/display.c | 1 | ||||
-rw-r--r-- | src/prompt.c | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/display.c b/src/display.c index 25aad83e..f2e42f4e 100644 --- a/src/display.c +++ b/src/display.c @@ -462,6 +462,7 @@ init_display(void) nonl(); /* Disable conversion and detect newlines from input. */ raw(); /* Take input chars one at a time, no wait for \n */ noecho(); /* Don't echo input */ + curs_set(0); leaveok(stdscr, false); init_colors(); diff --git a/src/prompt.c b/src/prompt.c index 239f1ec7..ca98b085 100644 --- a/src/prompt.c +++ b/src/prompt.c @@ -39,6 +39,9 @@ prompt_input(const char *prompt, struct input *input) input->buf[0] = 0; + if (strlen(prompt) > 0) + curs_set(1); + while (status == INPUT_OK || status == INPUT_SKIP) { int buf_length = strlen(input->buf) + promptlen; int offset = pos || buf_length != last_buf_length ? pos + promptlen : -1; @@ -52,6 +55,7 @@ prompt_input(const char *prompt, struct input *input) if (pos + len >= sizeof(input->buf)) { report("Input string too long"); + curs_set(0); return NULL; } @@ -89,6 +93,7 @@ prompt_input(const char *prompt, struct input *input) input->buf[pos] = 0; } + curs_set(0); report_clear(); if (status == INPUT_CANCEL) @@ -462,7 +467,9 @@ read_prompt(const char *prompt) if (signal(SIGINT, sigint_absorb_handler) == SIG_ERR) die("Failed to setup sigint handler"); + curs_set(1); line = readline(prompt); + curs_set(0); if (signal(SIGINT, SIG_DFL) == SIG_ERR) die("Failed to remove sigint handler"); @@ -542,6 +549,7 @@ prompt_menu(const char *prompt, const struct menu_item *items, int *selected) assert(size > 0); + curs_set(1); while (status == INPUT_OK) { const struct menu_item *item = &items[*selected]; char hotkey[] = { '[', (char) item->hotkey, ']', ' ', 0 }; @@ -587,6 +595,7 @@ prompt_menu(const char *prompt, const struct menu_item *items, int *selected) } } } + curs_set(0); report_clear(); |