gcla / gowid

Compositional widgets for terminal user interfaces, written in Go, inspired by urwid.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gowid-terminal example hangs on DEL (xterm/vt220 backspace)

opened this issue · comments

Using xterm, running gowid-terminal, if I press backspace (^?, DEL), the terminal demo hangs on all input. Some bits from my .Xresources that might be helpful:

Xterm*metaSendsEscape:	 true
Xterm*backarrowKey:	 false
Xterm*decTerminalID: vt340
Xterm*numColorRegisters: 1024
Xterm*scrollBar: false
Xterm*allowWindowOps: true

Some other issues:

I am the author of Jexer, another TUI framework, and am testing gowid's terminal support for its features. If you run 'java -jar path/to/jexer.jar', you may also notice these two issues:

  • Privacy Message (ESC ^ {stuff} ESC \) is not being consumed/discarded. You will see "hideMousePointer" or "showMousePointer" in output when exiting the demo.
  • The DCS sequence for sixel output is not consumed/discarded. If you load an image (via the Tools / hamburger menu | "Open image..."), its sixel output will leave garbage all over the screen.

When I ran gowid-terminal inside Jexer's terminal widget, I also encountered a crash (panic out of range). Jexer runs its terminals inside either 'script -fqe /dev/null' or ptypipe. Under ptypipe, no problem, but under 'script', I'm sometimes seeing this crash:

gowid_terminal_1

The easiest way for me to see it was: 'java -Djexer.Swing=true path/to/jexer.jar', then press "Terminal" button, then inside that gowid-terminal and move the mouse over the terminal window.

Many thanks for this detailed report and test cases!

I should sheepishly admit that I was unaware of jexer, but I've just been going through your front page, and the examples look great.

Hi @klamonte - only four months later(!) I think these issues are now resolved. Thanks again for the detailed report. I've really enjoyed experimenting with jexer and will recommend it to all my java-writing colleagues!

Hi @klamonte - I wanted to learn more about jexer's support for sixels, and while googling, found this:

https://jexer.sourceforge.io/evolution.html

I don't know if you'll see this message, and it's only a small thing, but for what it's worth, count me among those that find text interfaces to be functional and beautiful, and as a brand new admirer of jexer and its wide range of features. Jexer is obviously a labor of love. Hope you're doing well.