azymohliad / watchmate

PineTime smart watch companion app for Linux phone and desktop
GNU General Public License v3.0
136 stars 4 forks source link

Watchmate

Companion app for InfiniTime-powered PineTime smart watch.

Visually optimized for GNOME, adaptive for phone and desktop, Linux only.

watchmate_v0.4.0

Features

Install

Watchmate is available on Flathub:

flatpak install io.gitlab.azymohliad.WatchMate

Or via the following community-maintained distro packages:

Packaging status

Build

Native

Prerequisites
Add glib schema for persistent settings

Settings schema can be installed locally as follows:

mkdir -p $HOME/.local/share/glib-2.0/schemas/
cp assets/io.gitlab.azymohliad.WatchMate.gschema.xml $HOME/.local/share/glib-2.0/schemas/
glib-compile-schemas $HOME/.local/share/glib-2.0/schemas/
Build and Run

To compile and run the project, execute the following command from repo directory:

cargo run --release

Flatpak

Prerequisites
Install Dependencies
flatpak install org.gnome.Platform//45 org.gnome.Sdk//45 org.freedesktop.Sdk.Extension.rust-stable//23.08
Build
flatpak-builder --user target/flatpak flatpak/io.gitlab.azymohliad.WatchMate.yml
Run
flatpak-builder --run target/flatpak flatpak/io.gitlab.azymohliad.WatchMate.yml watchmate
Install
flatpak-builder --install target/flatpak flatpak/io.gitlab.azymohliad.WatchMate.yml

Here and above, target/flatpak is the build directory. It's a convenient default for Rust project (target is already in .gitignore), but can be anything else.

Tech Stack and Thanks

Watchmate stands on the shoulders of the following giants:

I'm deeply grateful to all people behind these technologies. Watchmate wouldn't be possible without them: first, it would be technically unliftable; second, even with the alternatives, I probably wouldn't enjoy it so much, and joy is vitally important for hobby projects like this one.