Application model
An application is a page and, when it needs one, a service. Everything is described by a single manifest of Beroun's own format, and parts of the system use exactly the same format as third-party apps.
- The interface is a web page, rendered by WPE WebKit. Interfaces open one at a time in one shared window: open an app and it takes the screen, close it and the launcher returns. An app that needs its own window says so in the manifest, as the browser and Caroline's chat do.
- The state contract. On closing, an app saves its place and always comes back to it: the open file, the folder, the conversation, the scroll position. The system checks it.
- Services outlive the window. The manifest sets when a service starts (at boot, on first open, by hand), its priority, its memory budget, whether it runs while the device sleeps, and whether it may take the screen, as an incoming call does. The system dispatcher starts services, measures them, and under memory pressure stops the least important first.
- File types. An app declares what it opens, and the file manager sends every file to the right app.
- Native programs too. Ordinary Wayland and X11 programs are described by the same manifest and run alongside web apps.
- Tools for the assistant. The manifest's
carolinesection lists the tools and skills an app offers, so Caroline can drive it directly.
