nnn

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit e3d90a98ceb6cbf2bd7ab3b242692b0079a7e15a
parent 4d291d0ac27830afc19bfb0f4057542a06de7b23
Author: Arun Prakash Jana <engineerarun@gmail.com>
Date:   Sat, 30 May 2020 06:59:45 +0530

Support make option O_CTX8 for 8 contexts

Note that this is not compatible with 4 contexts.

Diffstat:
MMakefile | 4++++
Mmisc/haiku/Makefile | 4++++
Msrc/nnn.c | 12++++++++++++
Msrc/nnn.h | 12++++++++++++
4 files changed, 32 insertions(+), 0 deletions(-)

diff --git a/Makefile b/Makefile @@ -61,6 +61,10 @@ ifeq ($(O_NOFIFO),1) CPPFLAGS += -DNOFIFO endif +ifeq ($(O_CTX8),1) + CPPFLAGS += -DCTX8 +endif + ifeq ($(shell $(PKG_CONFIG) ncursesw && echo 1),1) CFLAGS_CURSES ?= $(shell $(PKG_CONFIG) --cflags ncursesw) LDLIBS_CURSES ?= $(shell $(PKG_CONFIG) --libs ncursesw) diff --git a/misc/haiku/Makefile b/misc/haiku/Makefile @@ -52,6 +52,10 @@ ifeq ($(O_NOMOUSE),1) CPPFLAGS += -DNOMOUSE endif +ifeq ($(O_CTX8),1) + CPPFLAGS += -DCTX8 +endif + ifeq ($(shell $(PKG_CONFIG) ncursesw && echo 1),1) CFLAGS_CURSES ?= $(shell $(PKG_CONFIG) --cflags ncursesw) LDLIBS_CURSES ?= $(shell $(PKG_CONFIG) --libs ncursesw) diff --git a/src/nnn.c b/src/nnn.c @@ -157,7 +157,13 @@ #define EXEC_ARGS_MAX 8 #define LIST_FILES_MAX (1 << 16) #define SCROLLOFF 3 + +#ifndef CTX8 #define CTX_MAX 4 +#else +#define CTX_MAX 8 +#endif + #define MIN_DISPLAY_COLS ((CTX_MAX * 2) + 2) /* Two chars for [ and ] */ #define LONG_SIZE sizeof(ulong) #define ARCHIVE_CMD_LEN 16 @@ -5738,6 +5744,12 @@ nochange: case SEL_CTX2: // fallthrough case SEL_CTX3: // fallthrough case SEL_CTX4: +#ifdef CTX8 + case SEL_CTX5: + case SEL_CTX6: + case SEL_CTX7: + case SEL_CTX8: +#endif r = handle_context_switch(sel); if (r < 0) continue; diff --git a/src/nnn.h b/src/nnn.h @@ -60,6 +60,12 @@ enum action { SEL_CTX2, SEL_CTX3, SEL_CTX4, +#ifdef CTX8 + SEL_CTX5, + SEL_CTX6, + SEL_CTX7, + SEL_CTX8, +#endif SEL_PIN, SEL_FLTR, SEL_MFLTR, @@ -165,6 +171,12 @@ static struct key bindings[] = { { '2', SEL_CTX2 }, { '3', SEL_CTX3 }, { '4', SEL_CTX4 }, +#ifdef CTX8 + { '5', SEL_CTX5 }, + { '6', SEL_CTX6 }, + { '7', SEL_CTX7 }, + { '8', SEL_CTX8 }, +#endif /* Mark a path to visit later */ { ',', SEL_PIN }, /* Filter */