Skip to content
 
 

Repository files navigation

⌚ TimelyNG

A calendar watchface for Pebble — date, time & weather up top, a 3‑week calendar below, and fully configurable complication rows you arrange yourself.

CI Version Platforms Language PebbleKit JS SDK


🙏 Homage & inspiration

TimelyNG is freely inspired by, and an homage to, the original Timely / PebbleTimely watchface and its community forks — in particular Andrew129260/Timely‑2 and alan‑johnson/PebbleTimely. It carries forward their ideas and spirit (the calendar‑centric layout, the localizable date/time, the complication slots), rebuilt for the modern Core Devices Pebble SDK and the new hardware. All credit for the original concept goes to those projects; any bugs here are mine.

✨ Why TimelyNG (what's different)

Compared to the classic Timely and its forks, TimelyNG adds:

  • Configurable complication rows, not fixed slots. Three rows — status bar, above the time, above the calendar — and each holds one complication (centred) or two (side by side).
  • One unified, alphabetical menu for every slot, including things that used to be hard‑wired: watch battery, phone battery, Bluetooth, and the date itself — put any of them anywhere.
  • Adaptive layout that reflows live. Empty a row and the freed space is given back to the clock and calendar; the clock font auto‑scales to the space available — and it all updates the moment you save the config, no reload.
  • Multiple battery styles: a filling bar with the % inside, plain text, icon + text, or bar + icon.
  • Open‑Meteo weather over HTTPS, no API key, sized per screen.
  • 100 % offline configuration — no server, no CDN, no external host.
  • Built for 2026 hardware (Pebble Time 2, Pebble 2 Duo) on the current SDK, with a local test gate that mirrors the cloud's strict build flags.

🧩 What it shows

  • Complications (shared menu): date, day, month, week number, day‑of‑year / days‑left, seconds, AM/PM, timezone, a second time zone, sunrise, sunset, moon phase, weather location, watch/phone battery, Bluetooth.
  • Weather: condition icon + temperature (Open‑Meteo).
  • Calendar: previous / current / next week, today accented on colour watches.
  • Vibration (hourly, on disconnect / reconnect), Do‑Not‑Disturb, themes and full localization — all from the config screen.

⌚ Platforms

Platform Watch Screen Status
emery Pebble Time 2 colour 200×228 ✅ Supported
flint Pebble 2 Duo / Core 2 Duo B&W 144×168 ✅ Supported
basalt Pebble Time / Time Steel colour 144×168 ✅ Supported
diorite Pebble 2 B&W 144×168 ✅ Supported
aplite Pebble (2013) / Steel B&W 144×168 ⏳ Dropped — future (24 KB RAM, needs a code diet)
chalk Pebble Time Round colour 180×180 round 🔜 Not supported — future (round layout)
gabbro Core Time 2 colour 260×260 round 🔜 Not supported — future (round layout)

The round platforms (chalk / gabbro) need a dedicated round layout — the current design is rectangle‑centric. aplite was dropped for RAM. See TODO.md.

🔨 Building (Nix + official Pebble CLI)

nix develop                      # pebble CLI + ARM toolchain + emulator
pebble build                     # -> build/TimelyNG.pbw
pebble install --emulator emery  # colour emulator (or basalt / diorite / flint)

Build/test exactly as the cloud does (catches the -Werror / warnings the local build relaxes via pbl_suppress_newer_gcc_warnings):

nix develop -c sh tools/test.sh  # host unit tests + build + strict per‑platform compile

⚙️ Configuration

The settings screen is fully offline. On showConfiguration the watch's PebbleKit JS builds the page from src/js/config.js (the field spec) via src/js/configpage.js and hands it to the phone as a data:text/html URI; the page returns the chosen values via pebblejs://close#. Edit src/js/config.js to change the options.

📦 Publishing

Store listing copy (description, release notes, categories, asset specs) lives in PUBLISHING.md, ready to paste into the Rebble developer portal.

About

Timely watchface for Pebble smartwatch

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages