Chapter 15: Page 299 - 'Modifying an Existing Frame'
The code example in this section doesn't quite work as advertised due to attributes that are already set on the TargetFrame frame. In particular, the
*type2 attributes are set so you can target the unit with any left-click and open the unit menu with any right-click. When resolving a wildcard attribute, priority is given to the modifiers and then to the buttons, so when you set the attributes listed in this block, the
shift-type-* attribute and friends are never found when left or right-clicking.
You can fix this block by adding the following four lines to the top of the code:
/run TargetFrame:SetAttribute("*type1", nil) /run TargetFrame:SetAttribute("*type2", nil) /run TargetFrame:SetAttribute("type1", "target") /run TargetFrame:SetAttribute("type1", "menu")
This change the behaviour of the frame so that shift-left-clicking will no longer target the unit, but will cast the Linen Bandage on the unit, etc.