noice

small file browser
git clone git://git.2f30.org/noice
Log | Files | Refs | README | LICENSE

commit 5335be58322644e16f6478539b4f5846a1f80ac8
parent b2970c9516662f62d59ad6ca21f9809b5d1105a2
Author: lostd <lostd@2f30.org>
Date:   Wed, 22 Oct 2014 17:54:13 +0300

Functions for setting and clearing the prompt

Diffstat:
Mnoice.c | 27+++++++++++++++++++--------
1 file changed, 19 insertions(+), 8 deletions(-)

diff --git a/noice.c b/noice.c @@ -255,6 +255,21 @@ printerr(int ret, char *prefix) exit(ret); } +/* Clear the last line */ +void +clearprompt(void) +{ + printmsg(""); +} + +/* Print prompt on the last line */ +void +printprompt(char *str) +{ + clearprompt(); + printw(str); +} + /* * Returns 0 normally * On movement it updates *cur @@ -627,12 +642,10 @@ nochange: goto nochange; case SEL_FLTR: /* Read filter */ - printmsg(""); - move(LINES - 1, 0); - printw("filter: "); + printprompt("filter: "); tmp = readln(); if (tmp == NULL) { - printmsg(""); + clearprompt(); goto nochange; } r = setfilter(&re, tmp); @@ -653,12 +666,10 @@ nochange: break; case SEL_CD: /* Read target dir */ - printmsg(""); - move(LINES - 1, 0); - printw("chdir: "); + printprompt("chdir: "); tmp = readln(); if (tmp == NULL) { - printmsg(""); + clearprompt(); goto nochange; } if (testopendir(tmp) == 0) {