CFM allows full manipulation of almost any frame in the game.
Slash Command
/cfm - brings up config
/cfm load <Realm> <Name> - swap to another toon's settings (remember to capitalize your realm and name)
ESC - closes config
The Config Panel
Frame List (top-left)
This lists your frames currently in your database.
Left Click: Selects the frame and fills in it's info in all other frames (except "Add Frame").
Right Click: Prompts removal of the frame from the database.
Add Frame (bottom-left)
This is where you can add frames to your database.
Frame: The actual name of the frame.
Parent: You can reassign the parent frame when adding. Leaving it blank will default it to it's current parent.
DFM Import Button: Opens frame to import frame settings from DFM
2 things to note:
1) No restore point will be generated during an import.
2) Because of the way DFM's saved vars are laid out, there is no way to "mass import" all frames at this time. Sorry. :(
Properties Frame (upper-right)
This displays and controls all the selected frame's properties.
Force Hide: Checking this will always hide the frame.
Width = Height: Also known as "Constrain Porportions". With this checked, if the width/height is changed, it automatically sets the other as the same value.
Width: Current width of the frame.
Height: Current height of the frame.
Scale: Current scale of the frame. (+/- adjust scale by .1)
Level: Current level of the frame. This controls where this frame's position is on the same strata (see below) as other frames. Think of it like a line of plates. You have 3 plates stacked; plate 1 overlaps plates 2 and 3. If you change plate 3 to the top of the stack (change it's level higher than plate 1), plate 3 now overlaps plates 1 and 2.
From: The selected frames anchor point. This is the point that will attach to the parent frame set in "To" (seebelow).
To: The parent's point where you want the your selected frame to attach to.
Strata: Similar to level, but more extreme. There are 5 choices and the list goes from lowest to highest (top to bottom).
Alpha: How "see through" a frame is. 1 = fully visible, 0 = invisible
Show/Hide Buttons: show/hide a selected frame
Lock/Unlock Button: enable/disable of dragging of selected frame
Position Frame (lower-right)
This controls the frames position in relation to the parent. Both values can be increased/decreased with their corresponding "+"/"-" buttons.
X: The selected frame's horizontal position.
Y: The selected frame's vertical position.
0,0: Resets the selected frame's position to X:0,Y:0.
Mouseover Frame (bottom)
This will tell you the name of the frame your mouse is currently over, as well as the parent of the frame.
Known Bugs
Frame X doesn't keep it's settings!: Some frames are "Load on Demand", meaning they don't exist yet when CFM tries to apply changes to it. This especially applies to several default Blizz frames (like AchievementFrame). If you come across something like this, please submit a ticket and I'll add support for it.
Look here before asking!
LDB/Titan/Fubar support?
Why? Too lazy to type /cfm?
Will you allow WoWMatrix to distribute this?
They can go die in a bus fire.
Bugs Reports/Suggestions
Bugs/Suggestions should be posted here or via the ticket system.
Author's Note
"Extreme" UI modders may remember the old Discord series of mods written by Lozareth. A few years ago he decided to cease development on this series. A few devoted individuals have kept the mods active at underworldexodus.com. Unfortunately, Discord Frame Modifier never truly has been kept "up to date" with the rest. The entire collection has been kept alive through what I like to call "bandaid" fixes, in which code was changed enough to keep the mods functional but are still full of errors. Unless these errors caused a cease in functionality, there were simply ignored. I finally got tired of said errors and started this project up. So enough babble, let's get on to what this thing can do!
Credits
ME!: I wrote it.
Moongaze: LOTS of help along the way, including a lot of performance suggestions.
Discord Community: For keeping Discord going as long as it has been. Notable people being Shiny, ThaDruid, Kayda. No credit goes to Lappen, however, as he's just a whiny bastard who hasn't done anything useful. Ever.
WoWInterface Community: Including Seerah, Akryn, and kraftman for helping me with my noobish questions on the forums when I'd get stuck.
------------------------------------------------------------------------
r30 | chaosinc | 2010-02-08 14:39:33 +0000 (Mon, 08 Feb 2010) | 3 lines
Changed paths:
M /trunk/CFM.lua
M /trunk/CFM_GUI.lua
+ Ya know what would be handy? If the manual value fields actually referred to themselves rather than trying to pull property data from the "Parent" field. I don't think you can pull width data from "UIParent", but hey, it was worth a shot. All other fields have been fixed accordingly as well.
+ Manually adding an Alpha value will actually change a frame's alpha level now. Imagine that.
+ Time for breakfast!
------------------------------------------------------------------------
r29 | chaosinc | 2010-02-04 22:57:35 +0000 (Thu, 04 Feb 2010) | 12 lines
Changed paths:
M /trunk/CFM.lua
M /trunk/CFM.toc
A /trunk/CFM_GUI.lua
Better late than never....
+ Wanna see through your frame? Alpha control is finally here!
+ Hate using the X/Y mover? Use the new lock/unlock feature to drag-n-drop your frame!
+ Ya know, 2k+ lines to sort through to find the config frame stuff is a pain. The GUI is in it's own file.
+ Hey copyright, it's 2010 now, get with the program.
+ Blizz's Interface frame has an annoying habit of resetting frames against my wishes. This has been worked around.
+ 2 sec delay was a bit long, dropped to 1 sec.
+ Since the name feature was removed, all residual data has been removed.
+ Ever remove a frame then get spammed about how it can't be found? F1X0R3D!
+ Fixed some label alignments/anchoring
+ My Financial Aid check cleared today. I has monies again!
------------------------------------------------------------------------
r28 | chaosinc | 2010-01-13 06:46:54 +0000 (Wed, 13 Jan 2010) | 1 line
Changed paths:
M /trunk/CFM.lua
Spam sucks. Let's fix that.
------------------------------------------------------------------------
r27 | chaosinc | 2010-01-01 19:41:11 +0000 (Fri, 01 Jan 2010) | 2 lines
Changed paths:
M /trunk/CFM.lua
+ If a player enters the game in combat, CFM will now wait until the player leaves combat to apply settings.
+ Added checks to the rest of the config settings making sure the user has a frame selected before trying to apply settings (WHOOPS!)
------------------------------------------------------------------------
Installation Guide
- Exit "World of Warcraft" completely
- Download the mod you want to install
- Make a folder on your desktop called "My Mods"
- Save the .zip/.rar files to this folder.
- If, when you try to download the file, it automatically "opens" it... you need to RIGHT click on the link and "save as..." or "Save Target As".
- Extract the file - commonly known as 'unzipping'
Do this ONE FILE AT A TIME!
- Windows
- Windows XP has a built in ZIP extractor. Double click on the file to open it, inside should be the file or folders needed. Copy these outside to the "My Mods" folder.
- WinRAR: Right click the file, select "Extract Here"
- WinZip: You MUST make sure the option to "Use Folder Names" is CHECKED or it will just extract the files and not make the proper folders how the Authors designed
- Mac Users
- StuffitExpander: Double click the archive to extract it to a folder in the current directory.
- Verify your WoW Installation Path
That is where you are running WoW from and THAT is where you need to install your mods.
- Move to the Addon folder
- Open your World of Warcraft folder. (default is C:\Program Files\World of Warcraft\)
- Go into the "Interface" folder.
- Go into the "AddOns" folder.
- In a new window, open the "My Mods" folder.
- The "My Mods" folder should have the "Addonname" folder in it.
- Move the "Addonname" folder into the "AddOns" folder
- Start World of Warcraft
- Make sure AddOns are installed
- Log in
- At the Character Select screen, look in lower left corner for the "addons" button.
- If button is there: make sure all the mods you installed are listed and make sure "load out of date addons" is checked.
- If the button is NOT there: means you did not install the addons properly. Look at the above screenshots. Try repeating the steps or getting someone who knows more about computers than you do to help.
Translations
When you download a mod, please be sure that the mod is compatible with your translation of wow. Some mods only work on the US versions, while some only work on some of the various European versions. These variations are called "Localizations".
TOC Numbers (Out of Date Mods)
When Blizzard patches WoW, they change the Interface number. This means that all mods will be "out of date" unless or until the author releases a new version for that interface. Some people go into the .toc files and update the numbers themselves, but this is STRONGLY advised against as it will cause problems locating possible incompatibilities addons. When you log into WoW after a patch, you DO NOT have to delete your interface directory. All you have to do is simply tell WoW to ignore the interface numbers and load all the mods anyway. All you have to do is, while at the "character select" screen, look in the lower left corner and click on the "addons" button. A window will pop up listing all your installed mods.
If you look in the upper left corner of that window there should be a box that says "Load Out of Date AddOns". You want to CHECK this box. Now simply go into WoW normally and all your mods should load. As of the 1.9 patch, you will have to do this after EVERY patch/update that Blizzard posts! If you encounter any problems with a mod after a patch, please be sure to let the author of the mod know so they can fix it.
See also: About "Out Of Date AddOns"
Mac Support
WoW addons are not platformed based. As such, they can be used on either Mac or PC. You can extract both .zip and .rar files on a Mac using StuffitExpander.
Directory Structure
World of Warcraft
|_ Interface
|_AddOns
|_*AddonName*
|_ *AddonName*.toc
|_ *AddonName*.xml
|_ *AddonName*.lua
|_ (possibly others as well)...