feat(desktop): home app (system-only launch cap, LAUNCH_BADGE: apps+launch only), pm starts it with session (relaunch <=5); display keys F1/Alt+Tab next, F2 home, F4 close app (ROLE from launcher, terminal exempt), close returns to previous window; closed window -> app exits; shell 'name &'; launch by id; pm stack 8, storage 16 clients
This commit is contained in:
11
docs/ipc.md
11
docs/ipc.md
@@ -173,7 +173,16 @@ The display server alone holds the screen (`types::display::window`,
|
||||
client `libkos::display`). It draws the OS bar along the top: every
|
||||
window's name, the one in front highlighted, and who is signed in (init
|
||||
says, `SET_USER`). Below it, the window in front fills the screen; one is
|
||||
in front at a time, a new one comes to the front, and F1 brings the next.
|
||||
in front at a time, a new one comes to the front, and F1 (or Alt+Tab) brings
|
||||
the next; closing the one in front brings back the one in front before
|
||||
it. At most 8 windows are open. The display keeps three keys to itself:
|
||||
F1/Alt+Tab, F2 (Home to the front) and F4 (close the app in front). What
|
||||
a window is comes from its launcher before the app runs (`ROLE`): the
|
||||
permission manager says `HOME` for Home and `APP` for every other app; a
|
||||
window given no role (the terminal's) is never closed by F4. Closing an
|
||||
app's window revokes it and signals the app, whose next call through it
|
||||
fails: `libkos::display::poll` says `Closed`, and K-UI apps and
|
||||
`poll_input` users exit, which the permission manager sees as a death.
|
||||
A window is opened (`OPEN`, with the name the bar shows) only through a
|
||||
launcher's copy of the display endpoint, one init gave a system program:
|
||||
the terminal opens its own, the permission manager one for each app
|
||||
|
||||
Reference in New Issue
Block a user