feat: add Overlay command for text annotations during recording#716
feat: add Overlay command for text annotations during recording#716domenkozar wants to merge 1 commit into
Conversation
Adds a non-blocking Overlay command that draws text on the terminal canvas in the bottom right corner. Supports optional duration (@<time>, default 3s) and customizable background/foreground colors (default white bg, black text). Syntax: Overlay[@<time>] "<string>" ["<bg>" "<fg>"] Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
As an outsider, but really curious in the project. Could you share what is the intended way to have it show key presses? Because key press visualization tends to grow and shrink what keys have been typed. Does it mean for |
I wanted to implement overlay feature as something more generic, where overlay can be an explanation of what's happening on the screen. asciinema implements the overlay as imitating typing and that could be implemented additionally on top of this feature. You can do things like Note that I think changing of colors of Overlay might be better suited as a global instead of adding that as part of the command (not sure where settings go). |
Sure, and it is valuable. Just not quite what #164 is about. |
I've implemented it to be able to do #164, although I agree this implementation doesn't make it automatic (which I prefer, because some keystrokes I don't want to be shown). |
|
I submitted a PR yesterday that adds captioning of keystrokes, which is based on the ASS v4+ subtitle format. When I saw your PR, I knew it would be trivial to overlays using the same technique. While not exactly the same, I expose many more options to be consistent with the same options I exposed for Captioning. You can see a demo of it in PR #719 if interested. |
|
Awesome work! |
Adds a non-blocking Overlay command that draws text on the terminal canvas in the bottom right corner. Supports optional duration (@, default 3s) and customizable background/foreground colors (default white bg, black text).
Allows for #164 to be implemented manually
CONTRIBUTING.md.