feat(display): windows: full-screen, F1 cycles, OS bar (names, front, user); canvas-only (display-owned buffers, 4 max, reused); launchers OPEN (pm per app, terminal own), window caps minted by display; FORGET on launcher death via init courier; raster crate (font, chunked text); F-keys in input; terminal+snake on canvas; REDRAW gone
This commit is contained in:
@@ -145,7 +145,7 @@ fn run_program(sh: &mut Shell, args: &[&str]) {
|
||||
// A Ctrl+C typed since the last program is not for this one.
|
||||
let _ = syscall::poll(sh.done);
|
||||
match sh.apps.launch(args, Some(TERMINAL), folder) {
|
||||
Ok((process, granted)) => {
|
||||
Ok((process, _granted)) => {
|
||||
if syscall::watch_death(process, sh.done).is_ok() {
|
||||
while syscall::wait(sh.done).is_ok_and(|bits| {
|
||||
if bits & INTERRUPTED != 0 {
|
||||
@@ -157,10 +157,6 @@ fn run_program(sh: &mut Shell, args: &[&str]) {
|
||||
let _ = syscall::kill(process);
|
||||
}
|
||||
syscall::drop_cap(process);
|
||||
// It drew over the terminal and took the keyboard.
|
||||
if Capabilities::from_bits(granted).contains(Capability::Display) {
|
||||
libkos::terminal::redraw(TERMINAL);
|
||||
}
|
||||
}
|
||||
Err(r) => refused(args[0], r),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user