WoW:Removing Blizzard default frames

From AddOn Studio
Revision as of 17:26, 12 July 2009 by WoWWiki>Arcanefoam (Added a note on preventing events from poping hidden frames back.)
Jump to navigation Jump to search

General about hiding frames

To hide a frame, you have to enter the frame name, followed by the command :Hide()

Example:

 MyFrame:Hide()

Hides a frame called "MyFrame".

If you use this in a Macro (not in an Addon), you have to add a /script-tag before:

 /script MyFrame:Hide()

Show a hidden frame

Addon:

 MyFrame:Show()

Macro:

 /script MyFrame:Show()

NOTE: Most frames have event handlers so even if you hide it, it can pop back up as a result of an event handler calling it's Show function. To avoid this you need to prevent the frame from getting these events or from executing the code that makes the frame show. Most Blizzard's frames (if not all) use the a single fuction to handle all events, which makes it easier for us. When hidding the frame you can make the OnEvent fucntion point to nill so no function gets called:

 PlayerFrame:SetScript("OnEvent", nil);
 PlayerFrame:Hide();

And then restore the original function when you want to show the frame again:

 PlayerFrame:SetScript("OnEvent", PlayerFrame_OnEvent);
 PlayerFrame:Show();

You will have to go through the code for each frame to get the exact functions, and with some (like target or pet) do some checks before actually showing it, i.e. Make sure the unit exists.

In the following there are listed some frames you might want to hide:

Unit Frames

Player Window

The Player window in the upper left that is always shown for yourself is PlayerFrame.

  PlayerFrame:Hide()

Party Window

The windows that are shown for group members are PartyMemberFrameX, where X = 1..4. All these can be hidden at once by the function HidePartyFrame(), provided by the default party frame lua code.

 HidePartyFrame() -- hides all party members
 PartyMemberFrameX:Hide() -- hides a specified party member (X=1/2/3/4)

Minimap-Frames

To hide the minimap completely, enter:

 MinimapCluster:Hide()

Worldmap Button

The little button at the topleft of the minimap that toggles the worldmap

  MiniMapWorldMapButton:Hide()

Time indicator

Usually shows a sun or a moon (day/night)

  GameTimeFrame:Hide()

Zoom Buttons

  MinimapZoomIn:Hide() -- hides the zoom-in-button (+)
  MinimapZoomOut:Hide() -- hides the zoom-out-button (-)

Action Bars

Main Action Bar

Main bar which has a row of shortcuts (at the bottomleft)

  RemoveMainActionBar()

Main Menu Bar

Menu bar which has various WoW Options, Character Info, Social etc.

  MainMenuBar:Hide()

Main Menu Bar Endcaps

The gryphons that are at the sides of the bottom bar.

  MainMenuBarLeftEndCap:Hide() -- to hide the left one
  MainMenuBarRightEndCap:Hide() -- to hide the right one

Shapeshift (Stance/Form/Stealth) Bar

  ShapeshiftBarFrame:Hide()

Additional Action Bars

Bottom Left

Bottom left action bar (Above the Main Action Bar, left side)

  MultiBarBottomLeft:Hide()

Bottom Right

Bottom right action bar (Above the Main Action Bar, right side)

  MultiBarBottomRight:Hide()

Left

First action bar below minimap

  MultiBarLeft:Hide()

Right

Second action bar below minimap

  MultiBarRight:Hide()

Other Frames

UI Parent

Hides the UI Parent same as if you press ALT+Z

 UIParent:Hide()

Chat

The default chat frame.

  ChatFrame1:Hide()

Experience Bar

This is the long purple (or blue, if rested) bar on the default UI that shows your experience

  MainMenuExpBar:Hide()