📦app (module)
The app module consists of a tray (status bar icon from PySide6) and app (nicegui native application)
Background
Motivation
A user-interface is necessary for users to feel comfortable using OpenAdapt. The CLI is too intimidating.
The tray provides notifications, to let the user know the state of the application
Literature review
Goals
The tray should make interacting with OpenAdapt easier
The application should never fail on its own
The tray should always reflect the state of the DB (always up-to-date)
The app and tray should be responsive and quick.
Design
System Overview
Analysis
The app window could look better and may be hard to see.
If an error occurs, the tray might get blocked, so the process may have to be killed.
Performance
System:
M1 2020 MacBook Pro
Memory: 16 GB
macOS: 13.4.1
Benchmarks:
App Startup
approximately how long it takes for the app to fully display:
python -m openadapt.app.main
7.22s user 2.26s system 203% cpu 4.665 total
Tray Startup
python -m openadapt.app.tray:
4.58s user 1.01s system 225% cpu 2.476 total
poetry run app
4.18s user 2.12s system 221% cpu 2.845 total
Last updated