TODO ---- Features that should be explored. - Better text-input support. From setsyx(3): The setsyx routine sets the virtual screen cursor to y, x. If y and x are both -1, then leaveok is set. The two routines getsyx and setsyx are designed to be used by a library routine, which manipulates curses windows but does not want to change the current position of the program cursor. The library routine would call getsyx at the beginning, do its manipulation of its own windows, do a wnoutrefresh on its windows, call setsyx, and then call doupdate. - When the user wants to "view" a commit, you could show from which branch heads and from which tags the commit is reachable, and perhaps which tag is the latest among the ones reachable from that commit, as part of the commit detail information you display on the lower pane (log/diff view). - Use non-blocking I/O + select() for incremental loading of view input. (debian bug #427093) - Split sources of tig.c into multiple files. - Rewrite revgraph handling. - Color the revgraph to make it easier to follow branches. Idea by Dominik Vogt. - Blame view: Allow names in the author column to be abbreviated to initials. Will optimize screen usage for the blame view. - Blame view: make it possible to jump/load blame for parents. Idea by Jeff King.