feat(userspace): terminal server + shell desktop; US keymap w/ shift; libkos allocator multi-page fix; panics print
This commit is contained in:
@@ -94,6 +94,13 @@ client. It subscribes to the input server with a notification, drains it
|
||||
when signalled, and passes events on to the app in focus: the last one to
|
||||
subscribe (`types::display::input`). Apps out of focus get nothing.
|
||||
|
||||
The terminal server takes focus and draws text with the display server's
|
||||
font. Its output side is the log protocol (`types::log`), so a program whose
|
||||
log endpoint is the terminal prints there with `println!`: standard output
|
||||
is whatever text endpoint a program was given. `READ` (`types::terminal`)
|
||||
blocks until a line is typed and returns it in chunks, the last ending in
|
||||
`\n`. The desktop is the shell, given the terminal.
|
||||
|
||||
Only init holds `ProcessCreate`. Everyone else runs programs through init's
|
||||
spawn service (`types::spawn`, client `libkos::spawn`), which init serves
|
||||
once boot is done. A manifest entry with `spawns` gets a badged copy of
|
||||
|
||||
Reference in New Issue
Block a user