Start a new app
Copy the template into a new repository and rename the crate, QML module, app ID, desktop file, notification file and binary.
-
Copy the template directory to the new app's repository.
-
Rename, by search and replace in every file, and rename the files that carry the name:
What Template value Where Crate and library telamon-app-template,telamon_app_templateCargo.toml,CMakeLists.txtQML module URI net.eterneon.telamon.apptemplateCMakeLists.txt,main.cppApp ID, desktop file net.eterneon.telamon.apptemplatemain.cpp,src/lib.rs,data/Name and repository name: "Telamon App",repo: "telamon-framework"app!insrc/lib.rsNotification file data/telamon-apptemplate.notifyrcnamed telamon-plus the last part of the app ID; itsDesktopEntry=andIconName=are the app IDBinary name telamon-app-templateCMakeLists.txt,main.cppOptional telamon_backend_new, thetelamon_appC++ namespacesrc/lib.rs,main.cpp,src/backend.rs -
In
Cargo.toml, taketelamon-framework-uifrom git, pinned to a release tag (the comment there shows the line), and add telamon-framework-system or telamon-framework-flatpak only if the app needs them:telamon-framework-ui = { git = "https://github.com/EternalCoder454/atlas-framework", tag = "v2.0.0" }The template's own
Cargo.tomlusespath = "../crates/..."dependencies, because it sits in the framework's checkout; replace them. -
Give the app's RPM
Requires: telamon-uiandBuildRequires: telamon-uiwith>= X.Y.Z, the same version asui:in theapp!call insrc/lib.rs(the template says1.3.0). Keep the two equal. See Compatibility. -
Add properties and invokables to
src/backend.rs, pages toqml/, and list each page inQML_FILESinCMakeLists.txt. -
Run the framework's checks in the app's CI:
tools/lint-app.sh <app dir>andtools/check-app-names.sh <app dir>.telamon-preview <page.qml> --out <dir>renders a page in every theme, direction and text size, and exits 1 when QML warned (the framework's tools/README.md has the options).