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:
@@ -108,6 +108,9 @@ pub(crate) fn sign_in(l: &mut Launcher) -> Result<(), &'static str> {
|
||||
crate::factory::prepare(fs, folder, scratch)?;
|
||||
let name = core::str::from_utf8(&h.name[..h.name_len]).unwrap_or("someone");
|
||||
crate::outln!("init: {} is in", name);
|
||||
if let Some(display) = l.endpoint("display") {
|
||||
crate::output::post(display, libkos::display::set_user_words(name.as_bytes()));
|
||||
}
|
||||
l.user = Some(User { folder, guest });
|
||||
start_session(l);
|
||||
Ok(())
|
||||
@@ -129,6 +132,9 @@ fn start_session(l: &mut Launcher) {
|
||||
pub(crate) fn sign_out(l: &mut Launcher) {
|
||||
l.spawner.clear();
|
||||
l.stop_session();
|
||||
if let Some(display) = l.endpoint("display") {
|
||||
crate::output::post(display, libkos::display::set_user_words(b""));
|
||||
}
|
||||
let user = l.user.take();
|
||||
let (fs, _) = l.storage();
|
||||
let locked = fs.lock().is_ok();
|
||||
|
||||
Reference in New Issue
Block a user