Classic WoW Wiki:Interface customization

Documentation

 * Introduction
 * WoW UI Customization Guide (snagged from the forums, slouken's post)
 * AddOns (Guide to starting your own AddOn and the TOC file)
 * Events (List of API events that drive the UI)
 * Lua (The core language)
 * World of Warcraft API (The World of Warcraft game and UI functions)
 * FrameXML Elements elements of the UI
 * WoW Constants
 * XML User Interface
 * HOWTOs

World of Warcraft Scripting Quirks

 * Macros
 * Can only cast spells from a hotkey or mouse click
 * Macros cannot cast spells on a delay
 * /cast only works in Macros
 * only one spell or action can be triggered per button press


 * Frames
 * OnEvent handlers are only called when the frame is visible.
 * OnUpdate handles are called every frame. Use with care.
 * When inheriting frames, you can access the parent frame name with $parent.
 * All Frames have a GetID function which will obtain the ID specified in the XML.


 * Output
 * The only file output allowed is when the UI engine saves variables before it exits or reloads. Addons use the ## SavedVariables: header to indicate which data they wish to save.


 * Functions
 * x,y = GetCursorPosition; will return the current position of the mouse with respect to the object it currently is in. This means x will be 0 if the mouse is at the left edge of a frame or button, regardless of where that frame or button is.
 * x,y = GetCursorPosition(UIParent); will return the current position of the mouse with respect to the entire UI. This can be considered the absolute position.

UI Customization Forums

 * worldofwarcraft.com UI customization forum
 * wowvault.ign.com UI customization forum
 * CosmosUI forum - UI customization discussed here, too