Browse Source

Remove a startup loop and use self-fixing

master
Arun Prakash Jana 4 years ago
parent
commit
e28197f066
No known key found for this signature in database GPG Key ID: A75979F35C080412
1 changed files with 11 additions and 20 deletions
  1. +11
    -20
      src/nnn.c

+ 11
- 20
src/nnn.c View File

@@ -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 */
for (i = 0; i < CTX_MAX; ++i)
/* Get and set the context colors */
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…
Cancel
Save