Axel Meyer cdeae01398
All checks were successful
Release / build (push) Successful in 2m47s
Add shield icon: medieval round shield with Syncthing motif warpaint
Redesign tray/app icon as a wooden round shield with iron rim, rivets,
wood grain, and the Syncthing network motif (ring + 3 nodes + spokes)
painted in the state color. Dark shadow outline for wood contrast.
Inspired by Stammtisch hero icon style (warm, illustrated wood tones).

- Dynamic tray icon changes color per state (green/blue/gray/red)
- Static assets: PNG at 7 sizes + multi-size .ico + preview sheet
- Icon generator utility (cmd/icongen)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 22:35:40 +01:00
2026-03-03 21:16:28 +01:00
2026-03-03 21:16:28 +01:00
2026-03-03 21:16:28 +01:00
2026-03-03 21:16:28 +01:00
2026-03-03 21:16:28 +01:00

SyncWarden

Lightweight system tray wrapper for Syncthing. Cross-platform, native-feeling, ~10 MB.

Features

  • Tray icon with 5 states: idle (green), syncing (blue), paused (gray), error (red), disconnected (dark gray)
  • Real-time monitoring via Syncthing event API (long-polling)
  • Transfer rates in tooltip and menu
  • Context menu: folder list, recent files, conflict counter, pause/resume, rescan, restart
  • Embedded admin panel using the system browser engine (Edge WebView2 / WebKit / WebKit2GTK)
  • OS notifications for sync complete, device connect/disconnect, new device requests, conflicts
  • Settings toggleable via menu checkboxes (persisted to JSON config)
  • Auto-start Syncthing with crash recovery
  • API key auto-discovery from Syncthing's config.xml

Architecture

Binary Purpose
syncwarden Tray icon, menu, API polling, notifications, process management
syncwarden-panel Embedded browser showing Syncthing admin panel
syncwarden-setup Cross-platform installer

Separate binaries avoid main-thread conflicts between systray and webview.

Installation

From release

Download the latest release for your platform and run syncwarden-setup.

From source

Requires Go 1.24+ and CGO (MinGW-w64 on Windows for the panel binary).

# Tray binary (pure Go on Windows)
go build -o syncwarden ./cmd/syncwarden

# Panel binary (requires CGO + C++ compiler)
CGO_ENABLED=1 go build -o syncwarden-panel ./cmd/panel

# Setup
go build -o syncwarden-setup ./cmd/setup

Configuration

Config file location:

  • Windows: %LOCALAPPDATA%\syncwarden\config.json
  • Linux: ~/.config/syncwarden/config.json
  • macOS: ~/Library/Application Support/syncwarden/config.json

The API key is auto-discovered from Syncthing's config.xml on first run. All settings are configurable via the tray menu.

Dependencies

License

MIT

Description
Lightweight system tray wrapper for Syncthing
Readme MIT 994 KiB
v0.3.0 Latest
2026-03-03 23:57:39 +00:00
Languages
Go 99.8%
Shell 0.2%