LibQTip is designed replace GameTooltip - but with added functionality, such as multiple columns - from a minimalist design perspective.


  • Ability to display and handle multiple tooltips at the same time,
  • Unlimited number of columns and lines,
  • Column default and per cell justification,
  • Tooltip default and per cell font setting,
  • Colspans,
  • Possibility to add custom cells,
  • Optional scrollbar,
  • Optional scripts for lines, columns, or cells,
  • Optional automatic hiding,
  • Frames and tables recycling to reduce resource footprint.


Look here for information on embedding the latest beta/release.

In order to achieve effective frame recycling, tooltips must be released. Holding a tooltip leads to the creation of a full set of frames for every AddOn which does not follow this practice. Moreover, releasing a tooltip has a very little overhead compared to its benefits.

Known issues

  • Alignment may be altered when using :SetScale after filling the tooltip.


You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Blacksen Blacksen Dec 31, 2010 at 23:17 UTC - 0 likes

    Sorry for spamming up your comments page :-\ I think the error was probably just faulty embedding the libraries into the add-on. I haven't been able to duplicate it.

    In case you're wondering, the addon using this library is "Broker_WhisperWhisper"

  • Avatar of Blacksen Blacksen Dec 31, 2010 at 03:52 UTC - 0 likes

    Any idea what causes this error? (edit: Unfortunately I haven't been able to reproduce this either).

    LibQTip-1.0\LibQTip-1.0.lua:906: <unnamed>:SetPoint(): <unnamed> is dependent on this

    Full error:

    Message: ...oker_WhisperWhisper\libs\LibQTip-1.0\LibQTip-1.0.lua:906: <unnamed>:SetPoint(): <unnamed> is dependent on this Time: Thu Dec 30 21:51:29 2010 Count: 5 Stack: [C]: in function `SetPoint' ...oker_WhisperWhisper\libs\LibQTip-1.0\LibQTip-1.0.lua:906: in function <...oker_WhisperWhisper\libs\LibQTip-1.0\LibQTip-1.0.lua:823> (tail call): ? ...dOns\Broker_WhisperWhisper\Broker_WhisperWhisper.lua:401: in function `_OnEnter_func' ...oker_WhisperWhisper\libs\LibQTip-1.0\LibQTip-1.0.lua:1150: in function <...oker_WhisperWhisper\libs\LibQTip-1.0\LibQTip-1.0.lua:1145>

    Locals: (*temporary) = <unnamed> { 0 = <userdata> _paddingL = 0 _paddingR = 0 _provider = <table> { } fontString = <unnamed> { } } (*temporary) = "LEFT" (*temporary) = <unnamed> { 0 = <userdata> justification = "LEFT" width = 0 }

    Last edited Dec 31, 2010 by Blacksen
  • Avatar of Blacksen Blacksen Dec 31, 2010 at 00:59 UTC - 0 likes

    Thanks. Not sure how I missed that... SetPoint did it though.

  • Avatar of Torhal Torhal Dec 29, 2010 at 02:04 UTC - 0 likes

    You could anchor the second tooltip to the cell you're hovering over, using second_tooltip:SetPoint(), but without actually seeing your code that's about as much explanation I can give.

  • Avatar of Blacksen Blacksen Dec 28, 2010 at 07:10 UTC - 0 likes

    I have a few unusual requests/comments.

    I'm trying to create a mod under the LibDataBroker to mimic WhisperFu. With FuBar outdated and WhisperFu abandoned, it seems like this would be a much worthwhile direction. To manage the dropdown menus, I've been using LibQTip. However, I'm struggling at completely duplicating the functionality.

    Previously, WhisperFu had used Dewdrop. When you hovered over a name on its drop-down list, it would then extend out a "level" and present a different drop-down list with your conversation. However, when I tried to use LibQTip, I couldn't find a way to make it so that a separate tooltip (the extended "level") would get anchored without overlapping the current tooltip (the main menu). The SmartAnchor seemed to always put them on top of each other.

    I tried a different approaching of just making 2 columns, and having the 2nd column populate based on what you were highlighting in the first column. This time, however, the GUI became jumbled due to larger whispers. The text would wrap, which would increase the height of a row, which would juke things around a bit.

    Can you think of any good approach to solving this problem?

    Thanks in advance, - Blacksen

  • Avatar of dafzor dafzor Oct 19, 2010 at 02:30 UTC - 0 likes

    Thanks, with that I've already added support for the TipTac look to my and edited it in on other addons, still is there any chance you'd consider doing this on the library level? It would considerably improve visual consistency even though TipTac is a "special" case.

  • Avatar of Torhal Torhal Oct 18, 2010 at 20:56 UTC - 0 likes

    You're absolutely correct - they do not. TipTac has a list of frames which it decorates on its own. However; well over a year ago I worked with Aezay to augment TipTac's API so that other frames can "plug in" to it. I use the TipTac gradient for LibQTip tips, if it is loaded, in Ackis Recipe List, Broker_Currency, Collectinator, and a few other AddOns. Here's a snippet:

    		if _G.TipTac and _G.TipTac.AddModifiedTip then
    			-- Pass true as second parameter because hooking OnHide causes C stack overflows
    			_G.TipTac:AddModifiedTip(tooltip, true)
  • Avatar of dafzor dafzor Oct 18, 2010 at 08:26 UTC - 0 likes

    It's just that LibQTip tooltips don't fully pick up the theme set by tiptac, i've added screenshots to demonstrate.

    LibQTip: Regular:

  • Avatar of Torhal Torhal Oct 18, 2010 at 03:44 UTC - 0 likes

    I use TipTac without issue. Why wouldn't they place nice?

  • Avatar of dafzor dafzor Oct 14, 2010 at 03:56 UTC - 0 likes

    From the reply to Kuzah do I understand that LibQTip tooltips will never play nicely with tooltip addons like Tiptac?


Date created
Oct 16, 2008
Last update
Jul 19, 2016
Development stage
All Rights Reserved
Curse link
Reverse relationships
Recent files



Embedded library