Move, hide, scale, and resize frames with independent x&y axes.
Drag almost any normal UI Panel (e.g. CharacterFrame, SpellbookFrame, TalentFrame, QuestLogFrame, FriendsFrame, etc.) from any open space on the frame. This movement is intended to be for temporary changes and does not store location in the FluidFrames database.
However, this movement registers the frame as user placed. The position will be remembered by the WoW client and restored on subsequent login/reloadui if not overridden by placement code (e.g. CharacterFrame, Minimap). Most of these draggable frames reset if you hide and re-show them.
Some frames will not reset automatically (e.g. GameMenuFrame, BattlefieldFrame). To reset these, highlight the frame, right click to reset and then reloadui/relog.
The MinimapCluster is an added exception case and can be dragged by the top bar.
Temporary dragging can be disabled using the checkbox in the Khoas options.
Assign a key-binding [Main Menu > Key Bindings > FluidFrames > Highlight Mouse Frame] to select, highlight and cycle through frames under the cursor. (The "Highlight All Mouse Frames" binding cycles through all frames under the cursor, including unnamed ones.)
Put your cursor over the frame you want to move and use the key-binding. It will select the frame the furthest underneath. Consecutively using the key-binding will highlight frames closer to the front. Hold shift while using the key-binding to cycle backwards through the frames.
Drag the highlighted frame to relocate it permanently. It will disable movement from other code sources and save across sessions.
Hold shift and drag from the sides or corners to resize.
Hold shift and drag the bottom right re-scale icon to re-scale.
Right-click to reset a moved/resized/rescaled frame once highlighted.
To drag some bars you have to drag the 1st button.
To move the primary action button bar drag ActionButton1.
To find the ShapeshiftBarFrame put your mouse over the left edge of the 1st button when using the key-binding.
To drag all the player buffs & debuffs make sure you drag the TemporaryEnchantFrame.
To move Chat Frames just unlock and use the default tabs.
To drag the TargetFrame make sure you don't drag the TargetFrameTextureFrame on accident.
To move the whole minimap drag the MinimapCluster.
Experiment with which frame to change. if it doesn't work the way you wanted just right-click to reset.
Some frames have complex sub frames that update their locations independent of parent size. If resizing doesn't work well try scaling.
If secure frames are moved by default blizzard code while in combat they cannot be moved back until after combat. Also, you will not be able to drag secure frames in combat.
Feedback & Support
If you have bugs or feature requests please use the buttons on the right.
For other feedback, use the comments.
If you'd like to donate to show your support, that can be done through paypal with a paypal account or by credit card. Remember donations are much appreciated but non-contractual. Thank you!
Q) How do I use the same settings for all my characters?
A) Edit FluidFrames.toc and change "SavedVariablesPerCharacter" to "SavedVariables"
Q) How do I control a Vehicle/MindControl when the MainMenuBar is hidden.
A) Temporarily unhide the MainMenuBar, highlight it and drag it up off the bottom. Execute the script "/run BonusActionBarFrame:Show()". The BonusActionBarFrame should appear bellow the MainMenuBar. Highlight it and drag it where you'd like. Highlight the MainMenuBar, right click to reset it, then click the 'Hide' button above it and un-highlight it by using the binding again. Note that if you don't do this when hiding the MainMenuBar your primary action bar bindings may break when you leave a Vehicle/MindControl.
Q) How do I reset frames I can't figure out how to highlight?
A) If worse comes to worse you can reset everything with the chat command: "/resetframes" tho you probably want to follow that with a reload ui as well before you start retweeking.
- Replaced 'this' with 'self' '(this' is deprecated)
- Replaced getglobal() with direct _G lookups (getglobal is deprecated)
- Workaround for EnumerateFrames() bug (thanks to Tayedaen)
- Prevent taint when opening the spellbook and a couple other frames in combat.
- TOC to 40000
- toc bump to 30100
- Added out of combat delays to re-hide and re-position secure frames that were moved in combat.
- Added dependent sibling frame detection to scale/resize/hide frames that had the same parent and whose position is exclusively dependent on the frame being scaled/resized/hidden or one of its other dependent sibling frames.
- Delayed SetParent and Show hooks to undo on the next OnUpdate so as to also catch dependent siblings parented or shown at the same time.
- Delayed SetPoint, SetParent and Show hooks to undo when you leave combat for secure frames.
- Refactored code to a number of files to make updating easier.
- Enabled SendMailFrame, TokenFrame, and the PetPaperDollFrameCompanionFrame for dragging their parent frame
- Found a bug that was breaking UIChildWindows dragging, but then decided to just disable it by design, since those frames are all anchored to their parent frame, which are draggable.
- Changed distribution to distribute FluidFrames with Portfolio unembedded.
- Fixed bug that caused LoD UI Panels to not be temporarily draggable
- TOC to 30000
- Embedded Interface Config Option Panel (Using Portfolio instead of Khaos)
- Added Re-show All option, to show all hidden frames without resetting position.
- Fixed temporary dragging
You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.
*Clicking the donate button above will take you to PayPal.com
*Clicking the donate button above will take you to Pledgie.com