Adding a good readme file
This commit is contained in:
parent
0589535c9b
commit
6b4466c996
90
README.rst
Normal file
90
README.rst
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
Overview
|
||||||
|
========
|
||||||
|
|
||||||
|
lw_terminal_parser, lw_terminal_vt100, and hl_vt100 are three modules used to emulate a vt100 terminal::
|
||||||
|
|
||||||
|
-------------
|
||||||
|
| |
|
||||||
|
| Your Code |
|
||||||
|
| |
|
||||||
|
-------------
|
||||||
|
| ^
|
||||||
|
vt100 = vt100_headless_init() | |
|
||||||
|
vt100->changed = changed; | | hl_vt100 raises 'changed'
|
||||||
|
vt100_headless_fork(vt100, ... | | when the screen has changed.
|
||||||
|
| | You get the content of the screen
|
||||||
|
| | calling vt100_headless_getlines.
|
||||||
|
V |
|
||||||
|
------------- -------------
|
||||||
|
Read from PTY master and write | | | PTY | |
|
||||||
|
to lw_terminal_vt100_read_str | | hl_vt100 |<------------>| Program |
|
||||||
|
V | |Master Slave| |
|
||||||
|
------------- -------------
|
||||||
|
| |^ hl_vt100 gets lw_terminal_vt100's
|
||||||
|
| || lines by calling
|
||||||
|
| || lw_terminal_vt100_getlines
|
||||||
|
| ||
|
||||||
|
| ||
|
||||||
|
V V|
|
||||||
|
----------------------
|
||||||
|
Got data from | | | Recieve data from callbacks
|
||||||
|
lw_terminal_vt100_read_str | | lw_terminal_vt100 | And store an in-memory
|
||||||
|
give it to | | | state of the vt100 terminal
|
||||||
|
lw_terminal_read_str V ----------------------
|
||||||
|
| ^
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| | Callbacks
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
V |
|
||||||
|
----------------------
|
||||||
|
Got data from | |
|
||||||
|
lw_terminal_pasrser_read_str | lw_terminal_parser |
|
||||||
|
parses, and call callbacks | |
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
lw_terminal_parser
|
||||||
|
==================
|
||||||
|
|
||||||
|
lw_terminal_parser parses terminal escape sequences, calling callbacks
|
||||||
|
when a sequence is sucessfully parsed, read example/parse.c.
|
||||||
|
|
||||||
|
Provides :
|
||||||
|
|
||||||
|
* struct lw_terminal \*lw_terminal_parser_init(void);
|
||||||
|
* void lw_terminal_parser_destroy(struct lw_terminal\* this);
|
||||||
|
* void lw_terminal_parser_default_unimplemented(struct lw_terminal\* this, char \*seq, char chr);
|
||||||
|
* void lw_terminal_parser_read(struct lw_terminal \*this, char c);
|
||||||
|
* void lw_terminal_parser_read_str(struct lw_terminal \*this, char \*c);
|
||||||
|
|
||||||
|
|
||||||
|
lw_terminal_vt100
|
||||||
|
=================
|
||||||
|
|
||||||
|
Hooks into a lw_terminal_parser and keep an in-memory state of the
|
||||||
|
screen of a vt100.
|
||||||
|
|
||||||
|
Provides :
|
||||||
|
* struct lw_terminal_vt100 \*lw_terminal_vt100_init(void \*user_data, void (\*unimplemented)(struct lw_terminal\* term_emul, char \*seq, char chr));
|
||||||
|
* char lw_terminal_vt100_get(struct lw_terminal_vt100 \*vt100, unsigned int x, unsigned int y);
|
||||||
|
* const char \*\*lw_terminal_vt100_getlines(struct lw_terminal_vt100 \*vt100);
|
||||||
|
* void lw_terminal_vt100_destroy(struct lw_terminal_vt100 \*this);
|
||||||
|
* void lw_terminal_vt100_read_str(struct lw_terminal_vt100 \*this, char \*buffer);
|
||||||
|
|
||||||
|
|
||||||
|
hl_vt100
|
||||||
|
========
|
||||||
|
|
||||||
|
Forks a program, plug its io to a pseudo terminal and emulate a vt100
|
||||||
|
using lw_terminal_vt100.
|
||||||
|
|
||||||
|
Provides :
|
||||||
|
* void vt100_headless_fork(struct vt100_headless \*this, const char \*progname, char \*const argv[]);
|
||||||
|
* struct vt100_headless \*vt100_headless_init(void);
|
||||||
|
* const char \*\*vt100_headless_getlines(struct vt100_headless \*this);
|
Loading…
Reference in New Issue
Block a user