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 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


  • Avatar of victorcillo victorcillo Apr 11, 2012 at 17:21 UTC - 0 likes

    Kagaro, you put the script for OnClick, has an error and confusion can lead people to not have much idea of ​​programming, if you can change elsif - elseif, will be better, I think I broke his brain was not working because your script when I gave him to copy - paste XD

    P. D. I hope my comment did not offend you friend

  • Avatar of victorcillo victorcillo Apr 10, 2012 at 02:01 UTC - 0 likes

    @palthis: Go

    If possible make a panel button has an effect, I've done this:


    if pressed then

    self:SetWidth(190) self:SetHeight(55)

    elseif released then

    self:SetWidth(200) self:SetHeight(60)


    Last edited Apr 10, 2012 by victorcillo
  • Avatar of victorcillo victorcillo Apr 10, 2012 at 01:56 UTC - 0 likes

    hello, my name is victor, sorry for my bad English.

    I use almost KgPanels since it was created, I have much knowledge of programming but I'm learning through Kagaro, I put a screenshot of my UI KgPanels totally made ​​by using many of the scripts present on this forum and other pages, if someone want to know as I have done any of the parts that make up that let me know by private message or just putting it here.

  • Avatar of palthis palthis Nov 22, 2011 at 06:48 UTC - 0 likes

    Is it possible to simulate a button using a panel and pressed effect?

  • Avatar of begothprincess begothprincess Nov 09, 2011 at 15:27 UTC - 0 likes

    Hi I got KG panels a long time ago and i loved the concept how ever i am not good at using photo shop. I am wondering if anyone might be able to help me create a panel. I have an img. that i want to use. Its based off the new darkmoon fair art. If you can help me do it please send me a message.


Date created
Sep 16, 2008
Last update
Jun 23, 2015
Development stage
  • enUS
  • frFR
  • koKR
  • zhCN
All Rights Reserved
Curse link
Reverse relationships
Recent files
  • A: r437 for 6.2.0 Jun 23, 2015
  • 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