From b40b1ba62cd063cf7ac6f4192e3d5a0d56f6924a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Mon, 20 Jan 2020 18:44:55 +0100 Subject: [PATCH] terminfo: sort --- README.md | 18 ++++++++++++++++++ foot.info | 30 +++++++++++++++--------------- 2 files changed, 33 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index ed08b06c..1c63d5f5 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ 1. [Scrollback search](#scrollback-search) 1. [Mouse](#mouse) 1. [Server (daemon) mode](#server-daemon-mode) +1. [Alt/meta](#alt-meta) 1. [Requirements](#requirements) 1. [Running](#running) 1. [Building](#building) @@ -191,6 +192,23 @@ desktop), and then run `footclient` instead of `foot` whenever you want to launch a new terminal. +## Alt/meta + +By default, foot prefixes _Meta characters_ with ESC. This corresponds +to XTerm's `metaSendsEscape` option set to `true`. + +This can be disabled programatically with `\E[?1036l` (and enabled +again with `\E[?1036h`). + +When disabled, foot will instead set the 8:th bit of meta character +and then UTF-8 encode it. This corresponds to XTerm's `eightBitMeta` +option set to `true`. + +This can also be disabled programatically with `rmm` (_reset meta +mode_, `\E[?1034l`), and enabled again with `smm` (_set meta mode_, +'\E[?1034h`). + + ## Requirements ### Running diff --git a/foot.info b/foot.info index f8d74634..baba9dbd 100644 --- a/foot.info +++ b/foot.info @@ -28,6 +28,10 @@ foot+base|foot base fragment, pairs#0x10000, Cr=\E]112\007, Cs=\E]12;%p1%s\007, + E3=\E[3J, + Ms=\E]52;%p1%s;%p2%s\007, + Se=\E[2 q, + Ss=\E[%p1%d q, acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, bel=^G, blink=\E[5m, @@ -38,32 +42,32 @@ foot+base|foot base fragment, cnorm=\E[?12l\E[?25h, cr=\r, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, + cub=\E[%p1%dD, cud1=\n, - cuf=\E[%p1%dC, + cud=\E[%p1%dB, cuf1=\E[C, + cuf=\E[%p1%dC, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A,cvvis=\E[?12;25h, - dch=\E[%p1%dP, + cuu=\E[%p1%dA, dch1=\E[P, + dch=\E[%p1%dP, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[M, + dl=\E[%p1%dM, ech=\E[%p1%dX, ed=\E[J, - el=\E[K, el1=\E[1K, + el=\E[K, flash=\E]555\007, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, - il=\E[%p1%dL, il1=\E[L, + il=\E[%p1%dL, ind=\n, indn=\E[%p1%dS, initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\, @@ -219,7 +223,7 @@ foot+base|foot base fragment, ritm=\E[23m, rmacs=\E(B, rmam=\E[?7l, - rmcup=\E[?1049l\E[23;0t, + rmcup=\E[?1049l\E[23;0;0t, rmir=\E[4l, rmkx=\E[?1l\E>, rmm=\E[?1034l, @@ -229,12 +233,12 @@ foot+base|foot base fragment, rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7, - sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m, sgr0=\E(B\E[m, + sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m, sitm=\E[3m, smacs=\E(0, smam=\E[?7h, - smcup=\E[?1049h\E[22;0t, + smcup=\E[?1049h\E[22;0;0t, smir=\E[4h, smkx=\E[?1h\E=, smm=\E[?1034h, @@ -247,10 +251,6 @@ foot+base|foot base fragment, u8=\E[?%[;0123456789]c, u9=\E[c, vpa=\E[%i%p1%dd, - E3=\E[3J, - Ms=\E]52;%p1%s;%p2%s\007, - Se=\E[2 q, - Ss=\E[%p1%d q, # XM tells ncurses how to initialize the mouse. The xterm terminfo # uses this to enable SGR (1006h). However, doing this also requirese