# Aliveline ## About Aliveline is a small app made with Rust + Slint to track daily activity on a timeline. All activity is saved into TOML logs, which are human readable/editable. App can operate in Record and Review modes. Record mode allows you to update timeline by starting, stopping and chaining events: ![Record mode example](images/record.png) By clicking on the timeline in Record mode you can hide controls to make app smaller and place it somewhere in the background: ![Minimized Aliveline example](images/record-background.png) Review mode may be used to show some activity, tracked on another day: ![Review mode example](images/review.png) Aliveline currently supports Linux only, but Windows executable seems to work. You can also compile Aliveline yourself (see building section). ## Features ### Events Events are main timeline building blocks. They have name, start and end. Example of event in TOML format shown below: ```toml [[events]] name = "test" start = 12:05:45 end = 13:00:11 finished = true ``` _Note: if event is not finished yet, it may have_ `end = start`. ## Building Requirements: - Rust toolchain - Slint dependencies (see [Platforms](https://docs.slint.dev/latest/docs/slint/guide/platforms/desktop/) and [Backends & Renderers](https://docs.slint.dev/latest/docs/slint/guide/backends-and-renderers/backends_and_renderers/)) Instructions: Just run `cargo build --release` and the resulting binary can be located at `target/release/aliveline[.exe]` if compilation succeeds. If compilation fails, double check that you have all required dependencies. If it still fails, file an issue on [Codeberg](https://codeberg.org/2ndbeam/aliveline/issues), including logs and system info. ## Usage Just run `aliveline` by any preferred way, for example: ``` $ ./aliveline ``` or via file explorer. ## Configuration Aliveline tries to find config at: - `$ALIVELINE_CONFIG` - `$XDG_CONFIG_HOME/aliveline/config.toml` - `$XDG_CONFIG_HOME/.aliveline` - `$HOME/.config/aliveline/config.toml` - `$HOME/.config/.aliveline` - `$HOME/.aliveline/config.toml` - `$HOME/.aliveline` - `./config.toml` (relative to working directory) If config isn't found, Aliveline uses default values defined in [config.toml](https://2ndbeam.ru/git/2ndbeam/aliveline/src/branch/master/config.toml). Keep in mind that default paths are relative, and in this case logs will be written to and read from current working directory. ## Contribution You can contribute to Aliveline by creating an issue/PR on [Codeberg mirror](https://codeberg.org/2ndbeam/aliveline/issues)