A collection of desktop widgets for Appinapp — clocks, timers, productivity, system stats, and API-driven widgets. Each widget is a self-contained folder with an index.jsx, a widget.json manifest, a README.md, and a screenshot.png.
| Widget | Description |
|---|---|
| Age-Counter | A real-time age counter displaying your exact age in years with 9 decimal places. |
| Airpods-battery | Shows your AirPods battery levels (left, right, case) via system_profiler. |
| Battery-chart | Tracks battery level over time with a smooth SVG chart, charging detection, and time estimates. |
| Block-timer | A multi-block session timer that runs labeled tasks back-to-back on a scrolling track. |
| Currency | Current USD → UZS rate from the Central Bank of Uzbekistan API, with on-disk caching. |
| Currency-new | USD/UZS rate with daily change and an interactive 11-day trend chart. |
| Date | Current day of the week in a large custom (Anurati) font, refreshed daily. |
| Github-contributions | Yearly GitHub commit activity rendered as a contribution heatmap. |
| Horizontal-Clock | Horizontal clock with animated seconds and a parallax blur effect. |
| Liquid-clock | Minimal analog clock with smooth second-hand animation over a background image. |
| Reminders | Incomplete macOS Reminders with due dates, priorities, and notes. |
| Spotify-Player | Spotify now-playing widget with progress bar, marquee titles, and playback controls. |
| Spotify-Player-New | Spotify now-playing widget with album-art-driven theming. |
| Taqvim | Daily prayer (namoz) times for Tashkent in Uzbek (Latin). |
| Timer | Pomodoro timer with a rounded time-based outline that scales from one height value. |
| Todo | Minimal glassy to-do list with quick-add, one-click complete, and persistent tasks. |
Each widget folder has its own README.md with features, how it works, and customization options.
- Copy the widget folder you want (e.g.
Todo.widget/) into your Appinapp widgets directory. - If the widget ships a shell helper (
rates.sh), open widget's folder on terminal and make it executable where needed, e.g.:chmod +x ./rates.sh
- The widget appears on your desktop — size/position are controlled by the
width,height,x,yexports at the top of itsindex.jsx.
<Name>.widget/
├── index.jsx # widget UI + exports (command, refreshFrequency, width, height, x, y, className)
├── widget.json # name, description, author email (Block-timer uses widgets.json)
├── README.md # per-widget docs (shared template: Features / How it works / Customization / Notes / License)
└── screenshot.png # preview image
All per-widget READMEs follow the same template:
# Title
<one-line description>
## Features
## How it works
## Customization
## Notes
## License
MIT- Widgets with a shell
command(Airpods-battery,Battery-chart,Currency,Currency-new,Reminders,Spotify-Player,Spotify-Player-New,Taqvim) poll onrefreshFrequency; the rest render on internal timers or pure UI state. - Network-dependent widgets (
Currency,Currency-new,Github-contributions,Taqvim) need API access;Currencywidgets fall back to cached data offline. - macOS-only widgets:
Airpods-battery(Bluetooth +system_profiler),Reminders(Reminders app + Automation permission),Spotify-Player/Spotify-Player-New(Spotify desktop app + AppleScript).
MIT — see LICENSE.