feat.airapp与融合桌面

This commit is contained in:
lincube
2026-05-14 19:44:01 +08:00
parent ada0cd4a3a
commit a5abda62dc
64 changed files with 3617 additions and 362 deletions

View File

@@ -0,0 +1,8 @@
# Checklist
- [x] Descriptor supports Standard, Borderless, FullScreen, Tool, and BackgroundOnly modes.
- [x] World Clock Air APP keeps the LanMountain custom title bar.
- [x] Whiteboard Air APP opens as a fullscreen titlebar-less window.
- [x] Air APP windows do not use fused desktop bottom-most services.
- [x] Air APP windows do not use `Topmost=true` promotion.
- [ ] Manual verification for each chrome mode once non-built-in Air APP declarations are added.

View File

@@ -0,0 +1,22 @@
# Air APP Window Chrome
## Goal
Give Air APPs explicit window chrome modes so title bars, fullscreen windows, borderless windows, tool windows, and future background-only apps are configured by the Air APP host instead of ad hoc component code.
## Behavior
- Air APP host resolves an `AirAppWindowDescriptor` from launch options before creating content.
- Supported chrome modes are `Standard`, `Borderless`, `FullScreen`, `Tool`, and `BackgroundOnly`.
- `Standard` uses the LanMountain custom title bar and normal app-window behavior.
- `Borderless` hides the custom title bar while keeping a normal app window.
- `FullScreen` hides the custom title bar, removes rounded shell chrome, and enters fullscreen.
- `Tool` keeps host-owned chrome but disables resizing and hides the taskbar entry.
- `BackgroundOnly` is reserved for a later background Air APP lifecycle and is not used by built-in v1 apps.
- Built-in `world-clock` uses `Standard`; built-in `whiteboard` uses `FullScreen`.
## Out of Scope
- Third-party plugin Air APP declarations.
- Replacing Launcher lifecycle IPC.
- Moving title-bar rendering into desktop components.

View File

@@ -0,0 +1,7 @@
# Tasks
- [x] Add `AirAppWindowChromeMode` and `AirAppWindowDescriptor`.
- [x] Map built-in `world-clock` to `Standard` chrome.
- [x] Map built-in `whiteboard` to `FullScreen` chrome.
- [x] Apply descriptor settings from `AirAppWindow`.
- [x] Add regression tests for supported modes and built-in mode mapping.