promotional bannermobile promotional banner

Pixie Tooltip

A library-free, mixin-based multi-column tooltip for addon developers, with clickable rows, progress bars and live refresh.

Pixie Tooltip

Rich multi-column tooltips for your addon, from one build function.
Blizzard-native, mixin-based, no libraries.

Full guide on GitHub: every command and setting, step by step, in three levels.

Pixie Tooltip is for addon developers. It replaces hand-built GameTooltip lines and LibQTip with a simple build function: you describe the rows, Pixie Tooltip lays them out, keeps them interactive and redraws them when your data changes.

Features

  • Columns: automatic or a fixed count; cells can be merged across columns
  • Fixed header and footer: they stay in place while a long body scrolls
  • Progress bars, images, separators and row backgrounds
  • Interactive rows: click, mouse wheel and hover hints (text, item or spell links), per row or per cell
  • Live refresh: call Refresh() and the open tooltip redraws itself
  • Quick panels: a movable window with a close button and Esc support, from the same build function
  • Key bindings: open a tooltip with a key, no XML needed
  • Light on memory: frames, textures and tables are pooled and reused
  • Clients: Retail, Mists of Pandaria Classic, Burning Crusade Classic Anniversary, Classic Era and WoW: Forever

Quick start

1. Add the dependency to your TOC

## Dependencies: PixieTooltip

2. Write a build function

local PixieTooltip = PixieTooltip
local CELL = PixieTooltip.CELL

local function Build(tip, header)
    header:AddRow("Characters", nil, nil, date("%H:%M"))
    header:AddSeparator("ffcc00", 1)
    tip:AddRow("Name", "Level", "Gold", "Week")
    tip:AddRow("Pixie", 80, "1234g", "+56g")
    tip:AddRow({ "Total", CELL }, "1234g", "+56g")
end

3. Open it

PixieTooltip:Open(anchor, Build)            -- automatic columns, not in combat
PixieTooltip:Open(anchor, Build, 4)         -- 4 columns
PixieTooltip:Open(anchor, Build, 4, false)  -- 4 columns, also in combat

4. Redraw it when your data changes

PixieTooltip:Refresh()

Simple to read

Three verbs, and every call chains:

  • Add... adds content: AddRow, AddSeparator, AddImage
  • Set... changes the look: SetColor, SetFont, SetBar, SetAlign...
  • On... reacts to the mouse: OnClick, OnWheel, OnHover
tip:AddRow("Backpack", "12 / 20")
    :SetBar(12, 20, "3399ff")
    :OnClick(function() ToggleBackpack() end)

Try it in game

The addon includes 24 examples in three levels (Simple, Advanced, Expert).
Type /ptt (or Esc > Options > AddOns > Pixie Tooltip) and hover a line to see each one.

One global

Pixie Tooltip creates one global variable, PixieTooltip. Everything else stays inside the module.

Documentation

The full guide, with every command and setting:
DOCUMENTATION.md on GitHub

Pixie Tooltip Team

profile avatar
  • 2
    Followers
  • 15
    Projects
  • 325.2K
    Downloads

Rebuilding my old World of Warcraft addons and creating new ones using Blizzard-native APIs, mixins, and features. No external libraries or dependencies—just clean, modern, modular code.

More from PixieAddonsView all