TUI: how to open link in a new tab / bugs: resize, search widget on 80x25 in split view mode
clagrange built via build-tui.sh from dev branch as of 2022aug13 on debian-testing.
It looks quite usable, but as a convicted mutli-tabber I found a blocker for me...
Questions:
- How do I open a link in a new background tab? Is there a keyboard shortcut for this, similar to how F followed by Shift-LINKMARKER opens a link in the other view in split-view mode? I couldn't use any combination of modifiers or mouse clicks for this either...
Observations (possibly to document for TUI-mode in about:help):
- I found that some key actions changed from about:help in loosing the need to press control. I was beginning to give up on clagrange, but then I noted the pattern. E.g. CONTROL-1 to CONTROL-5 becoming 1..5 (CONTROL-1 and 1 was the same for me, CONTROL-2 a no-op, and one of CONTROL-3 to 5 (dunno) quit). What was the reason for dropping CONTROL?
- Also missing in about:help (but I found it in the menu shortcuts): split pane works nicely with prefix CONTROL-J (once found, this actually is quite nice to use)
- mouse seems unsupported (at least in urxvt and xterm)
Bugs:
- split view search bug: in a split view in an 80x25 terminal, search (CONTROL-F) either fails to work or even results in busy waiting. Bug is not triggerable for me in a larger window.
- resize bug: resize window leads to ~5 sec of blinking, then to a crash:
lagrange/lagrange/lib/sealcurses/src/events.c:57: push_EventQueue: Assertion 'd->head != d->tail' failed(please note that I replaced the initial backquote in the error message, for markdown)
Please note that clagrange remains somewhat experimental, which is why it's manual-build only. The Help page for TUI mode has not been written since the behavior of the TUI is not set in stone.
How do I open a link in a new background tab?
Adding a binding specifically for this would make sense but currently there isn't one. Instead, one can do this:
- Press
Hand pick a link to activate the link hover mode. - Press the context menu key
/, which shows the link context menu in hover mode. - Select a suitable tab opening menu item.
What was the reason for dropping CONTROL?
This is due to the Curses library that handles keyboard input in the terminal. Many ASCII control codes are actually typed as Ctrl+something, so Ctrl is not always available for custom bindings. Also, Ctrl+4 sends a quit signal to the application, bypassing normal event processing. AFAIK, that is done by the terminal emulator itself so Curses and Lagrange need to respect it like any other terminal program.
mouse seems unsupported
Correct, mouse events are not being handled currently.
resize bug: resize window leads to ~5 sec of blinking, then to a crash
Is this something that happens to you in every terminal emulator and or window system, or is it specific to some? It sounds like an event overflow, possibly because when you resize the window, the system is sending excessive window events. In any case, I need to add protection in SEALCurses against these situations.
Thx for the tip with the hover mode, slightly cumbersome, but does the trick :).
resize bug: speed seems to vary depending on terminal emulator, but crashing it does in the tested ones: xterm, kitty, konsole, even in tmux. Thankfully, I've not yet switched to tiling window managers...
another missing doc: clagrange seems to consider about the end of the first third to be the top of the active section, as I never saw link letters (pressing F) being activate in the top third. This notion and the lack of a kind of visible cursor were a bit confusing for me (as I've yet to switch to keyboard nav in the X version).