Amethyst Manual - Chapter 1 Gestures
- The whole thing in one breath
- Basic facts
- Start with the zap bolt
- The rest of the action row, while we’re here
- Chat has a whole vocabulary
- Fullscreen video is a different instrument
- The QR scanner is a touch surface
- Long-press to copy, basically anywhere
- Where long-press is the way in
- Reordering lists
- Odds and ends worth ten seconds each
- Opening the drawer with a swipe
The whole thing in one breath
Long-press means settings, or copy, or “the way in” — try it on anything that looks inert. Double-tap the zap bolt for a custom amount, or trim your presets to one and a single tap zaps. On the zap rail, the segment showing the amount sends in one tap; tapping a different segment only chooses — tap it again to send. Fullscreen video splits into brightness on the left and volume on the right. The QR scanner focuses where you tap and zooms where you pinch. Swipe chat bubbles inward to reply, tap the warning glyph to send again, and tap your own Concord reaction to take it back. Tap a geocache hint to read it. And if the drawer won’t open, start your swipe further right.
None of this is advanced. Go and press something for slightly too long.
Basic facts
Here’s the one fact that opens up the rest of the app: most controls in Amethyst carry at least one more gesture than the tap. A tap does the obvious thing. A long-press, almost everywhere, takes you to the settings for that thing — or is the way in. And a handful of places add a double-tap that does the precise version. On-screen hints for this are few — a long-press gets a mention once you’ve emptied your zap amounts or your reactions, and once more in the emoji packs — so treat this post as the map.
Everything below is in the current release, on both the Play and F-Droid builds — not a single gesture in this post is flavour-locked.
Start with the zap bolt
The zap bolt is three controls. Tap it and you get the amount popup — out of the box that’s three presets, 21, 50 and 100 sats. Double-tap it and you get the custom dialog — any amount you like, plus a message. Long-press it and you land in Settings → Zaps, where the presets live. The double-tap is the one to remember: it’s the fastest route to the exact amount you had in mind.
That long-press pays for itself: cut the presets down to exactly one and the tap becomes an instant zap. No popup, no confirmation, the sats just go. It’s Lightning-only — if the recipient can’t take Lightning the popup comes back — and with no presets at all a tap opens the custom dialog instead.
And now the zap rail, which works like this:
When a zap can travel more than one way, each amount in the popup is a little segmented pill — Cashu, Lightning, on-chain, whichever the recipient accepts and your own wallets can cover. One segment is already selected: it’s the one showing the amount and a small arrow, and one tap on it sends. Tap any other segment and you have moved the selection. Switching never moves money. Tap the newly selected segment again to pay.
So paying on-chain instead of Lightning is two taps: tap the chain icon, watch the amount slide across to the icon you picked — that slide is your confirmation that the selection moved — then tap it once more to send. The pre-selection is tiered, too — Cashu under 10 sats, on-chain over 10,000, Lightning in between — so which segment is “already selected” changes with the amount.
The rest of the action row, while we’re here
The long-press-means-settings rule runs right through the row under every note:
- Long-press the heart → reaction-type settings, where you choose which emoji the picker offers. (It opens on a read-only account as well.)
- Long-press any emoji in the reaction picker → same settings screen.
- Long-press an amount chip in the zap popup → Settings → Zaps, to edit presets.
- Long-press the external-wallet chip → copies the wallet handle (the Venmo or IBAN string) to your clipboard. This is the one exception to the rule: it’s the only long-press in that popup that doesn’t open settings, because sat presets have nothing to offer a Venmo handle.
Chat has a whole vocabulary
Swipe a message toward the middle of the screen to reply. Left for your own messages, right for other people’s. You get a haptic tick when you cross the commit point; release past it and the reply composer opens, release short and it springs back. It only claims the gesture once your movement is more horizontal than vertical, so scrolling never nudges a bubble by accident.
Double-tap a message to fire your default reaction. Three conditions apply: it needs a sent message (not a draft), a signing account (not read-only), and at least one entry in your reaction list. Outside those, the double-tap is a no-op.
Tap the quoted message inside a reply and the conversation scrolls to that message in place, so you keep your spot in the thread instead of opening a new screen. Try it the next time you want the context of a reply.
Long-press a reaction chip under a message to see who reacted and with what — a tap toggles your own, so long-press is the route to the list. In a Concord channel that toggle is a real retract (since v1.17.0): tap your own highlighted chip again and the reaction is withdrawn for everyone in the channel rather than added twice. Double-tapping the bubble again or re-picking the emoji in the sheet’s quick-reaction row does the same — and it only ever retracts your own reactions with that emoji.
Tap the timestamp under any message for delivery detail: which relays it was seen on and the exact time. On your own messages the same row carries the delivery ticks, and the dialog tells you how far the message got.
Tap the warning glyph on a message that didn’t send and the whole send runs again (since v1.17.0). Your bubble appears the moment you hit send, with a pulsing clock while it’s encrypted and handed to the relays, then the usual clock → single tick → double tick. If the send fails before it reaches the relays, the clock becomes a warning glyph, and that glyph is the retry button. This is wired for NIP-17 DMs, Marmot and Concord; Cordn and public NIP-28/29 chats have the plain ticks only, and messages from before your last app restart show no tick at all — the timestamp still opens the delivery dialog.
And in a geohash chat, tap the avatar next to the message box to switch identity. You start out anonymous; tapping asks you to confirm before it posts as the real you, and tapping again goes straight back. Long-press the same avatar to set a nickname — one nickname for every location chat, not one per cell. While you’re anonymous the nickname (or a small “+ name”) sits under the avatar and opens the same editor; switch to yourself and that caption goes away, so the avatar itself is your mode indicator. Glance at it before you type.
Fullscreen video is a different instrument
Go fullscreen on a video and the screen splits into two invisible halves. Drag up and down on the left half for brightness. Drag on the right half for volume. A full screen-height of travel covers the whole range, a ring shows the level, and it fades 800ms after you stop.
Two details that make it feel deliberate: the half is decided at touch-down and doesn’t change mid-drag, so a sloppy diagonal won’t suddenly start dimming your screen. And on the volume side, dragging to zero mutes the video, while any net upward drag unmutes it — even when device volume is already maxed.
This exists only in fullscreen; inline feed videos don’t have the brightness and volume drags.
The rest work wherever the player or viewer does:
- Double-tap left to rewind, right to skip forward. Not available on anything served as HLS (
.m3u8) — which covers live streams, but also ordinary on-demand videos that happen to be HLS uploads. There, the double-tap is a no-op, so use the progress bar to seek. - Tap anywhere on the progress bar to jump there — you don’t need to grab the thumb. Drag to scrub and the thumb swells by half while you hold it.
- Double-tap a fullscreen image to zoom to 2.5×, anchored where you tapped; double-tap again to go back.
- PDFs double-tap to 2.5× as well, and past 1.5× a higher-resolution render kicks in, which is why the page visibly sharpens a moment after you zoom.
The QR scanner is a touch surface
Open the scanner from anywhere — the Scan QR button on your own QR screen, the login key field, the wallet and signer screens — and the camera preview takes gestures of its own (all since v1.17.0):
- Tap the preview to focus there. The camera focuses continuously on its own, but a tap starts a focus-and-exposure pass at that point, draws a white ring for a moment, and lets go after about four seconds. With two or more codes in frame, a tap inside an outlined code picks that code instead — the hint pill says Tap the code you want — and draws no ring.
- Pinch to zoom, from 1× up to whatever the camera allows. Past about 1.05× a chip appears top-right reading N.N× Reset zoom; tap it to snap back to 1×. The pinch and the chip are the only things that ever change the zoom.
- Tap the torch button, first in the bottom row, to light the scene; it turns primary-coloured while on. The button exists only on a camera with a flash unit. When the frame has been dark for a second with the torch off, the hint pill says It is dark — try the light — on a device without a flash as well.
The back button closes the scanner; a tap outside the dialog doesn’t.
Long-press to copy, basically anywhere
There is a whole clipboard layer in this app, and long-press is the key to it. Long-press to copy:
- a relay’s URL, icon or name, nearly anywhere one appears. The exception is the row of counters on a relay’s stats strip, where a long-press explains what the number means instead
- a website, NIP-05, or verified identity on a profile — a tap opens these in a browser, so long-press is the copy gesture here
- a payment chip on a profile — lightning address, Cashu, on-chain
- a profile banner (the URL, not the image)
- an invite link in a post — Buzz, Concord or NIP-29. A tap opens the in-app join flow, so long-press is the way to get the raw link out
- a link preview card → “Link Actions”, including the comment thread about that link
- an app banner or icon on a NIP-89 app note
The profile fields and payment chips confirm with a toast. The relay and banner copies go straight to the clipboard without one — the text is there when you paste.
Where long-press is the way in
A few places respond to long-press rather than tap:
- A quoted note that hasn’t loaded yet: while the card is still an empty placeholder, a tap is a deliberate no-op and long-press opens the quick actions for the note before it arrives. Once the note arrives, a tap opens it as normal.
- Settings → Security Filters → Hidden Words: a tap only acts once you’re in selection mode, and long-press is how you enter it.
- A scheduled post’s event id: long-press copies it. A tap has no action there.
- An emoji in a pack: long-press to remove. This one has an on-screen hint.
- Your own gallery items: long-press goes straight to the remove confirm — on your gallery only. Someone else’s gallery has no long-press action.
Reordering lists
Each reorder screen has its own drag rule, so know which one you’re on:
- Settings → Reaction Row — drag anywhere on the row; the whole card is the handle.
- Settings → Zaps — long-press a preset chip first, then drag. A plain drag won’t pick it up.
- Relays and Video Player Buttons — drag the handle icon only. Dragging the row body scrolls the list.
- Settings → Bottom Navigation Bar — drag the chip sideways; only the horizontal component counts, so a diagonal drag still works.
Odds and ends worth ten seconds each
- Tap a note’s timestamp to flip “2h ago” into the exact date, and tap again to flip back. It deliberately doesn’t persist — it’s a peek, not a setting. Works on feed, thread and article notes; the chat timestamp does delivery info instead.
- Tap the little pills in a note header and they explain themselves in a toast: the proof-of-work pill gives you the difficulty, the OpenTimestamps pill gives you the anchored date. The location pill goes a step further — it navigates to that geohash’s feed.
- Tap the bottom-bar tab you’re already on to scroll that feed back to the top. It’s a scroll, not a reload — Notifications is the one tab where the same tap also refreshes the list.
- Tapping a repost opens the original, not the repost. That’s why the note you land on has a different author and timestamp than the card you tapped.
- Swipe sideways in the Calendar to change day, week or month. It’s a distance threshold, not velocity — a swipe shorter than about a finger-width won’t turn the page, however fast you flick it.
- Tap a geocache’s hint to reveal it (since v1.17.0). A cache card or its detail page shows Stuck? Tap to reveal the hint in place of the hint itself. A hint travels either ROT13-scrambled or plain, so the first tap shows whichever reading looks more like English; if that comes out as gibberish, the second tap — Not readable? Tap for the other reading — shows the other one, and a third tap hides it again. Caches themselves are post twelve, “Hide something, sign it, let strangers find it”.
Opening the drawer with a swipe
Right-swipe to open the drawer, yes. And where your swipe starts matters, on some pages.
On the first page of Home or Chats, a right-swipe anywhere opens the drawer. On any other page, it opens the drawer when the swipe started in the right half of the screen — start in the left half and you page backwards instead.
So if the drawer stays put, check which page you’re on and start your swipe further right.
Write a comment