From 45a36897a79cded827ef6d4576ac4b4562de8baf Mon Sep 17 00:00:00 2001 From: Alpha Chen Date: Fri, 28 Jul 2023 19:07:06 -0700 Subject: [PATCH] fix terminfo for tmux-256color --- dev/macos.yml | 35 ++++++++++++++++------ dev/macos/tmux-256color | 65 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+), 9 deletions(-) create mode 100644 dev/macos/tmux-256color diff --git a/dev/macos.yml b/dev/macos.yml index 1980ca9..86a047d 100644 --- a/dev/macos.yml +++ b/dev/macos.yml @@ -20,18 +20,35 @@ dest: ~/Library/Dictionaries/websters-1913.dictionary - name: Enable Touch ID for sudo + become: yes lineinfile: path: /etc/pam.d/sudo insertafter: '^auth\s+sufficient' regexp: '^auth\s+sufficient\s+pam_tid.so$' line: "auth\tsufficient\tpam_tid.so" - # tmux - - shell: brew --prefix - register: brew_prefix - - lineinfile: - path: /etc/pam.d/sudo - insertbefore: '^auth\tsufficient\tpam_tid.so' - regexp: '^auth\s+optional\s+.*pam_reattach.so$' - line: "auth\toptional\t{{ brew_prefix.stdout | trim }}/lib/pam/pam_reattach.so" - become: true + - name: Enable Touch ID for sudo in tmux + become: yes + lineinfile: + path: /etc/pam.d/sudo + insertbefore: '^auth\tsufficient\tpam_tid.so' + regexp: '^auth\s+optional\s+.*pam_reattach.so$' + line: "auth\toptional\t/opt/homebrew/lib/pam/pam_reattach.so" + + # https://github.com/tmux/tmux/issues/2262 + - name: Fix tmux-256color terminfo + block: + - name: Create temporary file + ansible.builtin.tempfile: + state: file + register: tempfile + - name: Create terminfo source file + ansible.builtin.copy: + src: macos/tmux-256color + dest: "{{ tempfile.path }}" + - name: Install terminfo + command: /usr/bin/tic -x {{ tempfile.path }} + - name: Delete temporary file + ansible.builtin.file: + path: "{{ tempfile.path }}" + state: absent diff --git a/dev/macos/tmux-256color b/dev/macos/tmux-256color new file mode 100644 index 0000000..51852da --- /dev/null +++ b/dev/macos/tmux-256color @@ -0,0 +1,65 @@ +# Reconstructed via infocmp from file: /usr/share/terminfo/t/tmux-256color +tmux-256color|tmux with 256 colors, + OTbs, OTpt, am, hs, km, mir, msgr, xenl, AX, G0, + colors#256, cols#80, it#8, lines#24, pairs#32767, U8#1, + acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, + bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, + clear=\E[H\E[J, cnorm=\E[34h\E[?25h, cr=^M, + csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, + cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, + cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM, + cvvis=\E[34l, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, + dl=\E[%p1%dM, dl1=\E[M, dsl=\E]0;\007, ed=\E[J, el=\E[K, + el1=\E[1K, enacs=\E(B\E)0, flash=\Eg, fsl=^G, home=\E[H, + ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, + ind=^J, is2=\E)0, kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H, + kIC=\E[2;2~, kLFT=\E[1;2D, kNXT=\E[6;2~, kPRV=\E[5;2~, + kRIT=\E[1;2C, kbs=\177, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, + kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, kend=\E[4~, kf1=\EOP, + kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[1;2P, + kf14=\E[1;2Q, kf15=\E[1;2R, kf16=\E[1;2S, kf17=\E[15;2~, + kf18=\E[17;2~, kf19=\E[18;2~, kf2=\EOQ, kf20=\E[19;2~, + kf21=\E[20;2~, kf22=\E[21;2~, kf23=\E[23;2~, + kf24=\E[24;2~, kf25=\E[1;5P, kf26=\E[1;5Q, kf27=\E[1;5R, + kf28=\E[1;5S, kf29=\E[15;5~, kf3=\EOR, kf30=\E[17;5~, + kf31=\E[18;5~, kf32=\E[19;5~, kf33=\E[20;5~, + kf34=\E[21;5~, kf35=\E[23;5~, kf36=\E[24;5~, + kf37=\E[1;6P, kf38=\E[1;6Q, kf39=\E[1;6R, kf4=\EOS, + kf40=\E[1;6S, kf41=\E[15;6~, kf42=\E[17;6~, + kf43=\E[18;6~, kf44=\E[19;6~, kf45=\E[20;6~, + kf46=\E[21;6~, kf47=\E[23;6~, kf48=\E[24;6~, + kf49=\E[1;3P, kf5=\E[15~, kf50=\E[1;3Q, kf51=\E[1;3R, + kf52=\E[1;3S, kf53=\E[15;3~, kf54=\E[17;3~, + kf55=\E[18;3~, kf56=\E[19;3~, kf57=\E[20;3~, + kf58=\E[21;3~, kf59=\E[23;3~, kf6=\E[17~, kf60=\E[24;3~, + kf61=\E[1;4P, kf62=\E[1;4Q, kf63=\E[1;4R, kf7=\E[18~, + kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~, + kind=\E[1;2B, kmous=\E[M, knp=\E[6~, kpp=\E[5~, + kri=\E[1;2A, nel=\EE, op=\E[39;49m, rc=\E8, rev=\E[7m, + ri=\EM, ritm=\E[23m, rmacs=^O, rmcup=\E[?1049l, rmir=\E[4l, + rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, + rs2=\Ec\E[?1000l\E[?25h, sc=\E7, + setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m, + setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m, + sgr=\E[0%?%p6%t;1%;%?%p1%t;3%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;m%?%p9%t\016%e\017%;, + sgr0=\E[m\017, sitm=\E[3m, smacs=^N, smcup=\E[?1049h, + smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, + tbc=\E[3g, tsl=\E]0;, Cr=\E]112\007, Cs=\E]12;%p1%s\007, + E0=\E(B, Ms=\E]52;%p1%s;%p2%s\007, S0=\E(%p1%c, + Se=\E[2 q, Ss=\E[%p1%d q, TS=\E]0;, kDC3=\E[3;3~, + kDC4=\E[3;4~, kDC5=\E[3;5~, kDC6=\E[3;6~, kDC7=\E[3;7~, + kDN=\E[1;2B, kDN3=\E[1;3B, kDN4=\E[1;4B, kDN5=\E[1;5B, + kDN6=\E[1;6B, kDN7=\E[1;7B, kEND3=\E[1;3F, kEND4=\E[1;4F, + kEND5=\E[1;5F, kEND6=\E[1;6F, kEND7=\E[1;7F, + kHOM3=\E[1;3H, kHOM4=\E[1;4H, kHOM5=\E[1;5H, + kHOM6=\E[1;6H, kHOM7=\E[1;7H, kIC3=\E[2;3~, kIC4=\E[2;4~, + kIC5=\E[2;5~, kIC6=\E[2;6~, kIC7=\E[2;7~, kLFT3=\E[1;3D, + kLFT4=\E[1;4D, kLFT5=\E[1;5D, kLFT6=\E[1;6D, + kLFT7=\E[1;7D, kNXT3=\E[6;3~, kNXT4=\E[6;4~, + kNXT5=\E[6;5~, kNXT6=\E[6;6~, kNXT7=\E[6;7~, + kPRV3=\E[5;3~, kPRV4=\E[5;4~, kPRV5=\E[5;5~, + kPRV6=\E[5;6~, kPRV7=\E[5;7~, kRIT3=\E[1;3C, + kRIT4=\E[1;4C, kRIT5=\E[1;5C, kRIT6=\E[1;6C, + kRIT7=\E[1;7C, kUP=\E[1;2A, kUP3=\E[1;3A, kUP4=\E[1;4A, + kUP5=\E[1;5A, kUP6=\E[1;6A, kUP7=\E[1;7A, rmxx=\E[29m, + smxx=\E[9m,