| Age | Commit message (Collapse) | Author | Files | Lines |
|
Conflicts:
view.c
|
|
|
|
|
|
|
|
libtermkey fails if the terminal file descriptor is read only.
This should fix the `v` command in less(1).
|
|
|
|
Make sure that curses and libtermkey don't fight over
the terminal state. Also send use SIGTSTP instead of
SIGSTOP.
Previously certain shells (e.g. csh, dash) would get
stuck after the editor process was suspended for the
second time.
Not completely sure whether this is correct, but it
seems to work in my limited tests.
|
|
|
|
|
|
|
|
We need to clear the info line before displaying a new message,
otherwise parts of the old cell contents might remain visible.
|
|
|
|
The intention of this is not to slowly reimplement curses but to provide
a minimal working terminal UI backend which can also be used for debugging,
fuzzing and in environments where curses is not available.
Currently no attempt is made to optimize terminal output. The amount of
flickering will depend on the smartness of your terminal emulator.
|
|
Use pull instead of push based model for display code. Previously view.c
was calling into the ui frontend code, with the new scheme this switches
around: the necessary data is fetched by the ui as necessary.
The UI independent display code is moved out of view.c/ui-curses.c into
vis.c. The cell styles are now directly embedded into the Cell struct.
New UI styles are introduced for:
- status bar (focused / non-focused)
- info message
- window separator
- EOF symbol
You will have to update your color themes.
The terminal output code is further abstracted into a generic ui-terminal.c
part which keeps track of the whole in-memory cell matrix and #includes
ui-terminal-curses.c for the actual terminal output. This architecture
currently assumes that there are no overlapping windows. It will also
allow non-curses based terminal user interfaces.
|