Cooldown Manager Ckraigs

addon tracks and displays essential buff icons for World of Warcraft. It provides a customizable, multi-row icon viewer with per-row icon sizing, aspect ratio cropping, and robust skinning. The addon includes a scrollable options menu
Back to Files

CkraigCooldownManagerForever0.5.0.zip

File nameCkraigCooldownManagerForever0.5.0.zip
Uploader
CKRAIGFRIENDCKRAIGFRIEND
Uploaded
Oct 9, 2026
Downloads
30
Size
6.7 MB
Flavors
Forever
File ID
9111028
Type
R
Release
Supported game versions
  • 1.60.1

What's new

# CkraigCooldownManager Forever — Changelog

All notable changes to the WoW Forever edition (interface 16001) are documented here.
Format: `## [Version] — YYYY-MM-DD`

---

## [0.5.0] — 2026-10-09

New Items / Potions page, tooltips and right-click to cancel for Custom Auras, and a new order for the options pages.

### Added
- **Items / Potions** (new page): groups of items from your bags with their cooldown swipe, countdown and how many you carry.
  - **As many groups as you like** (potions, food, trinkets ...), each on its own tab with its own position, look and rules. Move tabs, duplicate, delete (two clicks), reset position, "Copy look & layout from" another group.
  - **Add items** by searching your bags (click a result to add it, or "Add all listed"), or by item ID / link / name. Reorder with Up / Down, remove what you don't want.
  - **Auto-include**: a group can fill itself from your bags: Potions, Elixirs, Flasks, Food & Drink, Bandages, Scrolls, Other consumables, any usable item, or equipped trinkets with a use effect. New items show up by themselves; hide single auto items you don't want.
  - **Ready-made groups**: one click for a Potions, Elixirs & Flasks, Food & Drink, Bandages, Trinkets or Usable items group.
  - **Lock / unlock** per group or all at once, drag to move. Unlocked groups show every item, even ones you don't carry.
  - **Click an icon to use the item** (works in combat), tooltip on hover.
  - **Layout**: icon size, spacing, icons per row, grow direction, which way new rows go, scale, X / Y, opacity, strata.
  - **Look**: cooldown swipe (and reverse), countdown numbers and size, font, item count (size, position, show "1"), border colour or item quality colour, zoomed icons.
  - **Rules**: grey out / fade / hide on cooldown, dim / grey out / hide items not in your bags (and close the gaps), red tint when you can't use the item.
  - **Visibility & alerts**: show always / only in combat / only out of combat, hide when the group is empty, flash when an item is ready again, glow while ready (optionally only in combat), running-low warning (count turns red at a number you pick).
  - **`/ccmitems`** opens the page; `/ccmitems lock`, `unlock`, `new <name>`, `potions`, `debug` (prints what a click on an item icon does).
- **Custom Auras: tooltip on hover** (per group, off by default): hover an icon for the live aura tooltip (time left, stacks) while it's up, or the spell's description while it's missing. Options: not in combat, and the tooltip position. Clicks still go through the icons; with the option off the icons ignore the mouse, so mouseover macros keep working.
- **Custom Auras: right-click to cancel** (per group, off by default): right-click a "Buff on you" icon to cancel the buff, in combat too (the game's own aura button does the cancelling). Works in every group, including rows attached to a Dynamic Icons cluster.
- **`/ccmtip`**: hover a Custom Auras icon and type it to see what the mouse is over and how each aura's tooltip / right-click is set up.

### Fixed
- **Items / Potions: clicking an icon didn't use the item.** The icons now use the item like a macro (`/use item:<id>`, or the trinket slot for equipped trinkets), on mouse press or release depending on your key-down setting. An unlocked group's drag frame no longer covers its icons: you drag it by a bar above the group instead.

### Changed
- **Options page order**: Essential Buffs, Utility Buffs, Dynamic Icons, Cooldown Bars, Segment Bars, Custom Auras, Tracked Spells, Totems, Swing Timer, Items / Potions, then the other pages, with Profiles and Interface at the bottom. The window now opens on Essential Buffs.

## [0.4.0] — 2026-10-08

Controller (gamepad) support, a new default look for the options window, and layout fixes.

### Added
- **Gamepad support**:
  - **Keybind labels for controllers**: icons show the controller button that casts the spell (A / B / X / Y, LB, RT, LT+A...), read from the bars that are on screen (gamepad bars and bar addons included). Interface > Keybinds > Gamepad: "Show keys for" (Auto / Keyboard / Gamepad) and "Controller buttons" (Xbox, PlayStation or plain text).
  - **Options window with a controller**: D-pad up / down moves between settings, left / right changes a value, A uses, B closes, X jumps to search, Y opens the Guide, LB / RB switch pages, LT / RT scroll.
  - **Controller hint bar** along the bottom of the options window showing what each button does (Interface > Controller hint bar: Auto / Always / Never). It uses the Xbox or PlayStation button names you picked.
  - **Key Bindings** (Game Menu > Key Bindings > AddOns > CCM Forever): open / close the options and the Guide from a key or controller button.
- **"Forever (gold & teal)" theme**, now the default: gold and teal frame, gradient header, medallion and title font.
- **Clusters (groups)**: every Clusters tab (Dynamic Icons, Essential, Utility, Cooldown Bars) now reads "Clusters (groups)", and hovering it explains what cluster groups are.
- **Dynamic Icons: "Keep the first row in place"** (General, on by default): when icons wrap into more rows, the first row stays where it is and new rows go below it (or above, with "New rows go"). Off = the whole block re-centres like before.
- **`/sbfill watch`** (Segment Bars troubleshooting): every time you cast a spell it prints the spell, its cooldown and whether each tracked bar sees it as ready. Type it again to stop. `/sbfill` also shows the cooldown, charges, action-button cooldown and fill state of every tracked spell.

### Fixed
- **Segment Bars: the fill followed the global cooldown** instead of the spell's real cooldown, so it flashed on every GCD (any spell) and then went empty. The GCD is now ignored, charge spells use their recharge timer (read from the charges when the game has no recharge timer for that spell), and the fill follows the spell rank you know.
- **Segment Bars: spells without charges** (Fire Nova, shocks...) sat empty even when ready. They now count as one charge: full while ready, empty when you cast it, refilling over its real cooldown, then full again. In combat, where the game hides cooldown numbers, the bar uses the moment you cast the spell and its cooldown length (learned out of combat, or the spell's base cooldown).
- **"ADDON_ACTION_FORBIDDEN ... SetPreferredGamepadInteractTarget"** when a confirm question (reset, delete...) opened while the gamepad UI was active. The options window now uses its own confirm box instead of the game's popup.
- **Swing Timer: queued Heroic Strike / Cleave / Maul / Raptor Strike** only lit up at low level: the check asked about rank 1. It now asks about the rank you know, and also updates on the spell-queue event.
- **Power Thresholds**: power ticks only re-check whether you can afford each marker's spell and redraw only when that answer changes.

## [0.3.0] — 2026-10-07

New look for the options window, Power Thresholds, Tracked Spells upgrades, a big idle-CPU pass and several fixes.

### Added
- **Options themes** (Interface > Theme): 20 colour themes plus Classic (the original gold look), picked from cards in the window.
  - Modern look: rounded corners, soft edge glow, sliding on/off switches (or check boxes with a tick), round slider knobs, round colour dots, rounded tabs / buttons / dropdowns with hover highlights, and an icon for every page in the left list.
  - Per-theme tweaks: accent colour, corner roundness, glow strength, switches or check boxes, plus "Reset theme tweaks".
  - **Guide & Previews** follows the chosen theme and rebuilds straight away when it changes.
- **Power Thresholds** (Resource Bars > Power Thresholds tab): `|` markers on the power bar where a spell becomes affordable (from your spellbook, by spell ID, a fixed amount or a percent).
  - Optional bar / text recolouring while you can't (or can) afford it, fade or hide while affordable, spell icon and label at the line, and lines for 2x-5x the cost.
  - Spells follow your best known rank.
- **Tracked Spells: icon strip** at the top of the spell list: drag an icon onto another to reorder (green border on the one you drag, red on the target), right-click an icon to open its settings.
- **Essential / Utility Spells tabs** got the same icon strip.
- **Profiler: `/ccmprofile frames [seconds]`** lists the CPU used by every frame's scripts in the whole UI (all addons), with CCM's own frames listed separately, to find per-frame loops.
- **`/ccmtrinket`**: prints what Tracked Spells sees for trinket slots 13 / 14 (item, Use: effect, data loaded, icon shown).

### Changed (CPU)
- **Power Thresholds**: spell rank and cost lookups are cached until spells or the power type change. Power ticks only redraw when a marker's "can I afford it" answer actually flips; markers that only draw a line ignore power ticks completely. No longer listens to the high-frequency power event. (Went from ~17 ms a minute idle to almost nothing.)
- **Totems**: with icon style the timer sleeps until a totem reaches its warning window. Bar style updates 4x a second (10x under 10 s, 20x only while pulsing). Settings are no longer re-read on every tick, and text / colours are only set when they change.
- **Swing Timer**: no longer rebuilds all bars on every loot pickup or bag change. It only rebuilds when an equipped weapon really changes.
- **Glows**: Tracked Spells pixel / autocast glows and the Icon Extras "glow when ready" update 30x a second instead of every frame. They look the same and keep their speed.

### Fixed
- **Tracked Spells: trinkets missing after a fresh login** (they only appeared after toggling them or a /reload). On login the game briefly reports a trinket's Use: effect as empty, and the trinket was marked passive for the whole session. Trinkets are now kept visible for the first seconds and re-checked 2 / 6 / 13 s after login, after every loading screen, and when the item data arrives.
- **Tracked Spells: trinket cooldowns** now read correctly on newer clients, and trinket icons no longer blink in and out or vanish during loading screens.
- **Keybind labels on Warriors** (and Druid forms / Rogue stealth): only the action bar page that is showing right now gives a 1-12 label, so spells placed on other stance bars no longer show the wrong key. Labels update on stance change.
- **Swing Timer**: "bad argument #1 to 'tostring'" when a weapon slot (off-hand / ranged) is empty.
- **Tracked Spells**: "Attempted to release object ... doesn't belong to this pool" when another addon's newer copy of LibCustomGlow had already removed the glow.
- **Power Thresholds**: the options page was missing (its file had dropped out of the loader), and the spell list stayed empty on clients where the newer spellbook API exists but lists nothing (both spellbooks and both cost APIs are now read).
- **Profiler**: the function scan didn't recognise files in the `CkraigCooldownManagerForever` folder (it only matched the Retail folder name), so it missed many functions. The frame scan no longer breaks on protected frames, and frames sharing one script are counted once.

## [0.2.0] — 2026-10-05

Weapon art for curved bars, a tidier addon folder, a CPU pass for combat, and profiler fixes.

### Added
- **Weapon art styles**: 29 full-colour weapon textures in `media/arcs/` (axes, swords, warglaives, staves, maces, bow, scythe, daggers...) show up in every Curved Style list as "Weapon art: ...".
  - Available on Health / Power bars, Cooldown Bar clusters, Segment Bars, Custom Aura bars and the Swing Timer.
  - They keep their own colours instead of the bar colour. They stand upright for Left / Right (filling hilt to tip) and lie flat for Up / Down.
  - The background is a dimmed, desaturated copy of the weapon.
- **Profiler: "HOOKS ON BLIZZARD FRAMES" section**: every hook the addon puts on Blizzard frames is now timed and listed by file:line and method, so hook cost is no longer hidden in the "unhooked" gap.

### Changed (CPU)
- **Tracked Spells**: entering or leaving combat no longer rebuilds every tracked icon unless a spell actually depends on combat (show only in combat, only on cooldown or only when ready).
- **Target Count**: updates every 0.5 s in combat (was 0.3 s), and only touches its widgets when the count or visibility changed (no repeated Show / Hide calls on frames already in that state).
- **Icon Extras**: the decoration pass now runs once a second in combat (was 4 times a second). Out of combat it stays at every 2 s. New icons are still decorated straight away.
- **Segment Bars**: queued refreshes are merged over 0.25 s (was 0.15 s), so bursts of cooldown events cost one rebuild instead of several.

### Changed (addon folder)
- **One loader per folder**: the `.toc` now lists 12 `Load_<Folder>.xml` files (Libs, compat, locale, core, utils, data, profiles, trackers, cooldownbars, ResourceBars, visuals, ui) instead of every single file. Same files, same order. The only difference is that Cooldown Bars now load right after the trackers.
  - A full game restart (not just `/reload`) is needed once after updating, because the game only reads the `.toc` file list at startup.
- All `hooksecurefunc` calls go through `CCMF_HookSecure` (defined in `compat/ForeverCompat.lua`). This behaves exactly like `hooksecurefunc`, but lets the profiler time each hook while it is running.

### Fixed
- **Segment Bars**: picking a Weapon art style threw "attempt to call a nil value" (a helper was used before it was defined).
- **Profiler**: `/ccmprofile start` could freeze the game with "script ran too long". It walked every frame in the UI (over 5,000) looking for scripts it could never identify on live clients. That sweep is now skipped when it cannot work, and is otherwise capped by a time budget.

## [0.1.0] — Forever draft

First WoW Forever edition. See `README-FOREVER.txt` for what is included and what was removed compared with Retail.