Cursor-Smith
approvedby sadsnake1
Forge your cursor with the most advanced cursor engine there is! - This plugin has not been manually reviewed by Obsidian staff.
Cursor-Smith
Forge your own cursor!
*** The most advanced cursor engine ever. Built for desktop & mobile. ***
Most people never give their cursor a second thought. Cursor-Smith is for the ones who do: writers who want a screen worth staring at, anyone who keeps losing the caret and needs it bigger and brighter, and people who just like to customize things.
Every effect has its own switch, reduced motion is respected out of the box, and it's free.
https://github.com/user-attachments/assets/7eab19cc-b7ac-4476-bc40-514b4e75cf61
What do you get?
The cursor itself
Box, Line or Underline, each with its own shape controls: serifs, hollow, outline width, the letter inside the block. Smooth movement so it glides between positions instead of jumping, with an adaptive boost when you're typing fast. Blinking you actually control: speed, on/off balance, fade, a don't-blink-while-typing mode, or a breathing cursor that swells and shrinks. Or no blink at all.
Separate colors for dark and light, multi-stop gradients, thickness, opacity, glow, translucency. And more. Much, much more.
Multiple cursors get the full treatment. Alt-click or Ctrl-D a few carets and every one of them is drawn, styled and animated like the first: smear, trail, fire, stardust, torch, all of it, per caret.
The effects
A dozen of them, from subtle to absurd.
| Effect | What it does |
|---|---|
| Pop effects | Popping letters, backspace disintegration, thunderstrike on Enter, fireworks on Space. Rainbow sweeps them all around the color wheel together. |
| Pixel trail | A fading trail of pixels behind the cursor, with lifetime, size, gravity and jump-streak controls. |
| Stardust | Floating motes, drifting upward or orbiting the cursor like fireflies. |
| Bracket tether | Underlines the span between matching brackets or quotes. Nice for dialogue. |
| Motion smear | The corners lag on springs, stretching as it moves and snapping back when it arrives. Optional comet tail, a cap on how far the tail may trail, and a conserve-volume mode where a jump to another line thins as it stretches instead of ballooning. |
| Energy beam | Bands of light sliding or rippling through the cursor body, with an aurora mode. |
| CRT effect | Old-monitor phosphor ghosts, neon-tube and gradient variants, Signal glitch on long jumps. |
| Speed demon | Heats from grey to white-hot as you type, throwing sparks. Bring your own heat gradient. |
| Hot-head | Sets the text on fire, in chunky pixel-art flames. The fire spreads along the line, leaves a burning trail on the text you moved over, flares up around the caret when it jumps, and burns out when you stop. |
| Torch spotlight | Darkens the page except for a pool of warm light around the cursor, with a candle flicker. |
Some effects unlock extra options when combined. Try Blinking with Torch and see what appears.
Torch spotlight
Two layers: a darkness that dims everything outside the pool, and a warm glow that adds light inside it. Glow strength controls the warm core, and at 0 you get a pure colorless spotlight. Flicker makes it gutter like a candle. The light follows the caret, the mouse, or whichever moved last, and can pulse with your blink. On desktop, Keep sidebars lit leaves the sidebars, tabs and ribbon at normal brightness.
Presets and sharing
Dial in a cursor, name it, save it. Load it, edit it, cycle through all of them with one command or a hotkey. Every preset gets a compact share code: copy it, send it to a friend, they paste it into Import preset and they've got your cursor.
Seven ship with the plugin so you've got something to start from:
| Preset | Style | Vibe |
|---|---|---|
| Jell-O | Box | Smooth smear and glide with a mint-green glow |
| Torch-Crt | Line | Warm amber line with CRT trail and torch spotlight |
| mr.Blue | Line | Clean blinking blue line with smooth movement |
| FairyDust | Underline | Pale yellow underline with pixel trail and energy beam |
| DarkMatter | Box | Blue-purple box with CRT trail and Speed Demon sparks |
| old_Joe | Box | Understated grey box, no frills |
| FireBox | Box | Yellow box with a tapered smear, on fire, heating up as you type faster |
Vim mode
Five modes, five cursors. Normal, Insert, Visual, Replace and Command each get their own style, color, blink and effects, fully independent. A -- NORMAL -- indicator sits in the status bar, Vim-style, tinted to match. Vim presets save the whole five-mode setup under one name and share with one code. Turn on Control Obsidian's Vim key bindings and switching modes flips Obsidian's native Vim setting for you.
| Mode | When it applies |
|---|---|
| Normal | The default editing mode |
| Insert | After i, a, o and friends |
| Visual | After v, V, or Ctrl-v |
| Replace | After R |
| Command | The : / / prompt, plus the Command Palette, Quick Switcher, search boxes and other fields |
Accessibility
Cursor-Smith is animation-heavy by design, so it takes reduced motion seriously. Respect reduced motion is on by default: when your system asks for it, every moving effect switches itself off and your cursor keeps its style, color, size and glow. Blinking is left alone, since it's the standard caret behaviour and well under flash thresholds, but it has its own switch.
For anyone who loses the caret: thickness, glow, high-contrast colors and a bigger box are all here, and they work with every effect off.
Performance
The plugin only ever repaints a small area around the caret, sized to whatever effect is running, and drops to a slow heartbeat when nothing is moving. If Obsidian still feels slower with it on, or you're on battery, Low power mode halves every effect's frame rate.
If something is off, run the Performance report command: it measures ten seconds of normal typing and copies a short report to your clipboard. Paste it into an issue and it tells me exactly where the time goes on your machine.
Install
Settings → Community plugins → Browse, search Cursor-Smith, install, enable. Needs Obsidian 1.13.7 or newer.
It activates as soon as it's on. Note editor only keeps the custom cursor to your notes, so search boxes, palettes and settings keep Obsidian's own caret.
Commands
All four are in the Command Palette and can take a hotkey.
| Command | What it does |
|---|---|
| Toggle on/off | Switches the whole plugin off and back on without touching your settings. |
| Cycle preset | Loads the next saved preset. Bind it to a key and flip through your cursors. |
| Toggle CUA / Vim mode | Switches the settings panel between the normal cursor and the five Vim cursors, and flips Obsidian's Vim key bindings with it when you've let it. |
| Performance report | Measures ten seconds of normal typing and copies a short report to the clipboard. Paste it into an issue if Obsidian feels slower with the plugin on. |
Settings
Built on Obsidian's own settings framework, so every option is indexed by the settings search: type "flicker" in the search box and it takes you straight to the row. Cards collapse, sub-options sit indented under the switch that reveals them, and turning a switch shows or hides its options in place without redrawing the panel.
| Card | What it controls |
|---|---|
| Cursor-Smith | Enable, notes only, hide the real cursor, hide when Obsidian isn't focused, Low power mode, respect reduced motion, the CUA / Vim switch |
| Presets | Save, load, edit, delete, share |
| Appearance | Style, thickness, colors and gradients, opacity, translucency, rounded corners, letter-in-block |
| Blinking | Speed, balance, fade, delay, stop-after, breathing |
| Smooth movement | Glide, catch-up, delay, typing-adaptive boost |
| Effects | Everything the cursor does beyond sitting there |
In Vim mode the Presets card gives way to Vim cursors, Vim presets and Per-mode cursors, with the same four look cards for whichever mode you're editing.
Building from source
The plugin is a TypeScript project: src/ holds the modules, npm run build bundles them into main.js with esbuild, npm run check type-checks, and npm test runs the test suite (1,100-odd assertions) against the built bundle. BUILDING.md has the layout. Releases are built by GitHub Actions from the tagged commit and carry build provenance attestations, so the main.js on a release is exactly what its source produces.
It pairs with Word-Smith
Word-Smith is my other plugin, a writing suite for Obsidian. Its themes can colour your caret per Vim mode, and its status bar can wear the same colour back.
Forged elsewhere
Cursor-Smith is MIT, and people have carried the engine to other editors. If you've ported it somewhere, open an issue and I'll add it here.
| Editor | Port | By |
|---|---|---|
| Thymer | Cursor Tweaks | akaready |
Questions, ideas, bugs
Found a bug, or have an idea for a new effect? Write it here.
Free and MIT. If it's made your writing better, a coffee helps me keep going. Cheers!
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.