iallow [ENTER] in box, arrow, erase, and visual mode - 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 0325743daff41b74466fb198eee5774d0c2ac004 /scm/gramscii/commit/0325743daff41b74466fb198eee5774d0c2ac004.gph bitreich.org 70 1parent 0c2294582b16427c87114418b9f154588dc641e0 /scm/gramscii/commit/0c2294582b16427c87114418b9f154588dc641e0.gph bitreich.org 70 hAuthor: KatolaZ URL:mailto:katolaz@freaknet.org bitreich.org 70 iDate: Mon, 22 Jul 2019 15:34:03 +0100 Err bitreich.org 70 i Err bitreich.org 70 iallow [ENTER] in box, arrow, erase, and visual mode Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M TODO | 3 ++- Err bitreich.org 70 i M gramscii.1 | 29 +++++++++++++++++++++++------ Err bitreich.org 70 i M gramscii.c | 12 ++++++------ Err bitreich.org 70 i Err bitreich.org 70 i3 files changed, 31 insertions(+), 13 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/TODO b/TODO /scm/gramscii/file/TODO.gph bitreich.org 70 i@@ -4,7 +4,6 @@ Err bitreich.org 70 i - change screen management (i.e., dynamic array of lines) Err bitreich.org 70 i - get screen geometry Err bitreich.org 70 i - add action multiplier (e.g., "7h" moves left by 7 cols) Err bitreich.org 70 i-- use [ENTER] to confirm arrow, boxes, and text (useful for scripting) Err bitreich.org 70 i - add scripting mode option ("-s"?) Err bitreich.org 70 i - add screen geometry option (-g 25x80?) Err bitreich.org 70 i - read file at point Err bitreich.org 70 i@@ -22,6 +21,8 @@ Err bitreich.org 70 i (also do not print unmanaged chars!) Err bitreich.org 70 i - allow scrolling (both vertical and horizontal) Err bitreich.org 70 i - auto-arrow 'A' (automatic end-char) Err bitreich.org 70 i+* allow the use of [ENTER] to confirm arrow, boxes, and text (useful Err bitreich.org 70 i+ for scripting) Err bitreich.org 70 i * change "g" command: Err bitreich.org 70 i - g-g (goto top-left) Err bitreich.org 70 i - g-G (goto bottom-right) Err bitreich.org 70 1diff --git a/gramscii.1 b/gramscii.1 /scm/gramscii/file/gramscii.1.gph bitreich.org 70 i@@ -103,7 +103,7 @@ which will move in the corresponding direction by 5 units at a time. Err bitreich.org 70 i Initiate a global positioning command (go). These are two-letter Err bitreich.org 70 i commands starting with a Err bitreich.org 70 i .BI g Err bitreich.org 70 i-and followed by a direction command or by a letter that indicates a Err bitreich.org 70 i+and followed by a direction command or by a character that indicates a Err bitreich.org 70 i global position, namely: Err bitreich.org 70 i .RS Err bitreich.org 70 i .TP 5m Err bitreich.org 70 i@@ -147,9 +147,11 @@ is equivalent to Err bitreich.org 70 i (or Err bitreich.org 70 i .B gjgl Err bitreich.org 70 i ). Err bitreich.org 70 i-Typing any other character after the first Err bitreich.org 70 i+.PP Err bitreich.org 70 i+Typing Err bitreich.org 70 i .BI g Err bitreich.org 70 i-aborts the global positioning command. Err bitreich.org 70 i+followed by any character that is not listed above has no effect on the Err bitreich.org 70 i+cursor. Err bitreich.org 70 i .RE Err bitreich.org 70 i Err bitreich.org 70 i .SS MODES Err bitreich.org 70 i@@ -181,7 +183,9 @@ mode identify a rectangular box (see Err bitreich.org 70 i MOVEMENTS Err bitreich.org 70 i above). When you are happy with the shape of your box, just press Err bitreich.org 70 i .B b Err bitreich.org 70 i-again to have your box drawn and come back to Err bitreich.org 70 i+again or Err bitreich.org 70 i+.B [ENTER] Err bitreich.org 70 i+to draw the current box permanently and get back to Err bitreich.org 70 i .B move Err bitreich.org 70 i mode. The horizontal and vertical borders of the box are drawn using Err bitreich.org 70 i the current Err bitreich.org 70 i@@ -205,7 +209,9 @@ mode. All movements in Err bitreich.org 70 i .B arrow Err bitreich.org 70 i mode change the position of the end-point of the current arrow. Press Err bitreich.org 70 i .BI a Err bitreich.org 70 i-again to draw the current arrow and come back to Err bitreich.org 70 i+again or Err bitreich.org 70 i+.B [ENTER] Err bitreich.org 70 i+to draw the current arrow and come back to Err bitreich.org 70 i .B move Err bitreich.org 70 i mode. If you press Err bitreich.org 70 i .B [ESC] Err bitreich.org 70 i@@ -237,7 +243,9 @@ while in Err bitreich.org 70 i .BI erase Err bitreich.org 70 i mode, the current erase operation is aborted. Press Err bitreich.org 70 i .B x Err bitreich.org 70 i-again to make the erase permanent and return to Err bitreich.org 70 i+again or Err bitreich.org 70 i+.B [ENTER] Err bitreich.org 70 i+to make the erase permanent and return to Err bitreich.org 70 i .B move Err bitreich.org 70 i mode. Err bitreich.org 70 i .TP 7m Err bitreich.org 70 i@@ -288,6 +296,15 @@ mode and get back to Err bitreich.org 70 i .B move Err bitreich.org 70 i mode. Err bitreich.org 70 i .TP 5m Err bitreich.org 70 i+.BI [ENTER] Err bitreich.org 70 i+same as Err bitreich.org 70 i+.BI v, Err bitreich.org 70 i+i.e., leave Err bitreich.org 70 i+.B visual Err bitreich.org 70 i+mode and get back to Err bitreich.org 70 i+.B move Err bitreich.org 70 i+mode. Err bitreich.org 70 i+.TP 5m Err bitreich.org 70 i .BI [ESC] Err bitreich.org 70 i same as Err bitreich.org 70 i .BI v, Err bitreich.org 70 1diff --git a/gramscii.c b/gramscii.c /scm/gramscii/file/gramscii.c.gph bitreich.org 70 i@@ -485,7 +485,7 @@ void get_box(){ Err bitreich.org 70 i redraw(); Err bitreich.org 70 i step = 1; Err bitreich.org 70 i draw_box(x,y,NOFIX); Err bitreich.org 70 i- while((c=getchar())!=EOF && c != 27 && c!= 'b'){ Err bitreich.org 70 i+ while((c=getchar())!=EOF && c != 27 && c!= 'b' && c != '\n'){ Err bitreich.org 70 i if (change_style(c)) Err bitreich.org 70 i goto update_box; Err bitreich.org 70 i if (!move_around(c)) Err bitreich.org 70 i@@ -498,7 +498,7 @@ update_box: Err bitreich.org 70 i status_bar(); Err bitreich.org 70 i show_cursor(); Err bitreich.org 70 i } Err bitreich.org 70 i- if (c == 'b'){ Err bitreich.org 70 i+ if (c == 'b' || c == '\n'){ Err bitreich.org 70 i draw_box(orig_x, orig_y, FIX); Err bitreich.org 70 i modified = 1; Err bitreich.org 70 i } Err bitreich.org 70 i@@ -563,7 +563,7 @@ void get_arrow(){ Err bitreich.org 70 i redraw(); Err bitreich.org 70 i step = 1; Err bitreich.org 70 i draw_arrow(x,y, arrow, 0, NOFIX); Err bitreich.org 70 i- while((c=getchar())!=EOF && c != 27 && c!= 'a'){ Err bitreich.org 70 i+ while((c=getchar())!=EOF && c != 27 && c!= 'a' && c != '\n'){ Err bitreich.org 70 i if (change_style(c)) Err bitreich.org 70 i goto update_arrow; Err bitreich.org 70 i if (!move_around(c)) Err bitreich.org 70 i@@ -583,7 +583,7 @@ update_arrow: Err bitreich.org 70 i status_bar(); Err bitreich.org 70 i show_cursor(); Err bitreich.org 70 i } Err bitreich.org 70 i- if (c == 'a'){ Err bitreich.org 70 i+ if (c == 'a' || c == '\n'){ Err bitreich.org 70 i draw_arrow(orig_x, orig_y, arrow, arrow_len, FIX); Err bitreich.org 70 i modified = 1; Err bitreich.org 70 i } Err bitreich.org 70 i@@ -616,7 +616,7 @@ void delete(){ Err bitreich.org 70 i int orig_x = x, orig_y = y; Err bitreich.org 70 i status_bar(); Err bitreich.org 70 i show_cursor(); Err bitreich.org 70 i- while((c=getchar())!=EOF && c!=27 && c!= 'x'){ Err bitreich.org 70 i+ while((c=getchar())!=EOF && c!=27 && c!= 'x' && c != '\n'){ Err bitreich.org 70 i if (!move_around(c)) continue; Err bitreich.org 70 i check_bound(); Err bitreich.org 70 i do_delete(orig_x, orig_y); Err bitreich.org 70 i@@ -710,7 +710,7 @@ void visual_box(){ Err bitreich.org 70 i step = 1; Err bitreich.org 70 i set_video(VIDEO_REV); Err bitreich.org 70 i draw_box(x,y,NOFIX); Err bitreich.org 70 i- while((c=getchar())!=EOF && c != 27 && c!= 'v'){ Err bitreich.org 70 i+ while((c=getchar())!=EOF && c != 27 && c!= 'v' && c != '\n'){ Err bitreich.org 70 i if (!move_around(c)) switch(c){ Err bitreich.org 70 i case 'f':/* fill */ Err bitreich.org 70 i f = get_key("fill char: "); /** FALLTHROUGH **/ Err bitreich.org 70 .