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:
@@ -33,6 +33,10 @@ pub const APPS: usize = 8;
|
||||
/// an app granted `permissions`: through it only `LIST`, `APPS`, `REVOKE`
|
||||
/// and `ALLOW` work, never installing or launching.
|
||||
pub const MANAGE_BADGE: usize = 1 << 61;
|
||||
/// On the copy of the endpoint an app granted `launch` gets (Home): it may
|
||||
/// only `APPS` and `LAUNCH`, and pass nothing along (no `PASS_OUTPUT`,
|
||||
/// `PASS_FOLDER`). One copy may carry both bits.
|
||||
pub const LAUNCH_BADGE: usize = 1 << 60;
|
||||
|
||||
/// The request page's size.
|
||||
pub const PAGE_SIZE: usize = 4096;
|
||||
|
||||
@@ -113,13 +113,26 @@ pub mod window {
|
||||
/// accent, `0xrrggbb`. The theme the window is handed carries it where
|
||||
/// it passes contrast (`theme::with_accent`).
|
||||
pub const ACCENT: usize = 12;
|
||||
/// Through a window, before its buffer is asked for and once: word 1
|
||||
/// what it is (`role`). A window given none (the terminal's) is
|
||||
/// neither closed by `CLOSE_KEY` nor brought up by `HOME_KEY`.
|
||||
pub const ROLE: usize = 13;
|
||||
pub mod role {
|
||||
/// An app's: `CLOSE_KEY` closes it.
|
||||
pub const APP: usize = 1;
|
||||
/// Home: `HOME_KEY` brings it to the front.
|
||||
pub const HOME: usize = 2;
|
||||
}
|
||||
/// The event (in place of an input event's tag) every window gets when
|
||||
/// the theme changes: ask for it again.
|
||||
pub const THEME_CHANGED: usize = 16;
|
||||
|
||||
/// The function key that brings the next window to the front; the
|
||||
/// display keeps it to itself.
|
||||
/// Function keys the display keeps to itself: the next window to the
|
||||
/// front (Alt+Tab is the same key), Home to the front, and the app in
|
||||
/// front closed (its window goes, so its next call to it fails).
|
||||
pub const SWITCH_KEY: usize = 1;
|
||||
pub const HOME_KEY: usize = 2;
|
||||
pub const CLOSE_KEY: usize = 4;
|
||||
|
||||
/// On the badge of every window capability; launchers' badges are
|
||||
/// small, so the two never meet.
|
||||
|
||||
Reference in New Issue
Block a user