Skip to content

Releases: tahayvr/postcard

v2.3.0

Choose a tag to compare

@tahayvr tahayvr released this 08 Oct 07:10

Postcard v2.3.0

Copy captures the moment you take them, selection handles that work like a design app's, marks that stay on the picture, and a new About panel.

Copy every capture as you take it

Sometimes a screenshot doesn't need editing, it just needs pasting. Turn on Copy to the clipboard when capturing in Settings, and every new region, window, screen or smart capture goes onto the clipboard as the plain screenshot, before any framing.

The editor still opens as usual in case you want to spice it up. A shot added beside others on a card isn't copied, since that card is still being built. Scripts can turn it on with set '{"captureCopies":true}'. Thanks to @tomtorggler for this one (#13).

Handles like a design app's

Selected annotations now get a thin frame just outside the mark, with small white squares on its corners. Nothing covers the middle of each side any more.

Arrows and lines no longer get a box around them. A selected arrow is traced along its own line, with a round handle at each end.

Bend curved arrows

A curved arrow now has a third handle halfway along it. Drag it to bend the curve more, less, or the other way, or onto the line to straighten it.

Scripts can set the bend too: annotate takes "bend" from -1 to 1.

Annotations stay on the picture

Annotations can no longer be drawn, moved or resized past the edge of the picture: the whole card, background and padding included.

Bolder arrowheads

Arrowheads are wider on every arrow and longer on thin strokes, so a 2px arrow's head is about 13px wide instead of 8px.

About panel

A new ⓘ button beside Settings opens an About panel.

One set of icons

Every icon in the editor and the bar menu now comes from the same icon font at the same size, so rows of buttons no longer look uneven.

Fixes

  • Closing the editor with Settings or About open no longer brings that panel back the next time it opens.
  • The whole of a curved arrow can be clicked, including the part that bows outside the box it was drawn in.

What's Changed

  • Add a setting to copy each capture to the clipboard as it is taken by @tomtorggler in #13

New Contributors

Full Changelog: v2.2.0...v2.3.0

v2.2.0

Choose a tag to compare

@tahayvr tahayvr released this 25 Sep 23:50
833679a

Postcard v2.2.0

Multiple shots on one card, a watermark, full undo, and a much faster way to annotate and share.

Multiple shots on one card

Put screenshots side by side, or stack them, for a before and after or a whole flow. Add in the header grabs a region, a window or the screen, or opens a file, and puts it beside the shot already open. Each shot gets a card of its own, with its own corners, shadow and title bar, and the background shows in the gap between them.

Once there are two, a Shots section appears in the inspector. Switch between side by side and stacked, set the gap, and choose whether larger shots are scaled down to line up or keep their sizes, aligned top, middle or bottom. Each shot has a row to move it, undo its crop, or take it off the card.

Annotations work across the whole card, so an arrow can point from one shot to another, and each end of it stays with its own shot when you reorder or restack. Cropping trims only the shot you draw on. Hiding secrets, copying text and spotlights all cover every shot.

Scripts can add shots with omarchy-shell shell call tahayvr.postcard add region (or windows, fullscreen, a path, or file).

postcard-2026-09-25_16-44-13

Watermark

Sign your cards with a handle, a logo or both, under the card's bottom-right corner. The ink is light or dark to suit the background, and the mark tucks inside the corner when there's no padding. It's saved with a preset, so every capture can carry it. Logos are copied into ~/.config/postcard/logos, so a preset keeps working if the original file moves.

postcard-2026-09-25_16-47-37

Undo everything

Undo and redo now cover every change to your annotations for as long as the picture is open: drawing, moving, resizing, restyling, typing, deleting, pasting, clearing. A drag or a burst of typing is a single step. Ctrl+Z to undo, Ctrl+Shift+Z or Ctrl+Y to redo.

Select, copy and paste annotations

Select several annotations with Shift+click, by dragging a box with the move tool, or with Ctrl+A, then move, nudge, restyle or delete them together. Ctrl+C, Ctrl+X and Ctrl+V copy, cut and paste annotations, and Ctrl+D duplicates them. With nothing selected, Ctrl+C still copies the picture. The arrow keys nudge a selection by 1px, or 10px with Shift.

Better labels and your own colours

Text labels now resize from their corners, like every other annotation, and come in two fonts: mono (JetBrains Mono) and sans (iA Writer Quattro). Annotation colours get the same picker and screen eyedropper as backgrounds, and the colours you pick are kept under the ink swatches, apart from your background colours.

postcard-2026-09-25_16-48-51

Drag it anywhere

Hold Drag in the footer and drop the card straight into a browser, a chat or any other app, as a file in the format you've chosen.

WebP and Settings

WebP joins PNG and JPEG, and is lossless at quality 100. The clipboard still gets a PNG, since most apps won't paste WebP. A new Settings view, behind the gear in the title bar, lets you choose whether saving also copies to the clipboard, and shows where saves go.

Scripting

omarchy-shell shell call tahayvr.postcard help '' prints every call, and help set, help annotate and help capture list every option. The help is generated from the same lists the plugin uses, so it's always current. The README has a much fuller scripting guide, with the command line's rules, how to wait for the editor, and recipes for common jobs. info now reports delivering and lastSaved, so a script can wait for a save and pick up the file.

Fixes

  • Captures no longer leave an extra copy in your screenshots folder; only the finished postcard is saved there.
  • Delete removes a selected text label instead of typing into it.
  • Two saves in the same second no longer overwrite each other.
  • A huge selection can no longer swamp the code card; it takes the first 64K characters and says so.
  • Every file in ~/.config/postcard now carries a version, so future changes can migrate your settings, colours and presets safely.

What's Changed

Full Changelog: v2.1.0...v2.2.0

v2.1.0

Choose a tag to compare

@tahayvr tahayvr released this 25 Sep 01:53
c1f877e

Postcard v2.1.0

Presets, a magnifier, your own colours and gradients, and delayed capture.

Presets

Save the whole look of the card under a name and switch between looks from the top of the inspector. A preset holds the background, padding, inset, optical balance, aspect ratio, corner radius, shadow, title bar, export settings and code card style; annotations are never part of one. Pick one and it stays in use after a restart, so it is where every capture starts. Saving under a name you already use updates that preset, the panel says when the card has changed since a preset was applied, and deleting one leaves the card as it is. Presets live in ~/.config/postcard/presets.json.

postcard-2026-09-24_18-51-33

Scripts can apply one with omarchy-shell shell call tahayvr.postcard preset social-post (a dash for each space, any case, or default).

Magnifier

A new Magnify tool (M). Drag over a detail and a round lens shows it at 2×, 3× or 4×, placed beside it with a line back to the spot. Move the lens and the magnified spot separately, resize the lens from its corners, and pick the zoom in the header. Each pixel of the shot becomes a crisp block rather than a blur, and a lens over a hidden area shows the pixelation, never what it covers. annotate takes {"kind":"magnify",…,"zoom":3} too.

postcard-2026-09-24_17-15-45

Your own colours and gradients

Solid backgrounds get a colour picker: saturation and brightness on a square, a hue bar, a hex field, and an eyedropper that lets you pick any colour on screen. Colours you choose are kept under Your colours, apart from the presets, and each can be removed.
Gradients of your own: two to four colours at any angle, saved whole under Your gradients. + starts one from the gradient on show; pick one to edit it, and every change is saved as you make it.
Both are kept in ~/.config/postcard/colors.json and survive restarts.

postcard-2026-09-24_18-43-01

Delayed capture

Capture the screen after 3, 5 or 10 seconds, to catch a menu or a tooltip. The delay button sits beside Screen in the bar's right-click menu and in the editor's capture strip. While it counts down the bar icon shows the seconds left, and a click on it cancels. Scripts can ask for 0 to 60 seconds: summon tahayvr.postcard '{"capture":"fullscreen","delay":5}'. Thanks to @tcballard for starting this one (#3).

postcard-2026-09-24_18-43-50 postcard-2026-09-24_17-18-26

Side handles

Crop selections and box, ellipse, highlight, hide and spotlight marks can now be pulled by the middle of each side as well as by the corners.

What's Changed

New Contributors

Full Changelog: v2.0.0...v2.1.0

v2.0.0

Choose a tag to compare

@tahayvr tahayvr released this 22 Sep 11:50
e721a7a

Postcard 2.0.0

OmaSnap is now Postcard. This release is a rename and nothing else. No
features were added or removed, and no behaviour changed. But because the
plugin id, the repository and the saved-file names all move, 1.x installs
cannot update in place
. See Upgrading below.

Upgrading from 1.x

omarchy plugin update cannot carry you across, because both the id and the
remote have changed. Remove the old plugin and add the new one:

omarchy plugin remove tahayvr.omasnap
omarchy plugin add https://github.com/tahayvr/postcard.git --enable

Then update anything that referred to the old id:

Keybindings in your Hyprland config:

o.bind("SUPER + SHIFT + PRINT", "Postcard", "omarchy-shell shell summon tahayvr.postcard '{\"capture\":\"region\"}'")
o.bind("SUPER + SHIFT + C", "Postcard code card", "omarchy-shell shell summon tahayvr.postcard '{\"code\":true}'")
o.bind("SUPER + SHIFT + S", "Postcard editor", "omarchy-shell shell toggle tahayvr.postcard '{}'")

The bar widget. If you placed it yourself, ~/.config/omarchy/shell.json
still lists tahayvr.omasnap and the widget will not load. Change that entry
to tahayvr.postcard, or re-place it with:

omarchy bar move tahayvr.postcard --section center

Any layerrule matching omasnap.

Scripts calling omarchy-shell shell call tahayvr.omasnap ....

v1.1.0

Choose a tag to compare

@tahayvr tahayvr released this 21 Sep 10:33
a21f842

OmaSnap V1.1.0

Update with omarchy plugin update tahayvr.omasnap

Features

Crop

Press C, drag over the part worth keeping and pull the corners to adjust.

crop

Spotlight

Press L and drag over the part worth looking at. The rest of the screenshot dims.

spotlight

Four kinds of arrow

Straight, curved, a plain line, or a head at each end.

arrows

Context menu in the header

The ink colours, an arrow's shape, the spotlight's dim, the classes auto-redaction looks for, and with the move tool the ways to get a picture in. Select a mark and the top-center menu gives you options about that instead, so it can be recoloured or resized after the fact. The inspector on the right is only about the picture now, and fits on one screen without scrolling.

toolbar

Save as

Ctrl+Shift+S opens the system file dialog to choose where a
Snap goes, alongside the one-press Save.

Fixes

  • Moving annotations is now improved.
  • A white or amber step badge carried a white number nobody could see.
  • Deleting one step of five left the rest reading 1, 2, 4, 5, and the next
    badge came out a 6.
  • The cursor offered to move a mark that could not be moved until the move
    tool was picked.

v1.0.0

Choose a tag to compare

@tahayvr tahayvr released this 21 Sep 05:50

OmaSnap v1.0.0

Make a screenshot worth posting. Grab a region and OmaSnap adds padding, a
background, rounded corners and a shadow, lets you annotate, and hides
anything in the picture that should not be public.

What's in it

Framing - padding, aspect ratio presets, corner radius, shadow, an
optional title bar, and inset, which extends the screenshot's own edge color
outwards to give a cramped window room to breathe.

Backgrounds - auto-sampled from the screenshot, gradients, flat colors,
your Omarchy theme, your wallpaper, or none for a transparent PNG.

Annotation - arrows, boxes, ellipses, highlighter, text labels and
numbered steps. Drag to move, and they stay pinned to the Snap when you
reframe.

Hide sensitive data - one click pixelates emails, API keys, JWTs, AWS and
GitHub tokens, card numbers, IBANs, IP addresses and phone numbers, each
category switchable. Card numbers are Luhn-checked; dates, versions, hashes
and loopback addresses are left alone. Pixelation is destructive, not a blur
that can be undone. Or copy the screenshot's text to the clipboard instead.

Code cards - any selected text becomes a syntax-highlighted card in the
same frame, with the language detected or chosen, font size, line numbers and
long lines folded. Every Omarchy theme you have installed, plus Dracula,
Monokai, One Dark, GitHub and Solarized.

Output - clipboard or disk, PNG or JPEG, at 1x, 2x or 3x. The preview is
the file, pixel for pixel.

Wired into the shell - a bar button (left-click for a region or window, middle-click
for a code card, right-click for the menu), bindable keys, and a scripting
surface over omarchy-shell shell call.

Install

omarchy plugin add https://github.com/tahayvr/omasnap.git --enable

Everything it shells out to ( bat, imagemagick, tesseract,
wl-clipboard, python-gobject, xdg-desktop-portal ) ships with Omarchy.

Plugins run as unsandboxed code inside your shell process. Read the source
before you enable it.