Comment by blueflow

6 months ago

> So it’s like Playwright/Puppeteer for the terminal

I mean, a tty is just a file descriptor... there have been script(1), expect(1) and chat(8) since the 80ies. tmux is not really necessary.

"tmux capture-pane" strips escape sequences that break the terminal and sets all the right variables; try using expect with e.g. neovim

  • You right, it's pseudo terminal needed. The module pty of python can do this

    • maybe I'm biased, but python feels like endless boilerplate for unixy stuff

      also I'm mostly using it to prepare an interactive environment anyway, so I don't see alternatives for my usecase (maybe zellij, but they don't even support sending keystrokes to a specific pane)

  • I did use a shell script and script(1) to automate vi. Don't see the issue?

    • I suppose things that cause most of the problems don't exist in vi, eg (24 bit) color, image protocols or $TERM dependent features

These are all great. If you need to do something more involved, pexpect is also worth mentioning. It's a reimplementation of expect in python that's easy to be productive with quickly.

I used it in a previous job to automate configuring thousands of network devices