whinge.
All docs

Recording a whinge

The whole loop is talk, draw, clear. Everything here is about doing that without stopping to click around.

Starting

Any of these starts one:

FromHow
A terminalwhinge start, with optional --output DIR
The menu barStart Whinge
Anything that opens URLsopen whinge://start

Listening

Whinge doesn't record straight away. Its toolbar comes up listening, with a meter that moves when the microphone hears you.

Say "let's whinge" (or "it's whinging time") and it starts: a chime, and the toolbar turns into a timer. Nothing is recorded before that, so hearing the chime means the microphone and speech recognition both work. Speech recognition has hardly ever met the word "whinge", so it's generous about what it counts: “let's twinge” and “let's binge” both work. Choose the enabled phrases and microphone, or test what Whinge hears, in Settings → Speech.

Press record on the toolbar to start without saying it, or ✕ if you've changed your mind.

Under the title, the toolbar shows what speech recognition is making of what it hears, for a few seconds at a time. If it isn't starting, that's where to look: it may be hearing “let's binge” or nothing at all. Each thing it hears, and why it wasn't the phrase, also goes in the debug log.

While it's recording

Whinge records every display and your microphone, and notes which windows were where.

The privacy screen covers the desktop's icons while a whinge is on, so the recording shows your work rather than your downloads folder. In Settings → General it can also swap the wallpaper for a plain colour or a picture, and hide every app but the one in front.

DoTo
⌃⌥D, or the pencilDraw. The mouse is yours again when you turn it off.
A colour swatchPick a marker, and start drawing.
The eraser, or E while drawingRub out strokes by dragging over them. D goes back to the pen.
Esc / Return while drawing, or the binClear all the drawing, and start the next topic.
⌘Z while drawingUndo a stroke, or an erase.
The ladybird, or whinge bugReport a problem with Whinge.
The stop button, or whinge stopFinish.
whinge cancelThrow the whinge away.

⌃⌥D is only registered while a whinge is recording, so other apps can have it the rest of the time. Change it in Settings → Drawing.

Ink sticks to what you draw on

A stroke belongs to the window it's mostly over. Drag the window and the drawing goes with it; put another window in front and the drawing is hidden behind it. In a browser, it belongs to the page: switch tab and it goes, switch back and it's there again. Ink drawn over no window stays put on the screen.

So you can circle something, flick to another tab to show what it should look like, and come back to your circle. Before a drawing is switched away from, Whinge keeps a screenshot of it for the recording.

Clearing still clears everything, showing or not. Turn off Ink sticks to windows in Settings → Drawing to keep all ink where you drew it.

Clearing is the habit

Clearing is how Whinge knows one point has ended and the next has begun. It's also the moment it grabs the screenshot, with your drawing still on it.

Whingeing about Whinge

When Whinge itself gets something wrong, report it the same way you whinge about anything else. Press the ladybird on the toolbar (or pick it on the wheel, choose Report a Bug in Whinge… from the menu, run whinge bug or open whinge://bug), then say and draw what's wrong.

While you do, the whinge is paused: nothing goes into its video, audio, transcript or ink, and the timer stops. A violet glow round the edge of every screen shows you're reporting a bug rather than whingeing. Drawing, the eraser and clearing all still work, and a clear doesn't start a new topic.

You don't need to be in a whinge. With nothing recording, Report a Bug in Whinge… in the menu (or whinge bug) brings up the toolbar and the glow just for the report; its stop button, or the ladybird, finishes it, and whinge cancel throws it away.

Press the ladybird again to finish. Whinge takes screenshots with your drawing on them (the glow is left out) and opens a window with everything it's about to send:

Nothing leaves your Mac until you press Send. If it can't be sent right then, Whinge keeps it and tries again later. In a whinge, once the window closes, the ink you drew for the report comes off and the whinge carries on where it was.

The debug log

Whinge keeps a log of what it's doing: which microphone it's using and its format, the speech model, everything speech recognition hears and why it wasn't the wake phrase, each step of recording and saving, and any errors. Each whinge has its own copy, debug.log in its folder, and there's one rolling log of everything. Show Debug Log in the menu opens the rolling one; whinge log prints its end and whinge log DIR a whinge's.

The log stays on your Mac. It holds what you said and window titles, so it's only sent if you tick it in a bug report, after you've seen it.

If Whinge quits mid-whinge

The video and audio are written in pieces a few seconds long, and what you say is transcribed as you go, so a crash only loses the last few seconds. Next time Whinge opens, it offers to save what was captured.

Stopping

Press stop, or run whinge stop. Whinge saves the live transcript, groups it into topics, selects screenshots and finishes the recording. It does not run a write-up or project instructions. whinge attach waits for the saved folder path.

Pedals, launchers and Stream Decks

Whinge answers these URLs, so anything that can open one can drive it:

URLDoes
whinge://start?context=…Start listening, with an optional note in the recording
whinge://toggleThe next step: start listening, start recording, or stop
whinge://drawTurn drawing on or off
whinge://clearClear, and start the next topic
whinge://bugStart or finish a bug report
whinge://stopFinish
whinge://settingsOpen Settings

The CLI has the same: whinge draw, whinge clear, whinge bug, whinge stop.