From 32ab43a9ffa97eaea6865c9fe70d4743160f9a61 Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Sat, 30 May 2020 05:56:12 +0530 Subject: [PATCH] Handle number of contexts in a generic fashion This supports using a power of 2 number of contexts like 2, 4 or 8. Note that the number of contexts are not backward compatible. So if user is having 8 contexts and plans to use 4, his sessions with > 1 contexts open may break. We can have a make option to enable 8 contexts. 4 remains default. --- src/nnn.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/nnn.c b/src/nnn.c index eb1cb523..3b3d2fa8 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -152,13 +152,13 @@ #define _ALIGNMENT 0x10 /* 16-byte alignment */ #define _ALIGNMENT_MASK 0xF #define TMP_LEN_MAX 64 -#define CTX_MAX 4 #define DOT_FILTER_LEN 7 #define ASCII_MAX 128 #define EXEC_ARGS_MAX 8 #define LIST_FILES_MAX (1 << 16) #define SCROLLOFF 3 -#define MIN_DISPLAY_COLS 10 +#define CTX_MAX 4 +#define MIN_DISPLAY_COLS ((CTX_MAX * 2) + 2) /* Two chars for [ and ] */ #define LONG_SIZE sizeof(ulong) #define ARCHIVE_CMD_LEN 16 #define BLK_SHIFT_512 9 @@ -251,10 +251,10 @@ typedef struct { uint selmode : 1; /* Set when selecting files */ uint showdetail : 1; /* Clear to show fewer file info */ uint ctxactive : 1; /* Context active or not */ - uint reserved1 : 3; + uint reserved1 : 2; /* The following settings are global */ - uint curctx : 2; /* Current context number */ uint dircolor : 1; /* Current status of dir color */ + uint curctx : 3; /* Current context number */ uint picker : 1; /* Write selection to user-specified file */ uint pickraw : 1; /* Write selection to sdtout before exit */ uint nonavopen : 1; /* Open file on right arrow or `l` */