Get an Epic Experience with Premium

X-Perl UnitFrames

Unit Frames Login to Add Favorites
  • World of Warcraft
  • 47,770 Monthly Downloads
  • Supports: 5.4.0
  • 23,050,433 Total Downloads
  • Updated 10/14/2013
  • Created 08/31/2008
  • 15,372 Favorites
  • Project Site
  • Comments
  • Release Type: Inactive
  • License: GNU General Public License version 3 (GPLv3)
  • Newest File: 3.7.5
Support development! **

About X-Perl UnitFrames

Patch 6.0.3 compatibility and future of X-Perl

Use latest alpha from WoWAce for using in Patch 6.0.3

May still has problems but for most cases it should be working(at least was tested on beta), if not, clearing old setting by killing(and backup) XPerlxxxxxxx.lua in the WTF directory of your WoW installlation and try again with fresh new default setting, thanks your patience.

If still someone want to help Zeksie for he earns his donates from X-Perl then that's fine for Zek and X-Perl, but seems like it's time to cut him out as no one want to help X-Perl anymore (as many of users already heard about the mess of this poor addon), I guess.

I don't know X-Perl will still be continue or not(it's highly possible it won't be, as the new maintainer Resike continued the developing and forked to Z-Perl, and he said he won't abandon his addons), I won't force everyone should must to use Resike's one at this point, as his Z-Perl isn't stable yet, and for some reasons, I don't think he want to port his fixes back to X-Perl as he knows about how Zek did about his addons and everyone who helped Zek to maintaining this poor addon...and, of course...X-Perl may broken again when next time Blizzard's patches released..... /sigh

(At this point, I won't force everyone who used X-Perl to go Z-Perl until it's more stable than now, feel free to use Z-Perl or other Unitframe addons if you want, and do NOT hold your breathe about X-Perl too much, too. I already lost my hope on X-Perl, at least I can trust Resike and Z-Perl now...)


PlayerLin - Maintainer of X-Perl but not a proper skilled coder, just a locale translator and do some shitty PRs. :(

Bug Reporting

Please use the Ticketing System on WoWAce Here and avoid posting bugs using comments on Curse because they're difficult to track and they will probably get lost.

Use a good error catcher (like BugSack from and provide the full error text, and give as much information as possible to recreate the problem. Don't assume We know what you're talking about with some three word report.


Perl, with Extra stuff. Much enchanced from Nymbia's Perl UnitFrames, and a complete replacement for Blizzard's default unit frames, including raid frames and raid tools, with little remaining of the original Nymbia code.

  • Range Finder (combined with optional health check and/or debuff check) for all frames based on spell or item range test.
  • HoT Monitor will highlight units clearly that have ''your own'' active Heal over Time spells. Regardless of how many other heal over time buffs are on the raid members, you can keep track of your own ones and when they expire.
  • Debuff Highlighting in standard debuff colours on all friendly frames. Priority given to show debuffs that ''you'' can cure first.
  • Raid Frames, buff icons, MT list units and some other portions or X-Perl are Created on demand. Saving a lot of time and memory at system startup. Defering the creation of many parts of X-Perl to when they are actually required. And of course, most often outside of raids they are never required and are never created.
  • Raid Target icon support for Target, Target's Target, MT Targets.
  • Raid Tooltip will show combat rezzers available (druids with Rebirth ready (or very soon available) and any normal rezzers out of combat) if you bring up tooltip of a dead person.
  • In-combat indicators for all units.
  • 3D Portraits for player, pet, target, focus, party. Optional. Of course this may degrade your framerate somewhat because you are displaying more 3D character models that without this option. But some like it pretty, and it does look cool.
  • Red and Green combat flashes for frames when player, pet, target, party, partypets, raid take damage/heals. Useful indication of things happening.
  • Added '''time left''' on party member/target buffs/debuffs when in a raid, these depend somewhat on CTRA sending appropriate information over the addon channel, although some of it can be determined at run time by X-Perl, when a player gets a buff for example, we know how long it should last, and therefor when it should expire.
  • Totally new options window including all X-Perl options and access via minimap icon and the /xperl splash command.
  • Configurable colours for borders and backgrounds. Including class coloured names, and configurable reaction colours.

Much care has been taken with code size, memory load, memory usage per cycle and so on. LuaProfiler/OnEvent mods used extensively and regularly to ensure that X-Perl does not do more work than is absolutely necessary.

Assists View

Will show anyone from raid assising you with your target, and can also show healers or all plus known enemies targetting you.

Tooltips for the same also available (on player and target frames) if you prefer to not use the main window.

MT Targets

Replaces CTRA MT Targets window, and doubles as a replacement for the Perl RaidFrames warrior targets.

Indicator shows which target you are on.

Frames will be coloured to show if tanks have duplicate targets.

Casting Monitor


Shows selected classes (defaults to healer classes) in a list (much like the MT List), but with some differences.

Shows mana bars and cast bars on left. Their targets on right. Health bar as normal, but a secondary small red bar on targets which shows the maximum single hit this unit has received since entering combat. The secondary bar will extend downwards from their current HP level down to as far as zero.

A green name on the targets indicates this is the same target that you have. You can click on casters or their targets as expected.

For druids, right clicking on a caster will cast Innervate on them.

For shamans, right clicking on a caster will cast Mana Tide Totem. Check the * indicator to see if they're in your group.

All bars can be re-sized in X-Perl main options (Monitor section).

Totals can be toggled (from the 'T' minibutton at top of frame) which gives overview of raid mana status.

Raid Admin


Save/Load raid roster setups Only does direct save and load for the moment, but more to come (templates and such).

Item Check

Replacement for /raitem /radur /raresist /rareg. Use the old commands before, or drop items in the left item list.

Query button will perform /raitem on all ticked items (query always includes dur and resists) and you can then view and review all the results whenever, without having to re-query each item.

Includes everyone in raid, so you don't have to work out who doesn't have items, it'll list them with 0 instead of no entry.

Active Scanner to check raid member's equipment for the item selected. So you can be sure that people actually have the item worn (Onyxia Cloak for example), without having to go round single target inspecting everyone who 'forgot' to install CTRA for the 50th raid in a row.

Grim Reaper

Removed from X-Perl, but continues as it's own standalone Ace mod.


More Buffing Features

Can be found in my new universal buffing mod, ZOMGBuffs


3.7.5 Release (r860/r859)
1.You can now disable pvp marks on the frames.
2.TTT Frame, FocusTarget and PetTarget Debuffs are now enabled and disabled correctly.
3.You can now enable Target's Target Debuffs independently from its Buffs.


First Previous Page 169 of 487 Next Last
  • #5455
    Bliz disabled addons being able to do that.
  • #5446
    When I target myself I get this Error:

    Date: 2010-10-24 19:19:53
    ID: 1
    Error occured in: Global
    Count: 6
    Message: C stack overflow
    (tail call): ?
    [C]: ?
    [string "safecall Dispatcher[5]"]:13: ?()
    ...Bot\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:92: Fire()
    ...alBot\Libs\LibTalentQuery-1.0\LibTalentQuery-1.0.lua:148: Query()
    [string "safecall Dispatcher[5]"]:4:
    [string "safecall Dispatcher[5]"]:4
    [C]: ?
    [string "safecall Dispatcher[5]"]:13: ?()
    ...Bot\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:92: Fire()
    ...alBot\Libs\LibTalentQuery-1.0\LibTalentQuery-1.0.lua:148: Query()
    [string "safecall Dispatcher[5]"]:4:
    [string "safecall Dispatcher[5]"]:4
    [C]: ?
    [string "safecall Dispatcher[5]"]:13: ?()
    ...Bot\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:92: Fire()
    ...alBot\Libs\LibTalentQuery-1.0\LibTalentQuery-1.0.lua:148: Query()
    [C]: ?
    [string "safecall Dispatcher[5]"]:13: ?()
    ...Bot\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:92: Fire()
    ...alBot\Libs\LibTalentQuery-1.0\LibTalentQuery-1.0.lua:148: Query()
    [string "safecall Dispatcher[5]"]:4:
    [string "safecall Dispatcher[5]"]:4
    [C]: ?
    [string "safecall Dispatcher[5]"]:13: ?()
    ...Bot\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:92: Fire()
    ...alBot\Libs\LibTalentQuery-1.0\LibTalentQuery-1.0.lua:148: Query()
    XPerl_Target\XPerl_Target.lua:1001: XPerl_Target_UpdateDisplay()
    XPerl_Target\XPerl_Target.lua:1255: func()
    [C]: TargetUnit()
    ..\FrameXML\SecureTemplates.lua:422: handler()
    ..\FrameXML\SecureTemplates.lua:540: SecureActionButton_OnClick()

    Using beta5 r469
  • #5445
    hi, great addon.

    however, the latest version beta 4 (r441) gives my DK a bug with the integrated rune bar. everything is alright, although it seems to mess up showing proper runes that are being on CD. blood runes work fine, but frost and unholy runes seem to be mixed up. for example when i cast Death & Decay which costs 1 unholy rune, then it shows a frost rune on CD. when i use an ability that uses a frost rune an unholy rune is being cooldowned!

  • #5444
    For some reason with 4.0.1 I am no longer able to see how many people are attacking a mob. Any idea what that option is to turn back on, or was it broken?
  • #5443
    BiS is BiS, and thats X-Perl!
  • #5441
    Two issues, one is a bit of an issue, the other... Not so much, but it's quite irritating to me.
    The first, and only real issue, is that x-Perl causes a near continuous stream of errors when I'm tanking on my DK when I get a debuff, any debuff.

    The one I noticed first is that quite often, the buffbar will get squashed up into one slot, and I cannot check my buffs(or debuffs for that matter) without targetting myself. If you could suggest any fixes throught the options menu, or let me know if it's an actual bug with X-Perl itself, please do.

    And keep up the great work, the best unit/raid frames addon out there.
  • #5440
    I play a priest and like to use Status Highlighting on the Global tab (specifically hots, shields, and POM) but I find I always have to re-enable those options. On characters that don't support those abilities they're grayed out and you can't alter the setting, though it is always unchecked at that point.

    I've tried checking the box to save settings on a per character basis and found it caused more problems that it solved. Some clarification in the tooltip to explain what that checkbox really does would be helpful. It seems as if settings are already saved on a per character basis even with that option off anyway since I generally have to load settings from another player in order to duplicate the layout.

    On a side note, the status highlighting for hots, shields, and POM often don't appear immediately...or sometimes at all. Sometimes the hot bar will appear half way through the hots duration. The yellow bar, purple bar, and icon I mean. I've noticed this mostly on 5 mans (party frames), though I also noticed today that I had the highlighting on the target and player frames but not on the raid.

    I find these options make the durations of your spells much easier to track so you can focus on the important things like moving out of the fire, but between having to re-enable them for each healing class I play and having the graphics intermittently not appear on the frames is a little frustrating.

    OK last comment then I'll shut up. I would love an option that would allow you to display your party as raid group 1, or at least mimic that appearance and position. The party frames really have more junk hanging off them than I need. It also seems like it would help for a more consistent layout whether raiding or pugging 5 mans. It would definitely make it easier to find places for other addons without having to worry about party frames occupying a different space than the raid frames.

    Thanks for all the hard work on the xperl!
  • #5438
    Anybody know if there's any way to get X-Perl to show me my incoming heals? I thought i used to have this, but maybe that was just when I was trying to use PitBull. (PitBull's *terrible* performance and failure to "make the simple stuff easy" made me switch to X-Perl, and I don't want to go back.) I can't find any option anywhere, except an option that is supposed to highlight someone in green (which isn't really helpful anyway).

    I use VuhDo, which is perfectly fine in groups, and I am happy to install LibHealComm-4.0 if necessary. But I want to use X-Perl for my self-player frame and I want to be able to see if I or a party member is healing me. For example, when I play my prot warrior, seeing my incoming heals can be tremendously helpful in deciding if I need to pop a cooldown or not.

  • #5439
    I take it back: X-Perl is just broken with the beta version I'd taken from Curse. Everyone with a problem, install the alpha. The alpha is working much better.

    (Also, I was just reading up and LibHealComm is broken and deprecated since Blizz added built-in heal notifications in 4.0.)
  • #5436
    Date: 2010-10-24 02:32:04
    ID: 1
    Error occured in: Global
    Count: 1
    Message: ..\AddOns\XPerl\localization.deDE.lua line 52:
    '=' expected near 'DEAD'
    [C]: ?
  • #5435
    1x XPerl_Options-r467\localization.deDE.lua:842: unfinished string near '"'
    XPerl-3.1.0 Beta 5\XPerl_Globals.lua:453: in function `XPerl_LoadOptions'
    XPerl-3.1.0 Beta 5\XPerl.lua:786: in function `XPerl_UnlockFrames'
    XPerl-3.1.0 Beta 5\XPerl_Slash.lua:20: in function `value'
    Interface\FrameXML\ChatFrame.lua:4127: in function `ChatEdit_ParseText':
    Interface\FrameXML\ChatFrame.lua:3717: in function `ChatEdit_SendText':
    Interface\FrameXML\ChatFrame.lua:3755: in function `ChatEdit_OnEnterPressed':
  • #5434
    oh and they are not showing how much holy power you have anymore either in my pally... i have not tested the DK or the Lock yet
  • #5432
    the Runes/Shards/Eclipse/holy power bar is no longer movable.... only show and hide :-(
  • #5433
    you undock it first?
  • #5431
    Interesting error... Not even sure why I got it but the localization.deDE.lua had an error after the last update on line 52 it was missing the '=' and the "" around DEAD.....
  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Gamepedia Free-shirt Giveaway