screenshot
Capture the screen, a window, or a region as an inline image, with optional grid and window annotations to read screen coordinates for pointer clicks.
Instructions
Look at the screen, one window, or one rectangle. The image comes back in this reply -- there is nothing to Read afterwards. CROP, DO NOT SHRINK: window costs about 1300 tokens and a region strip about 160, against 1843 for the whole desktop, and all three stay legible, while scale below 1 makes small text unreadable for a saving a crop would have made anyway. Passing window AND region means a rectangle measured inside that window. annotate draws grid lines and window boxes labelled in SCREEN coordinates, so the number to pass to pointer_click can be read off the picture instead of estimated. Before reaching for this at all: ui_find and find_text answer "where is X" without an image, and every acting tool already shows you the result.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | AT-SPI application name for annotate.widgets, if the focused window is not the one to map. | |
| path | No | Where to write the PNG, e.g. /tmp/shot.png | |
| scale | No | Resize the image you are shown. Below 1 it shrinks -- measured on this 1920x1080 screen, 0.5 makes UI text hard to read and OCR fails on it entirely, so crop instead. Above 1 it enlarges, which is what a tiny crop of an icon needs. | |
| inline | No | Set false to only write the PNG and get its path back, for a capture nobody needs to look at now. | |
| region | No | Capture just this rectangle, in screen pixels. | |
| window | No | Capture just this window (id, wm_class or title fragment). Captures what is ON SCREEN there, so anything in front of it is included. | |
| annotate | No | true for grid + window boxes, or an object: {grid: true|<spacing px>, windows: bool, widgets: bool, limit: int}. | |
| include_cursor | No |