This is a consolidated list of the announced (and sometimes observed) changes in the User Interface API's and functionality for the 2.0.2/2.0.3 release. Please note that this thread is to discuss the upcoming changes and any clarifications or features that are a direct result of those changes, or things which we've been asked to remind slouken of.
IMPORTANT: Off-topic or entirely redundant posts are liable to get deleted. It is however in everyone's best interest to not post them in the first place - We'd rather slouken could spend his time coding us cool things than moderating this thread!
Standard UI Elements
* Unit frames will respond to modified clicks by default.
* Action buttons no longer use shift-click to pick up actions, but instead use shift-drag. This frees up the shift modifier for use in macros or as a self-cast modifier. (A workaround for this now is available at
http://forums.worldofwarcraft.com/thread.html?topicId=51038902&sid=1)
Macros and Slash Commands
* If you add a #showtooltip line to your macro, it will show the tooltip of the item or spell in addition to the normal visual feedback.
* /castsequence will equip items if they need to be equipped, and use them otherwise.
* NEW /dismount command
* The macro button: conditional will work with either the real button clicked or the state-header-remapped button that launched the macro.
* /startattack and /petattack will work like normal with no arguments, but if they're given arguments its interpreted and used as a unit ID or name to attack (you will not attack if the target cannot be found).
* If a unit is passed to /petattack YOUR target will not be changed.
* The following commands now support the [target=unit] macro option syntax: /startattack /petattack /target /assist /focus
* As a special case, if you /focus with the target=focus, or /target with the target=target, it will use the argument as the target instead. e.g. "/focus [target=focus,noexists] pet" will focus on the pet if the focus doesn't exist.
Key Bindings
* Holding down ctrl, alt, shift, x will check keybindings in the following order: ALT-CTRL-SHIFT-X, CTRL-SHIFT-X, ALT-SHIFT-X, ALT-CTRL-X, SHIFT-X, CTRL-X, ALT-X, X
* Key bindings that directly cast spells or use items now respectIM the self-cast modifier.
API Changes
* NEW: equippable = IsEquippableItem(item)
* NEW: link = GetInboxItemLink(index)
* NEW: Dismount()
* NEW: button = GetMouseButtonClicked() -- Returns the name of the button that triggered a mouse down/up/click/doubleclick event.
* NEW: hasMacro = CursorHasMacro()
* NEW: type, detail[,subdetail] = GetCursorInfo() -- one of "item",id,link / "spell",slot,"spell"|"pet" / "macro",index / "money",amount
* NEW: isSecure = IsSecureCmd("/command")
Frame Changes - Frames
API Calls
* UPDATED: protected, explicit = Frame:IsProtected() -- New 'explicit' return value
Frame Changes - Tooltips
API Calls
* NEW: name = Tooltip:GetUnit()
* NEW: name, link = Tooltip:GetItem()
* NEW: name, rank = Tooltip:GetSpell()
* NEW: isUnit = Tooltip:IsUnit("unit")
Script Handlers
* NEW OnTooltipSetUnit - Triggered when a Tooltip shows a unit
* NEW OnTooltipSetItem - Triggered when a Tooltip shows an item
* NEW OnTooltipSetSpell - Triggered when a Tooltip shows a spell
Frame Changes - Cooldown
There's a new cooldown indicator frame to be used in place of the previous Model file.
* OLD <Model inherits="CooldownFrameTemplate"/> should be replaced by
* NEW <Cooldown inherits="CooldownFrameTemplate"/>
Secure Templates
* Added an action type "attribute" to secure action buttons which sets an arbitrary attribute on an arbitrary frame.
* Added support for state header resizing and re-parenting on state changes.
Protected Functions
* Duelling, dismissing your pet, and abandoning your pet are no longer protected functions.
Saved Variables
* Arrays that are stored as saved variables are now saved using lua's array initializer syntax for optimal memory usage and performance on load.
Bug Fixes
* /click now works with secure action buttons
* Fixed taint issues with CloseLoot()
* Fixed taint issues with PickupContainerItem()
* MovePad will work again
* The raid pullout positions will be saved and restored between sessions
* Fixed a bug where raid composition changes can incorrectly change the units referenced by the pullouts.
* Fixed taint issue with social frame/raid tab not showing in combat (buttons in main social/raid tab are no longer secure unit buttons)
* Fixed /reply in macros
* Fixed issue whereby creating Textures/FontStrings from a template used the template name instead of the specified region name.
* Fixed bug where /petattack would target the nearest unit, not nearest live enemy unit
(Last updated 2006-12-14 21:26 Pacific)