summaryrefslogtreecommitdiff
path: root/src/README-Fl_Terminal.txt
diff options
context:
space:
mode:
authorGreg Ercolano <erco@seriss.com>2024-01-15 14:52:58 -0800
committerGreg Ercolano <erco@seriss.com>2024-01-15 14:52:58 -0800
commitd3914ef90e214c2d06085c63d0c8084a685c67ff (patch)
treee5969861e5608f7f11aaf8a3fda76ca1168ce1a9 /src/README-Fl_Terminal.txt
parent3142eb2fda9f24910ddfbc9160653473df05c72c (diff)
Addresses issue #879
Diffstat (limited to 'src/README-Fl_Terminal.txt')
-rw-r--r--src/README-Fl_Terminal.txt46
1 files changed, 45 insertions, 1 deletions
diff --git a/src/README-Fl_Terminal.txt b/src/README-Fl_Terminal.txt
index 4b1b6bc00..5e9018643 100644
--- a/src/README-Fl_Terminal.txt
+++ b/src/README-Fl_Terminal.txt
@@ -303,7 +303,51 @@ Some terminal operations necessarily call redraw() directly, such as interactive
selection, or during user scrolling the terminal's scrollbar, where it's important there's
no delay in what the user sees while interacting directly with the widget.
-
+TERMINAL RESIZING
+=================
+Resizing currently follows xterm(1) style behavior:
+
+ CASE 1: ENLARGE, USING HISTORY:
+ -2 Line 1 ┐_ scrollback
+ -1 Line 2 ┘ history
+ ┌──────────────────┐ ┌──────────────────┐
+ 1│ Hello! │ 1│ Line 1 │
+ 2│ ▒ │ enlarge 2│ Line 2 │
+ └──────────────────┘ ──┐ 3│ Hello! │
+ │ 4│ ▒ │
+ └──────> └──────────────────┘
+ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄
+ CASE 2: ENLARGE, ADDING LINES BELOW CURSOR
+ ┌──────────────────┐ ┌──────────────────┐
+ 1│ Line 1 │ 1│ Line 1 │
+ 2│ Line 2 │ enlarge 2│ Line 2 │
+ 3│ Hello! │ 3│ Hello! │
+ 4│ ▒ │ 4│ ▒ │
+ └──────────────────┘ ──┐ 5│ │
+ │ 6│ │
+ └──────> └──────────────────┘
+ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄
+ CASE 3: SHRINK, TRIMMING LINES BELOW CURSOR
+ ┌──────────────────┐ ┌──────────────────┐
+ 1│ Line 1 │ 1│ Line 1 │
+ 2│ Line 2 │ 2│ Line 2 │
+ 3│ Hello! │ resize 3│ Hello! │
+ 4│ ▒ │ 4│ ▒ │
+ 5│ │ ╭────> └──────────────────┘
+ 6│ │ │ 5 ┐ Lines below cursor erased
+ └──────────────────┘ ──╯ 6 ┘ (regardless of contents)
+ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄
+ CASE 4: SHRINK, PUSH TO HISTORY: -2 Line 1 ┐_ moved into
+ -1 Line 2 ┘ scrollback history
+ ┌──────────────────┐ ┌──────────────────┐
+ 1│ Line 1 │ 1│ Hello! │
+ 2│ Line 2 │ resize 2│ ▒ │
+ 3│ Hello! │ ╭────> └──────────────────┘
+ 4│ ▒ │ │
+ └──────────────────┘ ──╯
+
+These case numbers (CASE 1 tru 4) are referenced in the source code for
+Fl_Terminal::refit_disp_to_screen(void).
OLD OLD OLD OLD OLD OLD OLD OLD OLD OLD OLD