iadd config.h - gramscii - A simple editor for ASCII box-and-arrow charts Err bitreich.org 70 1Log /scm/gramscii/log.gph bitreich.org 70 1Files /scm/gramscii/files.gph bitreich.org 70 1Refs /scm/gramscii/refs.gph bitreich.org 70 1Tags /scm/gramscii/tag bitreich.org 70 1README /scm/gramscii/file/README.md.gph bitreich.org 70 1LICENSE /scm/gramscii/file/COPYING.gph bitreich.org 70 i--- Err bitreich.org 70 1commit 1be4c30c5e1526484665c382d784e0de9fe9d8de /scm/gramscii/commit/1be4c30c5e1526484665c382d784e0de9fe9d8de.gph bitreich.org 70 1parent 3a8eeffc5b3ef3d23984913d841e3a0aa5f68e16 /scm/gramscii/commit/3a8eeffc5b3ef3d23984913d841e3a0aa5f68e16.gph bitreich.org 70 hAuthor: KatolaZ URL:mailto:katolaz@freaknet.org bitreich.org 70 iDate: Wed, 24 Jul 2019 12:34:29 +0100 Err bitreich.org 70 i Err bitreich.org 70 iadd config.h Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M Makefile | 3 ++- Err bitreich.org 70 i M TODO | 4 ++-- Err bitreich.org 70 i A config.h | 16 ++++++++++++++++ Err bitreich.org 70 i M gramscii.c | 20 ++++++++------------ Err bitreich.org 70 i Err bitreich.org 70 i4 files changed, 28 insertions(+), 15 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/Makefile b/Makefile /scm/gramscii/file/Makefile.gph bitreich.org 70 i@@ -3,6 +3,7 @@ Err bitreich.org 70 i include config.mk Err bitreich.org 70 i Err bitreich.org 70 i SRC = gramscii.c Err bitreich.org 70 i+INCLUDES = config.h Err bitreich.org 70 i Err bitreich.org 70 i all: options gramscii Err bitreich.org 70 i Err bitreich.org 70 i@@ -14,6 +15,6 @@ options: Err bitreich.org 70 i @echo "-+-+-+-+-+-+-+-+-+-+-" Err bitreich.org 70 i Err bitreich.org 70 i Err bitreich.org 70 i-gramscii: Err bitreich.org 70 i+gramscii: $(SRC) $(INCLUDES) Err bitreich.org 70 i $(CC) $(CFLAGS) -o $@ $(SRC) Err bitreich.org 70 i Err bitreich.org 70 1diff --git a/TODO b/TODO /scm/gramscii/file/TODO.gph bitreich.org 70 i@@ -1,5 +1,4 @@ Err bitreich.org 70 i-+ optimize redraws (i.e., avoid to redraw if possible) Err bitreich.org 70 i-- move configs in config.h Err bitreich.org 70 i++ optimize redraws (redraw only the modified rectangle) Err bitreich.org 70 i - change screen management (i.e., dynamic array of lines) Err bitreich.org 70 i - add action multiplier (e.g., "7h" moves left by 7 cols) Err bitreich.org 70 i - add scripting mode option ("-s"?) Err bitreich.org 70 i@@ -25,6 +24,7 @@ Err bitreich.org 70 i - catch SIGWINCH and react appropriately (after scroll is Err bitreich.org 70 i enabled) Err bitreich.org 70 i - auto-arrow 'A' (automatic end-char) Err bitreich.org 70 i+* move configs in config.h Err bitreich.org 70 i * get screen geometry Err bitreich.org 70 i * allow the use of [ENTER] to confirm arrow, boxes (useful Err bitreich.org 70 i for scripting) Err bitreich.org 70 1diff --git a/config.h b/config.h /scm/gramscii/file/config.h.gph bitreich.org 70 i@@ -0,0 +1,16 @@ Err bitreich.org 70 i+/* Config options */ Err bitreich.org 70 i+ Err bitreich.org 70 i+/** MARKERS -- the first character is the default one **/ Err bitreich.org 70 i+/* markers for horizontal lines */ Err bitreich.org 70 i+char hlines[] = {"-~=#*@._ "}; Err bitreich.org 70 i+/* markers for vertical lines */ Err bitreich.org 70 i+char vlines[] = {"|H#*@:;i "}; Err bitreich.org 70 i+/* markers for corners */ Err bitreich.org 70 i+char corners[] = {"+'H#*@.\"`"}; Err bitreich.org 70 i+/* markers for arrow start points */ Err bitreich.org 70 i+char st_marks[] = {"+o-|<>^v*"}; Err bitreich.org 70 i+/* markers for arrow endpoints */ Err bitreich.org 70 i+char end_marks[] = {">+o-|<^v*"}; Err bitreich.org 70 i+ Err bitreich.org 70 i+/** LONG_STEP (movements through uppercase HJKL) **/ Err bitreich.org 70 i+#define LONG_STEP 5 Err bitreich.org 70 1diff --git a/gramscii.c b/gramscii.c /scm/gramscii/file/gramscii.c.gph bitreich.org 70 i@@ -12,6 +12,8 @@ Err bitreich.org 70 i #include Err bitreich.org 70 i #include Err bitreich.org 70 i Err bitreich.org 70 i+#include "config.h" Err bitreich.org 70 i+ Err bitreich.org 70 i #define MOVE 0x00 Err bitreich.org 70 i #define BOX 0x01 Err bitreich.org 70 i #define ARROW 0x02 Err bitreich.org 70 i@@ -40,7 +42,6 @@ Err bitreich.org 70 i #define ARR_U '^' Err bitreich.org 70 i #define ARR_D 'v' Err bitreich.org 70 i Err bitreich.org 70 i- Err bitreich.org 70 i #define HOME 0x01 Err bitreich.org 70 i #define END 0x02 Err bitreich.org 70 i #define MIDDLE 0x04 Err bitreich.org 70 i@@ -51,7 +52,7 @@ Err bitreich.org 70 i #define MIN(x,y) (x) < (y) ? (x) : (y) Err bitreich.org 70 i #define MAX(x,y) (x) > (y) ? (x) : (y) Err bitreich.org 70 i Err bitreich.org 70 i-#define DEBUG 1 Err bitreich.org 70 i+/** #define DEBUG 1 **/ Err bitreich.org 70 i Err bitreich.org 70 i char **screen; Err bitreich.org 70 i int WIDTH, HEIGHT; Err bitreich.org 70 i@@ -64,11 +65,6 @@ int step; Err bitreich.org 70 i int force_new; Err bitreich.org 70 i char cursor; Err bitreich.org 70 i char corner; Err bitreich.org 70 i-char hlines[] = {"-~=#@._ "}; Err bitreich.org 70 i-char vlines[] = {"|H#@:;i "}; Err bitreich.org 70 i-char corners[] = {"+'H#@.\""}; Err bitreich.org 70 i-char st_marks[] = {"+o-|<>^v"}; Err bitreich.org 70 i-char end_marks[] = {">+o-|<^v"}; Err bitreich.org 70 i Err bitreich.org 70 i int hlines_sz= sizeof(hlines) -1; Err bitreich.org 70 i int vlines_sz= sizeof(vlines) -1; Err bitreich.org 70 i@@ -308,22 +304,22 @@ void handle_goto(){ Err bitreich.org 70 i int move_around(char c){ Err bitreich.org 70 i Err bitreich.org 70 i switch(c){ Err bitreich.org 70 i- case 'H': step = 5;/** FALLTHROUGH **/ Err bitreich.org 70 i+ case 'H': step = LONG_STEP;/** FALLTHROUGH **/ Err bitreich.org 70 i case 'h': Err bitreich.org 70 i dir = DIR_L; Err bitreich.org 70 i x -= step; Err bitreich.org 70 i break; Err bitreich.org 70 i- case 'J': step = 5;/** FALLTHROUGH **/ Err bitreich.org 70 i+ case 'J': step = LONG_STEP;/** FALLTHROUGH **/ Err bitreich.org 70 i case 'j': Err bitreich.org 70 i dir = DIR_D; Err bitreich.org 70 i y += step; Err bitreich.org 70 i break; Err bitreich.org 70 i- case 'K': step = 5;/** FALLTHROUGH **/ Err bitreich.org 70 i+ case 'K': step = LONG_STEP;/** FALLTHROUGH **/ Err bitreich.org 70 i case 'k': Err bitreich.org 70 i dir = DIR_U; Err bitreich.org 70 i y -= step; Err bitreich.org 70 i break; Err bitreich.org 70 i- case 'L': step = 5;/** FALLTHROUGH **/ Err bitreich.org 70 i+ case 'L': step = LONG_STEP;/** FALLTHROUGH **/ Err bitreich.org 70 i case 'l': Err bitreich.org 70 i dir = DIR_R; Err bitreich.org 70 i x += step; Err bitreich.org 70 i@@ -687,7 +683,7 @@ void load_file(){ Err bitreich.org 70 i void new_file(){ Err bitreich.org 70 i check_modified(); Err bitreich.org 70 i erase_screen(); Err bitreich.org 70 i- go_to(MIDDLE); Err bitreich.org 70 i+ go_to(HOME); Err bitreich.org 70 i redraw(); Err bitreich.org 70 i fname[0] = '\0'; Err bitreich.org 70 i modified=0; Err bitreich.org 70 .