Skip to content

feat: add top text slots (topLeft/topRight) above health bar#281

Open
itsDNNS wants to merge 3 commits intoEllesmereGaming:mainfrom
itsDNNS:feature/top-text-slots
Open

feat: add top text slots (topLeft/topRight) above health bar#281
itsDNNS wants to merge 3 commits intoEllesmereGaming:mainfrom
itsDNNS:feature/top-text-slots

Conversation

@itsDNNS
Copy link
Copy Markdown

@itsDNNS itsDNNS commented Apr 11, 2026

Summary

Adds 2 new configurable text positions above the health bar, increasing total text slots from 6 to 8 per unit frame.

Closes #280

Changes

  • New defaults: topLeftContent, topLeftSize, topLeftX/Y, topLeftClassColor (and matching topRight*) for all 6 unit types (player, target, totPet, pet, focus, boss)
  • Rendering: Top text overlay frame anchored 26px above health bar (clears buff icons), with font strings, tag application, and positioning for all 5 frame styles (Full, Focus, Simple, Pet, Boss)
  • Refresh: All 4 refresh paths updated to apply top text tags and positions
  • Options panel: Dual dropdown row with cogwheel popups (size, offset, class color) using btbTextValues (includes power-based tags)
  • Overlap prevention: Width constraint when both top slots active, accounting for X offsets

Layout

  [topLeft]                    [topRight]     <- NEW (above buffs)
  ==========================================
  [leftText]  [centerText]  [rightText]       <- Health bar
  ==========================================
  [btbLeft]  [btbCenter]    [btbRight]        <- Bottom text bar

All new slots default to "none" (hidden), so existing profiles are unaffected.

Test plan

  • Enable topLeft with "Name", verify text appears above health bar
  • Enable topRight with "Health %", verify right-aligned
  • Enable both, verify no overlap on narrow frames
  • Verify text clears buff icons on target frame
  • Verify class color toggle works
  • Verify size/offset sliders work
  • Verify power-based tags (perpp, curpp) available in dropdown
  • Verify all 5 frame types (player, target, focus, pet, boss)
  • Verify existing profiles load without issues (defaults are "none")

itsDNNS added 3 commits April 11, 2026 10:23
Adds 2 new text positions above the health bar for each unit frame,
increasing total text slots from 6 to 8:

Health bar: leftText, rightText, centerText (existing)
Top area:   topLeftText, topRightText (NEW)
Bottom bar: btbLeft, btbRight, btbCenter (existing)

This enables more complex text layouts like ToxiUI-style arrangements
where name, level, health %, health value, class icon, and power text
are all visible simultaneously.

New settings per unit (all default to "none"):
- topLeftContent, topLeftSize, topLeftX, topLeftY, topLeftClassColor
- topRightContent, topRightSize, topRightX, topRightY, topRightClassColor

Options panel: dual dropdown row with cogwheel popups for size/offset/color.

Modified: all 5 frame styles (Full, Focus, Simple, Pet, Boss),
all 6 unit defaults, 4 refresh locations, options panel.
P2-1: Use btbTextValues for top text dropdowns (includes power tags)
P2-2: Frame level +5 and 4px offset for top text overlay (avoids buff collision)
P2-3: Width constraints when both top slots active (prevents text overlap)
…or offsets

P2: Top text overlay now at +26px above health (clears 22px buff icons + spacing)
P3: Width constraint accounts for X offsets (tlxo/trxo) to prevent overlap
    when text is nudged toward center
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: Additional text slots above health bar (topLeft/topRight)

1 participant