Trend Explorer
Recent download momentum
Hourly download deltas for the last 48 hours.
About this addon
What it does
Disclaimer: this addon is community made and not developed or maintained by Ellesmere
WonderBar for EllesmereUI is an information bar designed as a native companion for EllesmereUI, inspired by the WunderBar from ToxiUI.
It adds a fully-featured, customizable bar at the top or bottom of your screen — housing a complete suite of at-a-glance modules: a MicroMenu with TGA icons, a clock with date and mail notification, gold and session tracking, XP and reputation progress, travel and hearthstone cooldowns, specialization switcher with loadout support, profession display, and system performance metrics.
Designed to feel like a natural extension of EllesmereUI — it respects your theme color, integrates with Unlock Mode for free repositioning, and adds a dedicated options tab directly inside the EllesmereUIBasics panel.
Requires EllesmereUI. EllesmereUIBasics is optional but recommended for access to the settings panel.
Localized in: English · Français · Deutsch · Español · Italiano · Português (BR)
A tribute to ToxiUI's WunderBar. Icon assets from XIV_Databar.
## v1.5.0 — Standalone options panel
- Added: **Standalone options panel** registered in the native WoW Interface →
Addons settings screen under "WonderBar for EllesmereUI". The panel uses a
scroll frame to expose all configuration sections (Bar, MicroMenu, Clock,
Modules, Inspect Window Info, Character Sheet Info, Character Stats Tooltip)
independently of EllesmereUIBasics. If EllesmereUIBasics is loaded and the
injection succeeds, both access points remain available simultaneously.
- Changed: **Addon list appearance** — the addon now displays as
"WonderBar for EllesmereUI" with a distinct blue accent color instead of the
EllesmereUI teal, and uses its own icon rather than the EllesmereUI logo.
This avoids visual confusion in the addon list when both addons are installed.
## v1.4.0
- Added: **Character Sheet Info** — overlays item level, enchant status and gem
status on each equipment slot of the native Blizzard character sheet.
Item level is colored by item quality. Enchant indicator (E) is green when
present, red when missing. Gem icons show the actual gem texture when socketed,
or the empty socket texture in red when a socket is unfilled. Layout uses
dynamic spacing to distribute elements evenly within the 37px slot height.
All display options are toggleable individually in the WonderBar options panel.
- Added: **Inspect Window Info** — mirrors the Character Sheet Info feature on
the Blizzard inspect window when viewing another player. Hooks into
`Blizzard_InspectUI` after it loads (on-demand addon pattern, identical to
ElvUI). Item level, enchant and gem status are displayed on each slot using
the same layout as the character sheet.
- Added: **Player Tooltip Info** — hovering over any player now shows their
average item level and Mythic+ score in the GameTooltip, after a short
inspect delay. Works on all players regardless of faction. Both values are
individually toggleable in options.
- Fixed: `SecureActionButtonTemplate` removed from Profession module buttons.
These buttons do not execute protected actions, so the template was
unnecessary and caused taint on the standard Blizzard action bars in some
configurations, resulting in `SetAttribute` blocks during combat.
## v1.3.3
- Added: Travel tooltip now uses LibQTip with interactive Mythic+ teleport
rows — left-click on an available dungeon teleports directly; rows on
cooldown are greyed out with the shared cooldown shown in the section header.
- Added: Travel tooltip chat icon now opens the Channel window.
- Fixed: Mythic+ teleport lines in the Travel tooltip were not triggering
teleportation when clicked. Root cause: `SecureActionButtonTemplate` children
of `UIParent` silently block spell execution in Midnight when the action
originates from a tooltip context. Fix follows the XIV_Databar pattern:
`InsecureActionButtonTemplate` with `type=spell`, `spell=spellName` (name,
not ID), `useOnKeyDown=true`, and `RegisterForClicks("LeftButtonDown",
"LeftButtonUp")`. Buttons are pooled as children of `UIParent` and
repositioned over LibQTip rows via `SetPoint` after tooltip layout.
whose saved variables predated the Profession module — `OnEnable()` was
skipping modules whose database key did not exist in an older saved profile.
- Fixed: Profession left-click was broken by `HookScript("OnClick")` on a
`SecureActionButtonTemplate` frame, which does not invoke the hook in this
context. Reverted to `SetScript("OnClick")`, which is safe here as no
`*type1` action attribute is defined on these buttons.
- Fixed: Profession right-click (open profession book, default K) was broken
because `*clickbutton2` targeting `ProfessionMicroButton` silently does
nothing in Midnight — `ProfessionMicroButton` has no `type` attribute and
operates via its own native `OnClick` script. Right-click now calls
`ProfessionMicroButton:Click()` directly.
- Improved: hearthstone list in Travel is now cached at module level and
invalidated on `HEARTHSTONE_BOUND` and on module activation, instead of
scanning all 47 IDs on every tooltip open.
- Improved: `BAG_UPDATE` in Gold is now debounced via `C_Timer.After(0)`,
so only one `Refresh()` fires per frame even during AoE looting.
- Improved: `SPELLS_CHANGED` in Profession is now debounced and skipped
entirely in combat, avoiding repeated `GetProfessionInfo()` calls on
every aura change.
- Improved: addon memory data in System is now cached for 5 seconds;
`UpdateAddOnMemoryUsage()` is no longer called every second during hover.
- Improved: MicroMenu combat defer now uses a single pre-allocated frame
instead of creating a throwaway frame on every combat-blocked call.
- Improved: MicroMenu BNet client lookup replaced with an O(1) hash table
built lazily on first hover (WoW globals unavailable at load time).
- Improved: MicroMenu Guild and Social tooltips now use `C_Timer.After`
polling instead of a per-frame `OnUpdate` to detect hover end.
- Improved: `IsStatShown()` in CharStats now uses a pre-built hash table
instead of a linear scan through `CHARSTATS_LIST` on every tooltip line.
- Improved: active loadout name in SpecSwitch is now cached and invalidated
only on `PLAYER_SPECIALIZATION_CHANGED` and `ACTIVE_COMBAT_CONFIG_CHANGED`.
## v1.3.2
- Fixed: dead code function `GetCompletedQuestXP()` removed from DataBar
(iterated the full quest log but was never called).
- Fixed: duplicate `InCombatLockdown()` call at the end of `System:Refresh()`
removed (the guard at the top of the function is sufficient).
- Fixed: XP text in DataBar now built with `string.format` instead of string
concatenation, reducing temporary allocations.
---
## v1.3.1
- Fixed: hovering over any action button triggered repeated Lua errors —
"attempt to compare a secret number value (tainted by EllesmereUIWonderBar)"
and "SetCooldown: Secret values are only allowed during untainted execution".
Root cause: `SetScript("OnClick")` on frames created with
`SecureActionButtonTemplate` taints the secure execution context.
`SetScript("OnEnter")` and `SetScript("OnLeave")` on secure frames are safe
(pattern used by LibActionButton-1.0/ElvUI) and were not the cause.
— **MicroMenu**: `SetScript("OnClick")` removed from all secure buttons;
clicks are driven exclusively by `SetAttribute`. `SetScript("OnEnter/OnLeave")`
kept as-is (safe). Left-click on `chat` button removed (button hidden by
default; menu accessible via right-click on the chat tab directly).
— **Travel**: `SetScript("OnEnter/OnLeave")` kept on `hearthButton`; only
`SetScript("OnClick")` was removed (hearthstone uses `PreClick` +
`SetAttribute("macrotext")` exclusively for click handling).
— **Profession**: `SetScript("OnClick")` temporarily removed from secure
frames; left-click routed through an insecure proxy button via
`*type1=click` + `*clickbutton1=proxy`. This approach was revised
in v1.3.3 — see above.
- Fixed: `infoTimer` and `infoIndex` in the Clock module were not reset on
`Enable()`, causing stale state after a Disable/Enable cycle.
- Fixed: `OnUpdate` closures in System and Travel were reallocated on every
`Enable()` call; now stored as `self._onUpdate` and reused.
- Fixed: MicroMenu `CreateFrames()` now reuses existing named frames on
`UpdateMenu()` calls instead of creating new ones, preventing accumulation
of orphaned secure frames (WoW has no `DestroyFrame` API).
- Fixed: `capturedBasicsConfig` in BasicsIntegration now released after
injection to free the reference to Basics' config table.
- Improved: `RefreshBar()` debounced with a token counter so rapid successive
calls only trigger one `ApplyDynamicSlots()` execution.
- Changed: MicroMenu `chat` button disabled by default. Its target
(`ChatFrameMenuButton`) is hidden by WonderBar's own chat button hiding
feature, and the same options are reachable by right-clicking a chat tab.
---
## v1.3.0 — Hide chat frame buttons
- Added option to hide the native chat frame buttons (chat menu, channel list,
social) that sit to the left of the chat window — redundant when using the
WonderBar MicroMenu. When enabled, `ChatFrame1ButtonFrame` and
`QuickJoinToastButton` are hidden. Note: a small gap remains where the
buttons were — `ChatFrame1` repositioning is not possible in Midnight as
the frame is protected against `SetPoint` calls from addons. Applied on
login and after every zone change.
---
## v1.2.1
- Fixed: `ADDON_ACTION_BLOCKED` Lua error occurring in dungeons — layout
operations (`SetSize`, `SetPoint`) are no longer called during combat
lockdown across all modules
---
## v1.2.0 — Enriched MicroMenu tooltips
### New tooltips
- **Achievements**: displays the character's total achievement points,
colored with the active EllesmereUI accent color
- **Collections**: displays the number of mounts, battle pets, and toys
collected by the character
- **Adventure Guide**: displays two Delve-related data points:
- Delver's Journey rank (current season), read dynamically via
`C_DelvesUI.GetDelvesFactionForSeason()` + `C_MajorFactions.GetCurrentRenownLevel()`
— automatically adapts to each new season without code changes
- Delve companion level, read via `C_DelvesUI.GetFactionForCompanion()`
+ `C_GossipInfo.GetFriendshipReputation()` → `reaction` field ("Level XX")
— dynamic, works regardless of the active companion (Valeera in Midnight,
Brann in TWW, future companions in upcoming expansions)
### Localization
- All new keys (`ACH_POINTS`, `COLL_MOUNTS`, `COLL_PETS`, `COLL_TOYS`,
`DELVE_JOURNEY`, `COMPANION_LEVEL`) translated in all 6 locales:
enUS, frFR, deDE, esES, itIT, ptBR
- Backfill: `CS_*` and `OPT_CHARSTATS` keys (character stats tooltip,
introduced in v1.1.0) now translated in deDE, esES, itIT and ptBR —
they were silently falling back to enUS since v1.1.0
### Bug fix
- Clock: the resting icon (`restFrame`) `OnUpdate` was not stopped on
`Disable()` nor restarted on `Enable()` — fixed by storing the closure
in `self.restFrameOnUpdate`
---
## v1.1.3
- Removed the 1px accent color line at the edge of the bar — it was
correctly positioned but added no value
---
## v1.1.2 — Memory audit
- Fixed: SpecSwitch popup buttons were recreated on every open instead of
being reused — this was the only genuine memory leak in the addon
- Fixed: OnUpdate scripts (Clock, System, Travel) now stop when their module
is disabled and restart when re-enabled
- Fixed: Event frames (Clock, Gold, Travel, DataBar, SpecSwitch, Profession)
now unregister all events when their module is disabled and re-register
when re-enabled
- Fixed: DataBar event frame was not stored on self, preventing cleanup
- Fixed: SpecSwitch popups are now properly closed when the module is disabled
- Removed: leftover debug print in Core ("v0.9 chargé")
---
## v1.1.1
- Fixed missing author name in TOC (was placeholder `(your name)`, now
correctly set to `Vache`)
---
## v1.1.0 — Dynamic slot system and character stats tooltip
### Dynamic slot system
The bar layout engine has been completely rewritten.
Previously the bar was divided into 3 fixed panels of 3 fixed slots each.
Modules were anchored to predetermined positions regardless of their actual
content width.
The new system works differently:
- Each module declares its real content width via `GetContentWidth()`
- The Clock is always anchored to the absolute center of the bar
- MicroMenu is always anchored to the left edge
- The last module (Travel) is always anchored to the right edge
- Spacing between all modules is calculated and distributed equally
- Adding or disabling a module automatically rebalances all spacing
### Character stats tooltip
Hovering the Character Info button in the MicroMenu now displays a detailed
stats tooltip for your character. Stats shown are configurable via the
WonderBar tab in the EllesmereUIBasics options panel.
Available stats: Item Level, Primary Stat, Critical Strike, Haste, Mastery,
Versatility, Leech, Armor, Armor Reduction, Move Speed, Durability,
Active Spec.
Secondary stats (Crit, Haste, Mastery, Versatility, Leech) display both
the percentage and the raw rating value in parentheses.
Default stats shown: Item Level, Primary Stat, Crit %, Haste %, Mastery %,
Versatility %.
Stat colors use the active EllesmereUI theme accent color.
### DataBar improvements
- The XP and reputation bar now shows a full-width background track in a
darker shade of the accent color, making the remaining progress visible
at a glance
- Fixed a bug where the DataBar frame was invisible after the slot system
rewrite (missing slot variable reference)
- DataBar now uses a fixed configurable width (default 300px) instead of
reading its own slot width, which caused an unstable circular reference
### Bug fixes
- Clock date and resting icon now correctly flip below the bar when the bar
is positioned at the top of the screen
- EllesmereUIBasics Minimap options page was broken by our injection —
fixed by capturing Basics' original `buildPage` via `hooksecurefunc`
- Fixed a Lua syntax error in the core defaults table that prevented the
addon from loading
---
## v1.0.0 — Initial Release
*"Standing on the shoulders of giants."*
---
At-a-glance numbers
Performance highlights
- Peaked at Hot #1054 on May 11, 2026.
- Peaked at Rising #294 on May 10, 2026.
- Featured on the Hot list across 5 distinct weeks.
- Shipped 1 release in the last 30 days.
- Averaging 15 new downloads per day over the past week.
Visuals
Screenshots 1
Use real gameplay shots to assess the addon before installing.