]> Sergey Matveev's repositories - nnn.git/commitdiff
Change to light mode if < 35 columns are available
authorArun Prakash Jana <engineerarun@gmail.com>
Fri, 1 Sep 2017 13:28:32 +0000 (18:58 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Fri, 1 Sep 2017 13:28:32 +0000 (18:58 +0530)
nnn.c

diff --git a/nnn.c b/nnn.c
index 888256196549e357911d7249e282d11b76c56160..c54c112de1261721f28aa82375acfec70369446b 100644 (file)
--- a/nnn.c
+++ b/nnn.c
@@ -1919,12 +1919,20 @@ redraw(char *path)
 {
        static int nlines, i;
        static size_t ncols;
+       static bool mode_changed;
 
+       mode_changed = FALSE;
        nlines = MIN(LINES - 4, ndents);
 
        /* Clean screen */
        erase();
 
+       /* Fail redraw if < than 10 columns */
+       if (COLS < 10) {
+               printmsg("Too few columns!");
+               return;
+       }
+
        /* Strip trailing slashes */
        for (i = xstrlen(path) - 1; i > 0; --i)
                if (path[i] == '/')
@@ -1944,7 +1952,16 @@ redraw(char *path)
        ncols = COLS;
        if (ncols > PATH_MAX)
                ncols = PATH_MAX;
-       /* - xstrlen(CWD) - 1 = 6 */
+
+       /* Fallback to light mode if less than 35 columns */
+       if (ncols < 35 && cfg.showdetail) {
+               cfg.showdetail ^= 1;
+               printptr = &printent;
+               mode_changed = TRUE;
+       }
+
+
+       /* Show CWD: - xstrlen(CWD) - 1 = 6 */
        g_buf[ncols - 6] = '\0';
        printw(CWD "%s\n\n", g_buf);
 
@@ -2014,6 +2031,11 @@ redraw(char *path)
                } else
                        printmsg("0 items");
        }
+
+       if (mode_changed) {
+               cfg.showdetail ^= 1;
+               printptr = &printent_long;
+       }
 }
 
 static void