Skip to content

barrulus/forge-cursor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

forge-cursor

Three independent cursor effects for Emacs, sharing one "forge" palette (white-hot core → amber → cooling ember):

Effect What it does Triggers on
welding sparks each typed character glows white-hot then cools and fades every self-inserted character
comet streak a short trail follows the cursor when it jumps cursor movement (≥ 1 cell)
pulsar flash the landing line pulses amber big commands, scroll, window change

All three are GUI-best (Wayland/PGTK and X). In emacs -nw they degrade to flat cell backgrounds — no sub-cell glow.

Requirements

  • Emacs 29.1+ (the minimum for comet-trail).
  • Internet access on first launch only to fetch pulsar from GNU ELPA. Everything else is bundled; after the first run it works fully offline.

Install

Clone it somewhere on disk — all the .el files must stay together:

git clone https://github.com/barrulus/forge-cursor ~/.emacs.d/forge-cursor
forge-cursor/
├── forge-cursor.el        ← the loader (this is what you load)
├── welding-cursor.el      ← bundled dependency (do not separate)
├── comet-trail.el         ← bundled dependency (GPL-3.0, by Andros Fenollosa)
├── LICENSE
└── README.md

Then add one of these to your init.el:

;; Option A — point straight at the file:
(load "~/.emacs.d/forge-cursor/forge-cursor.el")

;; Option B — add the folder to load-path and require:
(add-to-list 'load-path "~/.emacs.d/forge-cursor")
(require 'forge-cursor)

That's it. forge-cursor.el bootstraps its own load-path, adds the GNU/MELPA archives if they're missing, installs use-package if absent, and pulls pulsar on first run. welding-cursor and comet-trail load from this folder.

Customising the palette

Set these before loading, or setq and re-evaluate the relevant :config:

(setq forge-cursor-core  "#fff7e6"   ; white-hot core
      forge-cursor-amber "#ff9b3d"   ; amber mid-glow
      forge-cursor-ember "#c81e0a")  ; dark-red tail

Per-effect knobs (all have sensible defaults):

  • weldingwelding-cursor-step (cool-down frame interval, seconds), welding-cursor-ramp (colour vector), welding-cursor-foreground (glyph colour while glowing; nil = background-only glow). Toggle per buffer with C-c t w.
  • cometcomet-trail-minimum-distance, comet-trail-tick-interval.
  • pulsarpulsar-delay, pulsar-iterations, pulsar-pulse-functions.

Notes / troubleshooting

  • comet-trail is vendored (GPL-3.0; its license/author are in the file header) so there's no network dependency. To track upstream instead, delete comet-trail.el and change its use-package form in forge-cursor.el from :ensure nil to :vc (:url "https://git.andros.dev/andros/comet-trail.el") (needs Emacs 30+).
  • No sparks in the terminal? Expected — these need a GUI frame for sub-cell overlays. The terminal gets flat cell backgrounds only.
  • Conflicts with an existing pulsar setup. This file calls pulsar-global-mode and recolours pulsar-yellow. If you already configure pulsar elsewhere, drop the pulsar use-package block from forge-cursor.el and keep just your own.

Provenance & license

forge-cursor.el and welding-cursor.el are original work. comet-trail.el is vendored from andros/comet-trail.el (by Andros Fenollosa); pulsar is by Protesilaos Stavrou (installed from GNU ELPA).

Because this bundle includes and combines with GPL-3.0 code (comet-trail.el), the bundle is distributed under the GNU GPL v3.0-or-later — see LICENSE.

About

Standalone Emacs cursor-effect bundle: welding sparks + comet streak + pulsar flash (forge palette)

Resources

License

Stars

8 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors