Skip to content

A cross-platform tauri gui where Oblique Strategies meets Pomodoro

License

Notifications You must be signed in to change notification settings

mrjackwills/obliqoro

Repository files navigation

Obliqoro

Built in Rust, Vue3, and Typescript, using Tauri, Vuetify, and SQLite


Screenshots

 


About

Obliqoro is an open source, cross platform, graphical application, that combines the creative approach of Oblique Strategies with the time management system of the Pomodoro Technique.

Features

  • Customisable session and break times
  • Saving of data to SQLite database
  • System tray icon and menu
  • Cross-platform compatibility (Windows and Linux)
  • Overlay window on top of other windows
  • System tray menu inactive during breaks
  • Automated build with .deb, .AppImage, and .msi output, via GitHub Action
  • Launch on boot

Download + Install

See the pre-built binaries

Todo

  • Code sign the application
  • Pause on no/low cpu usage - user controllable setting
  • Notify user if new version available
  • Translations
  • Saving strategies into SQLite and enabling the addition of new custom strategies
  • Statistics for the number of sessions worked
  • Ability to display on multiple monitors
  • General code refactoring
  • Testing on Mac
  • Password for exiting a long break?
  • Setting to enable writing logs to file when on production version

Development

Requires Node & Rust to be installed

git clone https://www.github.com/mrjackwills/obliqoro.git

npm install
cd src-tauri
cargo install
cargo install tauri-cli

Requirements for developing on linux:

sudo apt update
sudo apt install libwebkit2gtk-4.0-dev \
    build-essential \
    curl \
    wget \
    libssl-dev \
    libgtk-3-dev \
    libayatana-appindicator3-dev \
    librsvg2-dev

arm64 cross compilation

tauri.conf.json:

"targets": ["deb", "msi", "app", "dmg", "updater"],
rustup target add aarch64-unknown-linux-gnu
sudo apt install gcc-aarch64-linux-gnu

nano ~/.cargo/config.toml

[target.aarch64-unknown-linux-gnu]
linker = "aarch64-linux-gnu-gcc"
sudo dpkg --add-architecture arm64

sudo apt-get update && sudo apt-get upgrade -y

sudo apt install libwebkit2gtk-4.0-dev:arm64

export PKG_CONFIG_SYSROOT_DIR=/usr/aarch64-linux-gnu/

cargo tauri build --target aarch64-unknown-linux-gnu