10Unix sends keyboard events to `%dill` from either the console or telnet,
11and `%dill` produces terminal output. The only app that should directly
12talk to `%dill` is the terminal app. Command-line apps are run by,
13receive input from, and produce output to, the `%shell` app, which is
14controlled by `%terminal`, which talks to `%dill`, which talks to unix.
15Clay also uses `%dill` directly to print out the filesystem change
16events, but this is questionable behavior.
18`%dill` has two main components. First, it controls the terminal on a
19very basic, event-by-event level. This includes keeping track of things
20like the dimensions of the terminal, the prompt type (plain text or
21password), which duct to produce effects on, and so forth. Second, it
22handles terminal events, keystroke by keystroke. Most characters are
23simply pushed onto the buffer and blitted to the screen, but some
24characters, including control-modified keys, arrow keys, etc. require
25special handling. Most of the readline functionality is in `%dill`.
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list