Ticket #9293: 0001-Add-a-Haiku-termcap-entry.patch

File 0001-Add-a-Haiku-termcap-entry.patch, 3.4 KB (added by Ziusudra, 11 years ago)
  • src/apps/terminal/Shell.cpp

    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)  
    539539        /*
    540540         * setenv TERM and TTY.
    541541         */
    542         setenv("TERM", "xterm", true);
     542        setenv("TERM", "haiku", true);
    543543        setenv("TTY", ttyName, true);
    544544        setenv("TTYPE", parameters.Encoding(), true);
    545545
  • src/libs/termcap/Jamfile

    diff --git a/src/libs/termcap/Jamfile b/src/libs/termcap/Jamfile
    index dd56674..9eab1ba 100644
    a b SetSubDirSupportedPlatformsBeOSCompatible ;  
    77    SubDirCcFlags -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1  -DTERMCAP_FILE=\'\"/etc/termcap\"\' -w ;
    88}
    99
    10 StaticLibrary libtermcap.a : 
     10StaticLibrary libtermcap.a :
    1111    termcap.c tparam.c version.c
    1212;
    1313
    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
     16actions StartTermcap {
     17    cat $(2) > $(1)
     18}
     19
     20# Then add the master. It's already ready to use, but we filter out the
    1521# comments.
    1622
    17 actions BuildTermcap {
    18     grep -v '^#' $(2) > $(1)
     23actions FinishTermcap {
     24    grep -v '^#' $(2) >> $(1)
    1925}
    2026
    2127local termcap = <etc>termcap ;
    2228MakeLocateCommonPlatform $(termcap) ;
     29
     30local termcapHaiku = [ FGristFiles termcap.haiku ] ;
     31SEARCH on $(termcapHaiku) = $(SUBDIR) ;
     32Depends $(termcap) : $(termcapHaiku) ;
     33StartTermcap $(termcap) : $(termcapHaiku) ;
     34
    2335local termcapSource = [ FGristFiles termcap.src ] ;
    2436SEARCH on $(termcapSource) = $(SUBDIR) ;
    2537Depends $(termcap) : $(termcapSource) ;
    26 BuildTermcap $(termcap) : $(termcapSource) ;
     38FinishTermcap $(termcap) : $(termcapSource) ;
  • new file src/libs/termcap/termcap.haiku

    diff --git a/src/libs/termcap/termcap.haiku b/src/libs/termcap/termcap.haiku
    new file mode 100644
    index 0000000..e9073ea
    - +  
     1
     2haiku|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: