feat: timer widget with countdown, stopwatch and alarm

This commit is contained in:
2026-09-25 15:12:49 +02:00
parent d15bb4687c
commit 018e326918
6 changed files with 623 additions and 3 deletions
+5
View File
@@ -13,6 +13,7 @@ An overlay for [DankMaterialShell](https://danklinux.com/docs/dankmaterialshell/
| **Visualiser** | Bars driven by whatever is actually playing out of this machine (needs `cava`) |
| **Bluetooth** | Paired devices with battery, connect/disconnect, adapter and scan toggles |
| **Notes** | The shell's notepad scratch tab, editable in place; file-backed tabs are shown read-only |
| **Timer** | Countdown with presets and an optional label, plus a stopwatch tab with laps; ends with a sound and a notification even when the overlay is closed |
| **Performance** | CPU (usage, temperature), memory (used / total), network (rx/tx), disk (root usage, read/write) |
| **Home** | Home Assistant entities you pick: lights (toggle + brightness), numbers (slider over the entity's own min/max/step), switches/fans, media players (volume, mute, play/pause), covers, scenes and scripts, plus read-only sensors |
@@ -54,6 +55,9 @@ Note that editing `plugin_settings.json` by hand does not reach a running shell.
| `dms ipc call gameBar captureStatus` | Print recorder mode, monitor, elapsed time and last file |
| `dms ipc call gameBar brightnessStatus` | Print the display→DDC map, pins and resolved brightness per screen |
| `dms ipc call gameBar layoutStatus` | Print each screen's layout key and where every widget resolves |
| `dms ipc call gameBar timer <seconds> [label]` | Start a countdown |
| `dms ipc call gameBar timerStop` | Stop and reset the countdown |
| `dms ipc call gameBar timerStatus` | Print countdown and stopwatch state |
| `dms ipc call gameBar resetLayout` | Forget all saved widget positions |
## Settings
@@ -63,6 +67,7 @@ Settings → Plugins → Game Bar (gear icon):
- **Background dimming** — how dark the desktop behind the overlay gets (0–95%).
- **Capture** — folder, frame rate, quality, replay buffer length and the recorded audio source
(a `gpu-screen-recorder` device name, e.g. `default_output`; `gpu-screen-recorder --list-audio-devices`).
- **Timer** — sound on/off, notification on/off and which sound file to play.
- **Home Assistant** — URL, access token, refresh interval, and the entity picker.
- **Reset widget positions** — back to the default arrangement on every monitor.