Requires: TrinketMenu · WoW: 12.0.5 (Midnight) · Author: Nelnamara
TrinketMenu Plus adds two fully configurable spell/macro action boxes alongside the TrinketMenu bar, plus a built-in aim-assist overlay for ground-targeted spells (e.g. Force of Nature, Starfall, Rain of Fire). Both boxes use SecureActionButtonTemplate exclusively and are fully combat-safe — no taint, no blocked actions.
- Two independent spell/macro boxes (Box A and Box B) docked to TrinketMenu
- Four cast modes per box —
@cursor,@player,@target, or raw macro - Aim-assist overlay — when a box is in
@cursormode with a hostile target in range, a glow ring appears near the target's feet to show where the spell will land - Three-click scheme with no taint:
- Left-click — cast using the configured mode
- Right-click — instant
@targetcast (bypasses aim, fires immediately) - Ctrl+Right-click — opens the spellbook/macro picker for that box
- Spellbook picker popup — browse and assign any known, castable, non-passive spell without typing
- Cooldown overlay on each box
- Minimap button (supports LibDBIcon-1.0 if present, falls back to a hand-rolled button)
- Config panel — adjust box size, scale, glow color, aim feet-offset
- Dock to any side of TrinketMenu (left / right / top / bottom)
- Lock/unlock to prevent accidental dragging
| Dependency | Required | Notes |
|---|---|---|
| TrinketMenu | ✅ | Core bar this addon attaches to |
| LibDBIcon-1.0 | ❌ | Optional — minimap button integrates with MBB, Bazooka, etc. if present |
- Download the latest release zip
- Extract to
World of Warcraft\_retail_\Interface\AddOns\- The folder should be named
TrinketMenuPlus - It should contain
TrinketMenuPlus.luaandTrinketMenuPlus.toc
- The folder should be named
- Make sure TrinketMenu is also installed and enabled
- Log in — the two boxes will appear attached to the TrinketMenu bar
No configuration is needed to get started. The boxes are empty by default. Use
/tmp a spell "Spell Name"or Ctrl+Right-click a box to assign spells.
The easiest way is to Ctrl+Right-click any box — a spellbook popup opens and you can click any spell to assign it to that box.
Alternatively, use slash commands:
/tmp a spell "Force of Nature"
/tmp b spell "Starsurge"
All commands start with /tmp.
| Command | Description |
|---|---|
/tmp a spell "Name" |
Assign a spell to Box A |
/tmp b spell "Name" |
Assign a spell to Box B |
/tmp a item "Name" |
Assign an item to Box A |
/tmp a macro "/cast ..." |
Assign a raw macro to Box A |
/tmp a mode cursor |
Set cast mode (cursor / player / target / macro) |
/tmp a clear |
Clear Box A |
/tmp a config |
Open the spellbook picker for Box A |
/tmp dock right |
Dock to right side of TrinketMenu (left / right / top / bottom) |
/tmp config |
Open the config panel |
/tmp lock |
Lock position (disables dragging) |
/tmp unlock |
Unlock position |
/tmp status |
Print current configuration and aim-assist debug info |
| Mode | What it does |
|---|---|
cursor |
Casts at your mouse cursor position in the world (@cursor) |
player |
Casts centered on your character (@player) |
target |
Casts on your current target (@target) |
macro |
Fires a raw macro you provide via /tmp a macro "..." |
When a box is in cursor mode and all conditions are met, a pulsing glow ring appears near your target's feet to show exactly where a @cursor cast will land:
- Shows when: cursor mode · spell assigned · hostile target in range · spell ready · not channeling
- Glow ring tracks the target's nameplate position in real time
- Left-click the icon to cast at cursor; the ring shows where your cursor needs to be
- Right-click the icon for an instant
@targetcast if you don't want to aim
Combat note: Due to Midnight (12.0.5) secure frame restrictions, the clickable button freezes at its last position when you enter combat. The visual glow ring continues tracking the target freely. The button snaps back to the correct position immediately when combat ends.
Open with /tmp config or click the minimap button.
- Box Size — pixel width/height of each box
- Scale — overall scale multiplier
- Glow Color — RGB sliders for the aim-assist ring color
- Feet Offset — vertical offset in pixels for the aim ring (tune to your screen resolution / camera angle)
| Issue | Status |
|---|---|
| Aim button does not track target during combat | By design — Midnight secure frame restriction. Visual ring still tracks; button re-syncs on combat end. |
| Spellbook picker may show some spells without icons briefly on first open | Cosmetic only; icons load on the second open or after a /reload |
Right-click fires @target even when target is out of range |
No range check on the secure macro — WoW will show a "out of range" error as normal |
| TrinketMenu itself must be visible for the dock position to calculate correctly | Log out and back in if boxes appear at 0,0 on first install |
- Full architecture rewrite — boxes now use
SecureActionButtonTemplateexclusively (removedActionButtonTemplatewhich was overridingOnClickand breaking macro execution) - Aim assist: replaced direct secure-frame repositioning with a mover-proxy pattern
- Midnight (12.0.5) fix: Decoupled aim button from mover anchor chain — in Midnight, frames referenced by a secure frame's anchors become implicitly protected, causing
ClearAllPointsto triggerADDON_ACTION_BLOCKED. Aim button now syncs position viaGetCenter()→ UIParent absolute coords, bypassing the anchor chain entirely - Added
PLAYER_REGEN_ENABLEDhandler to re-sync aim button position immediately on combat exit - Cooldown overlay wrapped in anonymous-function
pcallto avoid touching secret fields outside a closure - Spellbook picker popup: tabs for Spells and Macros
- Config panel: size, scale, color, backdrop, feet-offset
- LibDBIcon-1.0 support for minimap button
- Initial release
- Two configurable boxes docked to TrinketMenu
- Basic spell/macro assignment via slash commands
- Aim assist overlay for
@cursorspells - Left / right-click bindings
- <input id="" class="task-list-item-checkbox" disabled="disabled" type="checkbox" aria-label="Incomplete task"> Per-box glow color — independent color setting per box instead of shared
- <input id="" class="task-list-item-checkbox" disabled="disabled" type="checkbox" aria-label="Incomplete task"> Keybind support — register each box as a bindable action (no mouse click required)
- <input id="" class="task-list-item-checkbox" disabled="disabled" type="checkbox" aria-label="Incomplete task"> Range indicator — tint the box icon red when the assigned spell is out of range
- <input id="" class="task-list-item-checkbox" disabled="disabled" type="checkbox" aria-label="Incomplete task"> Aim ring shape options — circle, crosshair, or arrow variants
- <input id="" class="task-list-item-checkbox" disabled="disabled" type="checkbox" aria-label="Incomplete task"> Profiles — save and switch named configurations (e.g. raid ST vs M+ AoE)
- <input id="" class="task-list-item-checkbox" disabled="disabled" type="checkbox" aria-label="Incomplete task"> Multi-box expansion — optional 3rd/4th box for players with more spells to track
- <input id="" class="task-list-item-checkbox" disabled="disabled" type="checkbox" aria-label="Incomplete task"> CurseForge / Wago packaging — automated release pipeline
Personal use. Not affiliated with the original TrinketMenu addon.

