Terminal-based user interface toolkit
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

3.2 KiB

This document explains why tview was forked to create cview. It also explains any differences between the projects and tracks which tview pull requests have been merged into cview.

Why fork?

rivo, the creator and sole maintainer of tview, explains his reviewing and merging process in a GitHub comment.

He states that he does not have the necessary time or interest to review, discuss and merge pull requests:

this project is quite low in priority. It doesn't generate any income for me and, unfortunately, reviewing issues and PRs is also not much "fun".

But some other people submitted large PRs which will cost me many hours to review. (I had to chuckle a bit when I saw this comment.)

Lastly, I'm the one who ends up maintaining this code. I have to be 100% behind it, understand it 100%, and be able to make changes to it later if necessary.

cview aims to solve these issues by increasing the number of project maintainers and allowing code changes which may be outside of tview's scope.

Differences

cview is thread-safe

tview is not thread-safe.

Application.QueueUpdate and Application.QueueUpdateDraw do not block

tview blocks until the queued function returns.

Double clicks are not handled by default

All clicks are handled as single clicks until an interval is set with Application.SetDoubleClickInterval.

Setting a primitive's background color to tcell.ColorDefault does not result in transparency

Call Box.SetBackgroundTransparent to enable background transparency.

Tables are sorted when a fixed row is clicked by default

Call [Table.SetSortClicked] to disable this behavior.

Lists and Forms do not wrap around by default

Call List.SetWrapAround to wrap around when navigating.

Merged pull requests

The following tview pull requests have been merged into cview: