diff --git a/README.md b/README.md index 2615359..5d71099 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,8 @@ By clicking on the timeline in Record mode you can hide controls to make app sma 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 you can compile it to your platform. +Aliveline currently supports Linux only, but Windows executable seems to work. +You can also compile Aliveline yourself (see building section). ## Features @@ -38,7 +39,8 @@ Requirements: - 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: -Run `cargo build --release` +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 @@ -46,6 +48,7 @@ Just run `aliveline` by any preferred way, for example: ``` $ ./aliveline ``` +or via file explorer. ## Configuration Aliveline tries to find config at: @@ -62,4 +65,4 @@ If config isn't found, Aliveline uses default values defined in [config.toml](ht 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) +You can contribute to Aliveline by creating an issue/PR on [Codeberg mirror](https://codeberg.org/2ndbeam/aliveline/issues) diff --git a/src/lib.rs b/src/lib.rs index df9b81e..df734c9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -42,7 +42,7 @@ pub fn load_config() -> Config { } println!("Config not found at ${place_var} / {place:?}"); } - println!("Using last resort config path ./config.toml"); + println!("Using config path ./config.toml"); Config::new(PathBuf::from("./config.toml")) } /// Get random-like color id in range 0..16 by computing string hash diff --git a/src/main.rs b/src/main.rs index d96caa4..f466a39 100644 --- a/src/main.rs +++ b/src/main.rs @@ -8,6 +8,9 @@ use chrono::{Datelike, Timelike}; use slint::{Color, Model, ModelRc, SharedString, ToSharedString, VecModel, Weak}; use toml::value::{Date as TomlDate, Time}; +const DEFAULT_WINDOW_WIDTH: f32 = 800.; +const DEFAULT_WINDOW_HEIGHT: f32 = 600.; + slint::include_modules!(); impl From for TimelineEvent { @@ -106,6 +109,7 @@ fn main() -> Result<(), Box> { load_colors(ui_weak, config_arc); ui.invoke_update_record_offset(offset as i32); + ui.invoke_update_window_size(DEFAULT_WINDOW_WIDTH, DEFAULT_WINDOW_HEIGHT); ui.on_fetch_log({ let config = config.clone(); diff --git a/ui/app-window.slint b/ui/app-window.slint index 76cbad1..311de17 100644 --- a/ui/app-window.slint +++ b/ui/app-window.slint @@ -11,6 +11,7 @@ export component AppWindow inherits Window { callback new-day-started <=> record.new-day-started; callback get-previous-event <=> record.get-previous-event; callback update-record-offset(int); + callback update-window-size(length, length); callback save-log; callback fetch-log <=> review.fetch-log; @@ -21,6 +22,11 @@ export component AppWindow inherits Window { record.offset = new-offset; } + update-window-size(width, height) => { + self.width = width; + self.height = height; + } + in-out property record-events <=> record.events; in-out property record-offset <=> record.offset; in-out property record-visible-time <=> record.visible-time;