Group Frames

QUI Group Frames replace Blizzard’s default party and raid frames with a fully custom secure header system. They support class colors, absorb shields, heal prediction, dispel overlays, range checking, role icons, threat borders, target highlights, click-casting, and automatic scaling based on group size.

Group Frames are opt-in and disabled by default. Enable them in /qui under Group Frames, then use Edit in Layout Mode when you want to move them on screen. Click-casting settings live under General > Click-Cast. Party and raid frame settings are stored separately.

DB path: db.profile.quiGroupFrames


General

General appearance settings that apply across all group frame elements.

Setting Type Default Description
quiGroupFrames.enabled boolean false Enable QUI group frames (opt-in, replaces Blizzard frames)
general.useClassColor boolean true Use class color for health bar fill
general.texture string "Quazii v5" Health bar texture (LibSharedMedia name)
general.borderSize number 1 Frame border thickness in pixels
general.font string "Quazii" Font face for all text elements (LibSharedMedia name)
general.fontSize number 12 Base font size
general.fontOutline string "OUTLINE" Font outline style: OUTLINE, THICKOUTLINE, NONE
general.showTooltips boolean true Show unit tooltips on hover
general.darkMode boolean false Enable dark mode (muted health bar, darker background)
general.darkModeHealthColor color {0.15, 0.15, 0.15, 1} Health bar color in dark mode
general.darkModeBgColor color {0.25, 0.25, 0.25, 1} Background color in dark mode

Layout

Controls how frames are arranged, sorted, and grouped for party and raid.

Setting Type Default Description
layout.growDirection string "DOWN" Frame grow direction: DOWN, UP
layout.groupGrowDirection string "RIGHT" Raid group column direction: RIGHT, LEFT
layout.spacing number 2 Pixel gap between individual frames
layout.groupSpacing number 10 Pixel gap between raid group columns
layout.showPlayer boolean true Include the player in the group display
layout.sortMethod string "INDEX" Sort method: INDEX (group index), NAME (alphabetical)
layout.sortByRole boolean true Sort by role priority (Tank > Healer > DPS)
layout.groupBy string "GROUP" Grouping method: GROUP (raid group number), ROLE, CLASS

Dimensions

Frame sizes auto-scale based on current group size. Party uses the largest sizes, large raids use the smallest.

Setting Type Default Description
dimensions.partyWidth number 200 Frame width in party (1-5 players)
dimensions.partyHeight number 40 Frame height in party
dimensions.smallRaidWidth number 180 Frame width in small raid (6-15 players)
dimensions.smallRaidHeight number 36 Frame height in small raid
dimensions.mediumRaidWidth number 160 Frame width in medium raid (16-25 players)
dimensions.mediumRaidHeight number 30 Frame height in medium raid
dimensions.largeRaidWidth number 140 Frame width in large raid (26-40 players)
dimensions.largeRaidHeight number 24 Frame height in large raid

Health

Health text display on each unit frame.

Setting Type Default Description
health.showHealthText boolean true Show health text on frames
health.healthDisplayStyle string "percent" Display style: percent, absolute, both, deficit
health.healthFontSize number 12 Health text font size
health.healthAnchor string "RIGHT" Health text anchor point: LEFT, RIGHT
health.healthOffsetX number -4 Health text horizontal offset
health.healthOffsetY number 0 Health text vertical offset
health.healthTextColor color {1, 1, 1, 1} Health text color (white)

Power

Power bar (mana, rage, energy, etc.) displayed below the health bar.

Setting Type Default Description
power.showPowerBar boolean true Show power bar beneath health
power.powerBarHeight number 4 Power bar height in pixels
power.powerBarUsePowerColor boolean true Use power type color (blue for mana, red for rage, etc.)
power.powerBarColor color {0.2, 0.4, 0.8, 1} Fallback power bar color when type coloring is off

Name

Unit name text display settings.

Setting Type Default Description
name.showName boolean true Show unit name text
name.nameFontSize number 12 Name text font size
name.nameAnchor string "LEFT" Name text anchor point: LEFT, RIGHT
name.nameOffsetX number 4 Name text horizontal offset
name.nameOffsetY number 0 Name text vertical offset
name.maxNameLength number 10 Maximum name characters before truncation
name.nameTextUseClassColor boolean false Use class color for name text
name.nameTextColor color {1, 1, 1, 1} Name text color (white)
name.showLevel boolean false Show unit level text on party frames
name.levelFont string "" Level font override (empty = frame font)
name.levelFontSize number 12 Level text font size
name.levelAnchor string "RIGHT" Level text anchor point
name.levelJustify string "RIGHT" Level text horizontal alignment
name.levelOffsetX number -4 Level text horizontal offset
name.levelOffsetY number 0 Level text vertical offset
name.levelTextColor color {1, 1, 1, 1} Level text color (white)

Indicators

Status icons and visual indicators displayed on frames.

Setting Type Default Description
indicators.showRoleIcon boolean true Show role icon (tank/healer/DPS)
indicators.roleIconSize number 12 Role icon size in pixels
indicators.roleIconAnchor string "TOPLEFT" Role icon anchor point
indicators.showReadyCheck boolean true Show ready check status icon
indicators.showResurrection boolean true Show pending resurrection icon
indicators.showSummonPending boolean true Show pending summon icon
indicators.showLeaderIcon boolean true Show party/raid leader and assistant icon
indicators.showTargetMarker boolean true Show raid target icons (skull, cross, etc.)
indicators.showThreatBorder boolean true Show colored border when unit has threat
indicators.threatColor color {1, 0, 0, 0.8} Threat border color (red)
indicators.showPhaseIcon boolean true Show phase mismatch icon

Healer Features

Specialized overlays and indicators for healing-focused gameplay.

Setting Type Default Description
healer.dispelOverlay.enabled boolean true Flash overlay when unit has a dispellable debuff
healer.dispelOverlay.opacity number 0.8 Dispel overlay opacity (0-1)
healer.targetHighlight.enabled boolean true Highlight border on your current target
healer.targetHighlight.color color {1, 1, 1, 0.6} Target highlight border color
healer.myBuffIndicator.enabled boolean false Show indicator for your active buffs on the unit
healer.myBuffIndicator.color color {0.2, 0.8, 0.2, 0.5} My buff indicator color
healer.defensiveIndicator.enabled boolean false Show indicator for active defensive cooldowns
healer.defensiveIndicator.iconSize number 16 Defensive cooldown indicator icon size

Absorbs and Heal Prediction

Absorb shield overlay and incoming heal prediction bars.

Setting Type Default Description
absorbs.enabled boolean true Show absorb shield overlay on health bar
absorbs.color color {1, 1, 1, 1} Absorb overlay color
absorbs.opacity number 0.3 Absorb overlay opacity
healPrediction.enabled boolean true Show incoming heal prediction bar
healPrediction.color color {0.2, 1, 0.2} Heal prediction bar color
healPrediction.opacity number 0.5 Heal prediction bar opacity

Auras

Buff and debuff icon display on group frames.

Setting Type Default Description
auras.showDebuffs boolean true Show debuff icons on frames
auras.maxDebuffs number 3 Maximum number of debuff icons displayed
auras.debuffIconSize number 16 Debuff icon size in pixels
auras.showBuffs boolean false Show buff icons on frames
auras.maxBuffs number 0 Maximum number of buff icons displayed
auras.buffIconSize number 14 Buff icon size in pixels
auras.showBuffDurationText boolean true Show duration text under buff icons
auras.showDebuffDurationText boolean true Show duration text under debuff icons
auras.showDurationColor boolean true Legacy fallback for remaining-time duration color
auras.buffDurationFont string "" Buff duration font ("" uses the frame font)
auras.buffDurationFontSize number 9 Buff duration font size
auras.buffDurationAnchor string "BOTTOM" Buff duration text anchor point on the icon
auras.buffDurationOffsetX number 0 Buff duration text horizontal offset
auras.buffDurationOffsetY number -6 Buff duration text vertical offset
auras.buffDurationColor color {1, 1, 1, 1} Buff duration static text color
auras.buffDurationUseTimeColor boolean true Use remaining-time color bands for buff durations
auras.debuffDurationFont string "" Debuff duration font ("" uses the frame font)
auras.debuffDurationFontSize number 9 Debuff duration font size
auras.debuffDurationAnchor string "BOTTOM" Debuff duration text anchor point on the icon
auras.debuffDurationOffsetX number 0 Debuff duration text horizontal offset
auras.debuffDurationOffsetY number -6 Debuff duration text vertical offset
auras.debuffDurationColor color {1, 1, 1, 1} Debuff duration static text color
auras.debuffDurationUseTimeColor boolean true Use remaining-time color bands for debuff durations
auras.showExpiringPulse boolean true Pulse animation when an aura is about to expire

Targeted Spells

Targeted spell icons are configured separately for party and raid contexts at party.targetedSpells.* and raid.targetedSpells.*.

Setting Type Default Description
targetedSpells.enabled boolean true Show enemy nameplate cast icons on group members targeted by those casts
targetedSpells.iconSize number 24 Pixel size of each targeted spell icon
targetedSpells.maxIcons number 3 Maximum targeted spell icons shown per frame
targetedSpells.spacing number 2 Pixel gap between adjacent icons
targetedSpells.growDirection string "CENTER" Direction additional icons grow from the anchor
targetedSpells.position string "CENTER" Anchor point on the group frame
targetedSpells.offsetX number 0 Horizontal offset from the anchor
targetedSpells.offsetY number 0 Vertical offset from the anchor
targetedSpells.reverseSwipe boolean true Reverse cooldown swipe fill while the cast progresses

Missing Raid Buff Aura Element

Missing raid buff icons are added from the unified Auras element list. Element settings live under the chosen spec bucket, such as party.auras.elements["*"][n] or raid.auras.elements["*"][n].

Setting Type Default Description
mode string "missingRaidBuff" Aura element type for missing raid buff icons
classDetection boolean true Only check the raid buff provided by the current class
buffChecks.intellect boolean true Check Arcane Intellect when manual buff selection is enabled
buffChecks.stamina boolean true Check Power Word: Fortitude when manual buff selection is enabled
buffChecks.attackPower boolean true Check Battle Shout when manual buff selection is enabled
buffChecks.versatility boolean true Check Mark of the Wild when manual buff selection is enabled
buffChecks.skyfury boolean true Check Skyfury when manual buff selection is enabled
buffChecks.bronze boolean true Check Blessing of the Bronze when manual buff selection is enabled
anchor string "CENTER" Anchor point on the group frame
offsetX number 0 Horizontal offset from the anchor
offsetY number 0 Vertical offset from the anchor
growDirection string "RIGHT" Direction additional missing-buff icons grow
spacing number 2 Pixel gap between adjacent missing-buff icons
iconSize number 16 Pixel size of each missing-buff icon
maxIcons number 1 Maximum missing-buff icons shown per frame
hideSwipe boolean true Hide cooldown swipe overlay for missing-buff icons
reverseSwipe boolean false Reverse cooldown swipe fill if shown
showDurationText boolean false Show duration text on missing-buff icons
durationFontSize number 9 Duration text font size

Aura Indicators

Per-spec custom aura indicators (colored squares, bars, icons on specific frame positions).

Setting Type Default Description
auraIndicators.enabled boolean false Enable custom aura indicators
auraIndicators.usePresets boolean true Auto-load built-in indicator presets for current spec
auraIndicators.specs table {} Per-spec indicator configuration (populated by user or presets)

Click-Cast

Click-casting allows binding spells to mouse clicks on group frames.

DB path: db.char.clickCast — character-scoped, not profile-scoped. Bindings reference class-specific spells, so each character keeps its own list and they do not travel through profile import/export. (Versions before v3.5.3 stored these on the shared profile, which leaked one class’s bindings onto every alt; existing data is migrated to the per-character scope on first login after upgrade.)

Setting Type Default Description
clickCast.enabled boolean true Enable click-casting on group frames
clickCast.perSpec boolean true Use separate click-cast bindings per specialization
clickCast.perLoadout boolean false Also split bindings per talent loadout within each spec (requires perSpec)
clickCast.smartRes boolean true Smart resurrection (auto-swap to res spell when hovering a dead unit)
clickCast.showTooltip boolean true Append binding summary to unit tooltips on hover
clickCast.bindings table {} Shared bindings list (used when perSpec is off)
clickCast.specBindings table {} Per-spec bindings keyed by specID
clickCast.loadoutBindings table {} Per-loadout bindings keyed by specID then config ID
clickCast.unitFrames table {...} Per-unit-frame opt-ins (player, target, targettarget, focus, pet, boss)

The Bindings panel can copy any non-empty shared, spec, or loadout binding set into the set currently being edited. Copying replaces the current set with an independent copy; the source set is unchanged.


Range

Out-of-range fading to indicate units beyond spell range.

Setting Type Default Description
range.enabled boolean true Enable range check fading
range.outOfRangeAlpha number 0.4 Frame opacity when unit is out of range (0-1)

Spotlight

Pin specific group members to a separate, independently positioned group.

Setting Type Default Description
spotlight.enabled boolean false Enable spotlight frame group
spotlight.growDirection string "DOWN" Spotlight frame grow direction
spotlight.spacing number 2 Spacing between spotlight frames
spotlight.useMainFrameStyle boolean true Match main group frame style settings
spotlight.byRole table {} Auto-spotlight roles (e.g., {"TANK"})
spotlight.byName table {} Spotlight specific player names

Castbar

Optional cast bar display on group frames.

Setting Type Default Description
castbar.enabled boolean false Show cast bars on group frames
castbar.height number 8 Cast bar height in pixels
castbar.showIcon boolean false Show spell icon on cast bar
castbar.showText boolean false Show spell name text on cast bar

Portrait

Optional unit portraits on group frames.

Setting Type Default Description
portrait.showPortrait boolean false Show unit portrait
portrait.portraitSide string "LEFT" Portrait position: LEFT, RIGHT
portrait.portraitSize number 30 Portrait size in pixels

Pets

Pet frame display attached to the group frames.

Setting Type Default Description
pets.enabled boolean false Show pet frames
pets.anchorTo string "BOTTOM" Pet frame anchor relative to group: BOTTOM, RIGHT, LEFT
pets.anchorGap number 2 Gap between group frames and pet frames

Class Power

Class-specific resource pips (Holy Power, Chi, Combo Points, etc.) on group frames.

Setting Type Default Description
classPower.enabled boolean false Show class power pips
classPower.height number 4 Pip bar height in pixels
classPower.spacing number 1 Gap between individual pips

Test Mode

Preview mode settings for configuring frames without being in a group.

Setting Type Default Description
testMode.partyCount number 5 Number of simulated party members
testMode.raidCount number 25 Number of simulated raid members

QUI Community Edition — Originally created by Quazii, maintained by Zol.

This site uses Just the Docs, a documentation theme for Jekyll.