GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - azymohliad/watchmate: PineTime smart watch companion app for Linux phone and desktop

BranchesTags
Open more actions menu

Latest commit

 

History

242 Commits
242 Commits

Folders and files

NameName
Last commit message
Last commit date
assets
assets
 
 
flatpak
flatpak
 
 
infinitime
infinitime
 
 
watchmate
watchmate
 
 
.gitignore
.gitignore
 
 
CHANGELOG.md
CHANGELOG.md
 
 
Cargo.lock
Cargo.lock
 
 
Cargo.toml
Cargo.toml
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 

Repository files navigation

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

  • Current time service.
  • Data reading: battery level, heart rate, steps count, firmware version.
  • OTA firmware and external resources updates. Both, from manually specified DFU/resources files, or automatically downloaded from InfiniTime releases for selected version.
  • Media-player control.
  • Notifications forwarding.

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
  • GTK4
  • Libadwaita
  • Rust
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
  • flatpak
  • flatpak-builder
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:

  • Rust programming language.
  • Relm4, GTK4 (rs) and Libadwaita (rs) for GUI.
  • BlueR (an official BlueZ Bindings for Rust) for the bluetooth stack.
  • Awesome parts of Rust ecosystem, like tokio, serde, reqwest, zbus, anyhow and others (see Cargo.toml for the full list).

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.

About

PineTime smart watch companion app for Linux phone and desktop

Resources

Readme
GPL-3.0 license
Activity

Stars

167 stars

Watchers

2 watching

Forks

9 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.