aboutsummaryrefslogtreecommitdiff
path: root/ui-terminal.c
AgeCommit message (Collapse)AuthorFilesLines
2017-06-27Merge branch 'theme-tweaks-2' of https://github.com/p-e-w/visMarc André Tanner1-1/+2
Conflicts: view.c
2017-06-15vis: rename uses of Cursor to SelectionMarc André Tanner1-2/+2
2017-06-15view: rename view_cursors_primary_{get,set}Marc André Tanner1-1/+1
2017-06-10More theme improvementsPhilipp Emanuel Weidmann1-1/+2
2017-05-30ui: reopen terminal read-writeableMarc André Tanner1-1/+1
libtermkey fails if the terminal file descriptor is read only. This should fix the `v` command in less(1).
2017-04-28ui: ignore whitespace when parsing style optionsMarc André Tanner1-6/+10
2017-03-22ui: try to fix job control issues with certain shellsMarc André Tanner1-5/+3
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.
2017-03-22view: rename view_dirty to view_invalidateMarc André Tanner1-3/+3
2017-03-17ui: explicitly initialize cell matrix after resizeMarc André Tanner1-0/+1
2017-03-16ui: further cleanup display codeMarc André Tanner1-33/+16
2017-03-16ui: fix display artifacts in info lineMarc André Tanner1-10/+10
We need to clear the info line before displaying a new message, otherwise parts of the old cell contents might remain visible.
2017-03-15ui: add some bound checksMarc André Tanner1-0/+4
2017-03-14Add experimental raw vt100 UI backendMarc André Tanner1-0/+4
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.
2017-03-14Restructure display codeMarc André Tanner1-0/+727
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.