xdebug

next generation of mdebug (work in progress)
git clone http://frotz.net/git/xdebug.git
Log | Files | Refs | README

README.md (4008B)


      1 
      2 ## README
      3 
      4 This is a fork of https://github.com/nsf/termbox
      5 as of commit a04f34c11494a1dbfb6286fc95470dea4086c520
      6 "Add a note: project is no longer maintained"
      7 
      8 This README has been trimmed down to just the introduction and changelog
      9 (below) which remain unchanged from the upstream version:
     10 
     11 ## Termbox
     12 
     13 Termbox is a library that provides minimalistic API which allows the
     14 programmer to write text-based user interfaces.
     15 
     16 It is based on a very simple abstraction. The main idea is viewing terminals as
     17 a table of fixed-size cells and input being a stream of structured
     18 messages. Would be fair to say that the model is inspired by windows console
     19 API. The abstraction itself is not perfect and it may create problems in certain
     20 areas. The most sensitive ones are copy & pasting and wide characters (mostly
     21 Chinese, Japanese, Korean (CJK) characters). When it comes to copy & pasting,
     22 the notion of cells is not really compatible with the idea of text. And CJK
     23 runes often require more than one cell to display them nicely. Despite the
     24 mentioned flaws, using such a simple model brings benefits in a form of
     25 simplicity. And KISS principle is important.
     26 
     27 At this point one should realize, that CLI (command-line interfaces) aren't
     28 really a thing termbox is aimed at. But rather pseudo-graphical user interfaces.
     29 
     30 ### Getting started
     31 
     32 Termbox's interface only consists of 12 functions::
     33 
     34 ```
     35 tb_init() // initialization
     36 tb_shutdown() // shutdown
     37 
     38 tb_width() // width of the terminal screen
     39 tb_height() // height of the terminal screen
     40 
     41 tb_clear() // clear buffer
     42 tb_present() // sync internal buffer with terminal
     43 
     44 tb_put_cell()
     45 tb_change_cell()
     46 tb_blit() // drawing functions
     47 
     48 tb_select_input_mode() // change input mode
     49 tb_peek_event() // peek a keyboard event
     50 tb_poll_event() // wait for a keyboard event
     51 ```
     52 
     53 See src/termbox.h header file for full detail.
     54 
     55 ### Changes
     56 
     57 v1.1.2:
     58 
     59 - Properly include changelog into the tagged version commit. I.e. I messed up
     60   by tagging v1.1.1 and describing it in changelog after tagged commit. This
     61   commit marked as v1.1.2 includes changelog for both v1.1.1 and v1.1.2. There
     62   are no code changes in this minor release.
     63 
     64 v1.1.1:
     65 
     66 - Ncurses 6.1 compatibility fix. See https://github.com/nsf/termbox-go/issues/185.
     67 
     68 v1.1.0:
     69 
     70 - API: tb_width() and tb_height() are guaranteed to be negative if the termbox
     71   wasn't initialized.
     72 - API: Output mode switching is now possible, adds 256-color and grayscale color
     73   modes.
     74 - API: Better tb_blit() function. Thanks, Gunnar Zötl <gz@tset.de>.
     75 - API: New tb_cell_buffer() function for direct back buffer access.
     76 - API: Add new init function variants which allow using arbitrary file
     77   descriptor as a terminal.
     78 - Improvements in input handling code.
     79 - Calling tb_shutdown() twice is detected and results in abort() to discourage
     80   doing so.
     81 - Mouse event handling is ported from termbox-go.
     82 - Paint demo port from termbox-go to demonstrate mouse handling capabilities.
     83 - Bug fixes in code and documentation.
     84 
     85 v1.0.0:
     86 
     87 - Remove the Go directory. People generally know about termbox-go and where
     88   to look for it.
     89 - Remove old terminfo-related python scripts and backport the new one from
     90   termbox-go.
     91 - Remove cmake/make-based build scripts, use waf.
     92 - Add a simple terminfo database parser. Now termbox prefers using the
     93   terminfo database if it can be found. Otherwise it still has a fallback
     94   built-in database for most popular terminals.
     95 - Some internal code cleanups and refactorings. The most important change is
     96   that termbox doesn't leak meaningless exported symbols like 'keys' and
     97   'funcs' now. Only the ones that have 'tb_' as a prefix are being exported.
     98 - API: Remove unsigned ints, use plain ints instead.
     99 - API: Rename UTF-8 functions 'utf8_*' -> 'tb_utf8_*'.
    100 - API: TB_DEFAULT equals 0 now, it means you can use attributes alones
    101   assuming the default color.
    102 - API: Add TB_REVERSE.
    103 - API: Add TB_INPUT_CURRENT.
    104 - Move python module to its own directory and update it due to changes in the
    105   termbox library.