mirror of
https://github.com/jarun/nnn.git
synced 2024-11-24 20:01:27 +00:00
Remove a startup loop and use self-fixing
This commit is contained in:
parent
12669be900
commit
e28197f066
31
src/nnn.c
31
src/nnn.c
|
@ -582,6 +582,7 @@ static void move_cursor(int target, int ignore_scrolloff);
|
||||||
static inline bool getutil(char *util);
|
static inline bool getutil(char *util);
|
||||||
static size_t mkpath(const char *dir, const char *name, char *out);
|
static size_t mkpath(const char *dir, const char *name, char *out);
|
||||||
static void updateselbuf(const char *path, char *newpath);
|
static void updateselbuf(const char *path, char *newpath);
|
||||||
|
static char *xgetenv(const char *name, char *fallback);
|
||||||
|
|
||||||
/* Functions */
|
/* Functions */
|
||||||
|
|
||||||
|
@ -1140,6 +1141,7 @@ static bool selsafe(void)
|
||||||
static bool initcurses(mmask_t *oldmask)
|
static bool initcurses(mmask_t *oldmask)
|
||||||
{
|
{
|
||||||
short i;
|
short i;
|
||||||
|
char *colors = xgetenv(env_cfg[NNN_CONTEXT_COLORS], "4444");
|
||||||
|
|
||||||
if (cfg.picker) {
|
if (cfg.picker) {
|
||||||
if (!newterm(NULL, stderr, stdin)) {
|
if (!newterm(NULL, stderr, stdin)) {
|
||||||
|
@ -1168,9 +1170,16 @@ static bool initcurses(mmask_t *oldmask)
|
||||||
start_color();
|
start_color();
|
||||||
use_default_colors();
|
use_default_colors();
|
||||||
|
|
||||||
/* Initialize default colors */
|
/* Get and set the context colors */
|
||||||
for (i = 0; i < CTX_MAX; ++i)
|
for (i = 0; i < CTX_MAX; ++i) {
|
||||||
|
if (*colors) {
|
||||||
|
g_ctx[i].color = (*colors < '0' || *colors > '7') ? 4 : *colors - '0';
|
||||||
|
++colors;
|
||||||
|
} else
|
||||||
|
g_ctx[i].color = 4;
|
||||||
|
|
||||||
init_pair(i + 1, g_ctx[i].color, -1);
|
init_pair(i + 1, g_ctx[i].color, -1);
|
||||||
|
}
|
||||||
|
|
||||||
settimeout(); /* One second */
|
settimeout(); /* One second */
|
||||||
set_escdelay(25);
|
set_escdelay(25);
|
||||||
|
@ -5640,24 +5649,6 @@ int main(int argc, char *argv[])
|
||||||
if (!cfg.picker && !(isatty(STDIN_FILENO) && isatty(STDOUT_FILENO)))
|
if (!cfg.picker && !(isatty(STDIN_FILENO) && isatty(STDOUT_FILENO)))
|
||||||
exit(1);
|
exit(1);
|
||||||
|
|
||||||
/* Get the context colors; copier used as tmp var */
|
|
||||||
copier = xgetenv(env_cfg[NNN_CONTEXT_COLORS], "4444");
|
|
||||||
opt = 0;
|
|
||||||
while (opt < CTX_MAX) {
|
|
||||||
if (*copier) {
|
|
||||||
if (*copier < '0' || *copier > '7') {
|
|
||||||
fprintf(stderr, "0 <= code <= 7\n");
|
|
||||||
return _FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
g_ctx[opt].color = *copier - '0';
|
|
||||||
++copier;
|
|
||||||
} else
|
|
||||||
g_ctx[opt].color = 4;
|
|
||||||
|
|
||||||
++opt;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef DBGMODE
|
#ifdef DBGMODE
|
||||||
enabledbg();
|
enabledbg();
|
||||||
DPRINTF_S(VERSION);
|
DPRINTF_S(VERSION);
|
||||||
|
|
Loading…
Reference in a new issue