Create panels for customizing your UI, sucessor to eePanels

Wiki and FAQ

Sample Scripts

OnClick now provides a pressed and released variable you can check for.

if pressed then
  -- do mouse down actions
elseif released then
  -- do mouse up actions

This means your script will get called twice when someone clicks the panel.

Here is a youtube link to a video Tutorial

Ive created an Example Texture Pack.

This example pack is just a template. If you want to use it as a storage spot for your art, look at the read me file for directions on usage.

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

  • Avatar of steste78 steste78 Mar 19, 2013 at 22:18 UTC - 0 likes

    Im trying to move a bartender 4 bar useing the Bartender4.Bar.barregistry set position I can not seem to find the right point any help would be greatful

  • Avatar of Viprex82 Viprex82 Mar 11, 2013 at 20:40 UTC - 0 likes

    Hi Kagaro, hi Stanzilla!

    First I would like to thank you for this nice addon. You have done a very good work! Thanks a lot!

    I would like to ask for a feature request: Do you think it is possible to rotate text from kgpanel around 90°? And if so, may I ask you to think about implementing it to kgpanels?

    I have three boxes which got titled explicitly with its functions. I would prefer the text to be rotated around 90° counterclockwise.

    Thanks a lot for your reply. Viprex

  • Avatar of tommyfarris tommyfarris Dec 09, 2012 at 18:27 UTC - 0 likes

    I'm relatively new to Lua, and I'm having trouble getting onClick to do what I want.

    Screenshot for reference.

    I want, when I click on my (Gerudo) panel, to have it target myself, and when I click on it's twin on the other side of the screen for it to open the unit menu (invite, inspect, whisper, etc.) Does anyone have the lines of code I need to make this happen, or can you point me in the direction of someone who does? Thanks,


  • Avatar of steste78 steste78 Sep 13, 2012 at 16:41 UTC - 0 likes

    I m trying to hide and show the xp bar and rep bar in bartender4 but every time the xp bar updates it shows and everytime the rep bar updates it shows now I m looking at a way to disable them and enable them in the db file for bartender please help?

  • Avatar of kagaro kagaro Aug 09, 2012 at 20:40 UTC - 1 like

    @Zeltar73: Go

    thats a future feature item on my own internal list .. animated panels

  • Avatar of Zeltar73 Zeltar73 Aug 07, 2012 at 23:56 UTC - 0 likes

    Hi, after looking through several posts and countless links I'm at a crossroad and hoping someone will help that has more knowledge. What I am attempting to achieve with kgPanels is animated textures. (i.e. I want a panel with a dancing baby or small moving flame). My thoughts so far is to get a set of .tga files and using the AnimationGroup widget found in the widget API make a script in the OnLoad function that hooks onto that widget. A detailed example from start to finish (where did you put your textures - what is the scripting - etc...

    How about a script that when someone enters combat a panel that shows up with a flickering flame and hides when out of combat :)

    Or - if this isn't possible with kgPanels yet.. will there be support for it in the future?

    Last edited Aug 07, 2012 by Zeltar73
  • Avatar of s0uLr1pPeR s0uLr1pPeR Jul 15, 2012 at 08:36 UTC - 0 likes

    i got this when using /kgpanels config, kgpanels 1.9, clean wow install

    Date: 2012-07-15 12:50:20 ID: 1 Error occured in: Global Count: 1 Message: ...ceConfig\AceConfigDialog-3.0\AceConfigDialog-3.0.lua line 1803: AceConfigRegistry-3.0:ValidateOptionsTable(): expected a string or funcref, got 'false' Debug: [C]: ? [C]: ? ...nfig\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:50: ...nfig\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:45 ...nfig\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:187: ...nfig\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:182 ...nfig\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:224: ...nfig\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:196 ...nfig\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:231: ...nfig\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:196 ...nfig\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:231: ...nfig\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:196 ...nfig\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:231: ...nfig\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:196 ...nfig\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:231: ...nfig\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:196 ...nfig\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:259: ValidateOptionsTable() ...nfig\AceConfigRegistry-3.0\AceConfigRegistry-3.0.lua:300: app() ...ceConfig\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1803: Open() kgPanels\kgPanels.lua:585: ?() ...ventory\Externals\Ace3-AceConsole\AceConsole-3.0.lua:94: ?() ..\FrameXML\ChatFrame.lua:4293: ..\FrameXML\ChatFrame.lua:4239 [C]: ChatEdit_ParseText() ..\FrameXML\ChatFrame.lua:3992: ChatEdit_SendText() ..\FrameXML\ChatFrame.lua:4031: ChatEdit_OnEnterPressed() [string "*:OnEnterPressed"]:1: [string "*:OnEnterPressed"]:1 AddOns: Swatter, v3.2.4 (<%codename%>) Afflicted, v2.2.1 ArkInventory, v3.02 ArkInventoryRules, v AuraFrames, v1.2.4 Bartender4, v4.4.20.1 BasicMinimap, v1.81 ButtonFacade, v4.3.382 ColorPickerPlus, v ComboPointsRedux, v2.2.4 ErrorFilter, v2.4.2 Gladius, vv2.0.16-beta kgPanels, v1.9 kgPanelsConfig, v1.9 LoseControl, v4.3 Masque, v4.3.382 MasqueCaith, v4.3.78 MasqueOnyx, v4.3.72 OmniCC, v4.3.2 Prat30, v3.4.25 Prat30HighCPUUsageModules, v Prat30Libraries, v Quartz, v3.0.8 RatingBuster, v1.6.7 SellJunk, v3.0.4 ShadowedUnitFrames, vv3.4.4 Skada, v1.4-2 SkadaCC, v1.0 SkadaDamage, v1.0 SkadaDamageTaken, v1.0 SkadaDeaths, v1.0 SkadaDebuffs, v1.0 SkadaDispels, v1.0 SkadaEnemies, v1.0 SkadaHealing, v1.0 SkadaPower, v1.0 SkadaThreat, v1.0 TellMeWhen, v5.0.2 TidyPlates, v6.6.1 (R4xx) TidyPlatesGraphite, v TidyPlatesGrey, v TidyPlatesNeon, v TidyPlatesQuatre, v TidyPlatesHub, v TidyPlatesWidgets, v TipTac, v12.05.20 TipTacItemRef, v12.05.20 TipTacTalents, v12.05.20 Titan, v5.0.12.40300 - Revision 519 TitanBag, v5.0.12.40300 TitanClock, v5.0.12.40300 TitanDurability, v1.22 TitanGold, v5.0.12.40300 TitanGuild, v4.3.0 TitanLocation, v5.0.12.40300 TitanLootType, v5.0.12.40300 TitanPerformance, v5.0.12.40300 TitanRepair, v5.0.12.40300 TitanVolume, v5.0.12.40300 TitanXP, v5.0.12.40300 BlizRuntimeLib_ruRU v4.3.4.40300 <eu> (ck=5a6)

    Last edited Jul 15, 2012 by s0uLr1pPeR
  • Avatar of kagaro kagaro May 05, 2012 at 19:37 UTC - 0 likes

    OnUpdate was fixed to use the variable named elsapsed in r403, the OnSizechanged was fixed in r404 and Ive tagged a new release

  • Avatar of Choonster Choonster May 05, 2012 at 15:51 UTC - 0 likes

    For those wondering what the names of the various arguments to the scripts are (like I was earlier), I've looked at the function that sets up the scripts and written them below.

    self is always the panel's frame.

    • OnEvent: self, event, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10
      • event is the name of the event that fired, arg1-arg10 are the arguments it supplied.

    • OnUpdate: self, elapsed
      • elapsed is the number of seconds since the last OnUpdate was fired.

    • OnClick: self, button
      • button is the name of the mouse button that clicked the panel. This will usually be LeftButton, RightButton or MiddleButton for the first three mouse buttons or ButtonN (where N is some number) for mouse buttons 4+.
      • pressed and released will be true or false (nil) depending on whether the script was triggered by a mouse down or mouse up hardware event. These variables are mentioned on the main page itself, but I thought I'd put them here anyway.
      • It's worth noting that this actually uses the OnMouseUp/OnMouseDown handlers of the frame (because frames don't have OnClick handlers), so it doesn't count as a hardware event for functions that require one (e.g. SetCurrentTitle)

    • OnSizeChanged: self, width, height
      • width and height are the new width/height of the panel.
      • These were previously in the wrong order, but were fixed in r404.

    • OnLoad: self, kgPanels
      • kgPanels is the AddOn's main table.

    • OnShow, OnHide, OnEnter, OnLeave and OnReceiveDrag all have self as their only argument.
    Last edited Jun 15, 2012 by Choonster: Updated with Kagaro's r403/r404 changes.
  • Avatar of kagaro kagaro Apr 14, 2012 at 21:33 UTC - 0 likes



Date created
Sep 16, 2008
Last update
Feb 24, 2015
Development stage
  • enUS
  • frFR
  • koKR
  • zhCN
All Rights Reserved
Curse link
Reverse relationships
Recent files
  • A: r436 for 6.1.0 Feb 24, 2015
  • R: 1.20 for 6.0.2 Oct 24, 2014
  • R: 1.19 for 6.0.2 Oct 17, 2014
  • A: r433 for 6.0.2 Oct 17, 2014
  • A: r432 for 6.0.2 Oct 17, 2014