Skip to content
Back to skills

Capturing Desktop Screenshots

ASecurity

Captures screenshots of the Clawdmeter desktop app (GPUI window) without hardware, using the demo example with fake board and status data under X11, and regenerates the reference set in desktop/docs/screenshots/. Use when checking a desktop UI change visually, when a desktop PR needs screenshots, or when asked to refresh the app's screenshots.

  • 2,260 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 16, 2026
ai-agentsbashaws

Works with

  • cli

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 16, 2026

npx -y skills add HermannBjorgvin/Clawdmeter --skill capturing-desktop-screenshots --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Capturing Desktop Screenshots?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Capturing Desktop Screenshots
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/hermannbjorgvin-capturing-desktop-screenshots/badge)](https://www.skillsdirectory.com/skills/hermannbjorgvin-capturing-desktop-screenshots)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: capturing-desktop-screenshots
description: Captures screenshots of the Clawdmeter desktop app (GPUI window) without hardware, using the demo example with fake board and status data under X11, and regenerates the reference set in desktop/docs/screenshots/. Use when checking a desktop UI change visually, when a desktop PR needs screenshots, or when asked to refresh the app's screenshots.
---

# Capturing desktop screenshots

The demo example (`desktop/crates/clawdmeter-app/examples/demo.rs`) opens the
real window with a fake board, a fake live status and a local release. The
bundled script runs it from a throwaway `HOME`, captures the window and
closes it:

```bash
.claude/skills/capturing-desktop-screenshots/scripts/capture.sh /tmp/device.png --page device
```

Then Read the PNG. It builds the demo first if
`desktop/target/debug/examples/demo` is missing (set `DEMO_BIN` to use
another build). It needs an X server or XWayland on `DISPLAY` (default `:0`),
`xwininfo` and ImageMagick's `import`. The window opens on the user's desktop
for a few seconds.

Why the script does what it does: the demo writes a status file, config and
release folder into `HOME`; the binary is copied into that `HOME` so hook
commands in the Hooks preview show no personal paths; it waits 5 s (`WAIT`)
because on X11 the dark appearance arrives from the portal after the first
frames.

## Demo flags

| Flag | Shows |
| --- | --- |
| `--page overview\|device\|flash\|accounts\|hooks\|settings` | A sidebar page |
| `--setup welcome\|board\|flash\|pair\|hooks\|done` | A setup-wizard step |
| `--board none\|fresh\|current\|old` | No board / board needing firmware / up to date / outdated |
| `--flash-to identify\|firmware\|flash\|done` | The flasher advanced to a step |
| `--status off` | The daemon not running |
| `--accounts retrying` | A second, rate-limited account |
| `--refresh wait\|checking` | Overview refresh button waiting out the gap / mid-check |
| `--session idle` | Session not started |
| `--hooks-preview`, `--shop`, `--advanced` | Hooks file preview, board shop links, advanced settings |
| `--height PX` | A taller window (default 640) so a long page fits one capture |

`demo.rs`'s header comment is the source of truth if these drift.

## Reference set

`desktop/docs/screenshots/` is made with this script. File names map to the
flags (`setup-2-board-shop.png` = `--setup board --shop`,
`overview-refresh-wait.png` = `--refresh wait`, …). `device.png` is taken
with `--height 1160` so the whole settings list shows.
`overview-gnome-header.png` is the client-drawn Adwaita header bar: run with
`CLAWDMETER_DECORATIONS=client` in the environment.

Don't add `observe_window_appearance` while working on the UI: on X11, GPUI
0.2.2 redraws inside the portal callback and panics. The root polls the
appearance instead.

Files in this skill

  • SKILL.md2.8 KB
  • scripts/capture.sh2.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.