From e3bd713f374384f545aa00ba688d6615747c7fc6 Mon Sep 17 00:00:00 2001
From: Ziusudra <ziusudra@gmail.com>
Date: Sat, 15 Dec 2012 16:29:06 -0700
Subject: [PATCH 1/9] Add a Haiku termcap entry
- This describes the current capabilities of Terminal
- keep it separate, for now at least, I hope to update the master
termcap.src but have to figure out how to fix our gimpy ncurses.a
---
src/apps/terminal/Shell.cpp | 2 +-
src/libs/termcap/Jamfile | 22 +++++++++++++++++-----
src/libs/termcap/termcap.haiku | 19 +++++++++++++++++++
3 files changed, 37 insertions(+), 6 deletions(-)
create mode 100644 src/libs/termcap/termcap.haiku
diff --git a/src/apps/terminal/Shell.cpp b/src/apps/terminal/Shell.cpp
index 12c3c92..b213f9b 100644
a
|
b
|
Shell::_Spawn(int row, int col, const ShellParameters& parameters)
|
539 | 539 | /* |
540 | 540 | * setenv TERM and TTY. |
541 | 541 | */ |
542 | | setenv("TERM", "xterm", true); |
| 542 | setenv("TERM", "haiku", true); |
543 | 543 | setenv("TTY", ttyName, true); |
544 | 544 | setenv("TTYPE", parameters.Encoding(), true); |
545 | 545 | |
diff --git a/src/libs/termcap/Jamfile b/src/libs/termcap/Jamfile
index dd56674..9eab1ba 100644
a
|
b
|
SetSubDirSupportedPlatformsBeOSCompatible ;
|
7 | 7 | SubDirCcFlags -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DTERMCAP_FILE=\'\"/etc/termcap\"\' -w ; |
8 | 8 | } |
9 | 9 | |
10 | | StaticLibrary libtermcap.a : |
| 10 | StaticLibrary libtermcap.a : |
11 | 11 | termcap.c tparam.c version.c |
12 | 12 | ; |
13 | 13 | |
14 | | # Build the /etc/termcap file. It's already ready to use, but we filter out the |
| 14 | # Build the /etc/termcap file. Start with our own entry. |
| 15 | |
| 16 | actions StartTermcap { |
| 17 | cat $(2) > $(1) |
| 18 | } |
| 19 | |
| 20 | # Then add the master. It's already ready to use, but we filter out the |
15 | 21 | # comments. |
16 | 22 | |
17 | | actions BuildTermcap { |
18 | | grep -v '^#' $(2) > $(1) |
| 23 | actions FinishTermcap { |
| 24 | grep -v '^#' $(2) >> $(1) |
19 | 25 | } |
20 | 26 | |
21 | 27 | local termcap = <etc>termcap ; |
22 | 28 | MakeLocateCommonPlatform $(termcap) ; |
| 29 | |
| 30 | local termcapHaiku = [ FGristFiles termcap.haiku ] ; |
| 31 | SEARCH on $(termcapHaiku) = $(SUBDIR) ; |
| 32 | Depends $(termcap) : $(termcapHaiku) ; |
| 33 | StartTermcap $(termcap) : $(termcapHaiku) ; |
| 34 | |
23 | 35 | local termcapSource = [ FGristFiles termcap.src ] ; |
24 | 36 | SEARCH on $(termcapSource) = $(SUBDIR) ; |
25 | 37 | Depends $(termcap) : $(termcapSource) ; |
26 | | BuildTermcap $(termcap) : $(termcapSource) ; |
| 38 | FinishTermcap $(termcap) : $(termcapSource) ; |
diff --git a/src/libs/termcap/termcap.haiku b/src/libs/termcap/termcap.haiku
new file mode 100644
index 0000000..e9073ea
-
|
+
|
|
| 1 | |
| 2 | haiku|Haiku Terminal:\ |
| 3 | :NL:NP:am:bs:mi:ms:xn:xt:\ |
| 4 | :Co#256:co#80:it#8:li#25:pa#32767:\ |
| 5 | :@7=\EOF:AB=\E[48;5;%dm:AF=\E[38;5;%dm:AL=\E[%dL:\ |
| 6 | :DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:F1=\E[23~:F2=\E[24~:\ |
| 7 | :Km=\E[M:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:\ |
| 8 | :UP=\E[%dA:ac=aajjkkllmmnnqqttuuvvwwxx:\ |
| 9 | :ae=\E(B:al=\E[L:as=\E(0:bl=^G:cb=\E[1K:cd=\E[J:ce=\E[K:\ |
| 10 | :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:\ |
| 11 | :cs=\E[%i%d;%dr:ct=\E[3g:cv=\E[%i%dd:dc=\E[P:dl=\E[M:\ |
| 12 | :do=^K:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:k1=\EOP:k2=\EOQ:\ |
| 13 | :k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\ |
| 14 | :k9=\E[20~:k;=\E[21~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:\ |
| 15 | :kb=^H:kd=\EOB:kh=\EOH:kl=\EOD:kr=\EOC:ku=\EOA:le=^H:\ |
| 16 | :md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:nl=^K:nw=^J:\ |
| 17 | :op=\E[39;49m:rc=\E8:sc=\E7:se=\E[27m:sf=\E[S:so=\E[7m:\ |
| 18 | :sr=\E[T:st=\EH:ta=^I:te=\E[?1049l:ti=\E[?1049h:u7=\E[6n:\ |
| 19 | :u9=\E[c:ue=\E[24m:up=\E[A:us=\E[4m: |