View Single Post
Old 04-01-09, 09:06 PM   #4
Ion Engines, Engage!
Maul's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2005
Posts: 401
Configuring Macaroon

To configure Macaroon, there are two ways to go about it. Via slash commands and the path of command lines or via the minimap button and the path of GUI. Please note that I endeavor to have as many configuration options doable via slash command or GUI, but may overlook some in my zeal to work on addons!
The Path of Command Lines -
There are two primary slash commands that Macaroon recognizes, "/macaroon" and "/mac". The syntax of the commands is as follows -

/macaroon <command> [<options>]

The current command set is -
menu: Toggle the main menu
storage: Open the button storage area
create: Create a blank bar
delete: Delete the currently selected bar
config: Toggle configuration mode for all bars
add: Adds buttons to the currently selected bar (add or add #)
remove: Removes buttons from the currently selected bar (remove or remove #)
edit: Toggle edit mode for all buttons
bind: Toggle binding mode for all buttons
scale: Scale a bar to the desired size.
snapto: Toggle SnapTo for current bar
autohide: Toggle AutoHide for current bar
shape: Change current bar's shape
name: Change current bar's name
strata: Change current bar's frame strata
alpha: Change current bar's alpha (transparency)
alphaup: Set current bar's conditions to 'alpha up'
arcstart: Set current bar's starting arc location (in degrees)
arclen: Set current bar's arc length (in degrees)
columns: Set the number of columns for the current bar
padh: Set current bar's horizontal padding
padv: Set current bar's vertical padding
padhv: Adjust both horizontal and vertical padding of the current bar incrementally
showgrid: Toggle the current bar's showgrid flag
x: Change current bar's horizontal axis position
y: Change current bar's vertical axis position
state: Toggle states for the current bar (/mac state <state>). Type /mac statelist for valid states
statelist: Print a list of valid states
load: Load a profile
lock: Lock buttons
Examples -
/mac menu - this will bring up the main options menu

/mac create bar - this will create a standard bar
The Path of GUI -
The Minimap Button - This button is the gateway to several options via a click and/or modified click.

Left Click: Toggles bar configuration mode
Right Click: Opens a minimenu with these options -
Bar Edit: Toggles bar configuration mode
Bind Edit: Toggles binding mode
Button Edit: Toggles button edit mode
Create Bar: Create a new bar
Delete Bar: Delete the currently selected bar
Main Menu: Open to the main options menu
Storage: Open to the button storage menu
Close: Close the minimap minimenu
Shift Click: Toggles binding mode
Alt Click: Toggles button edit mode
Ctrl Click: Opens the main options menu
Editing Bars -
After you enter the bar configuration mode, all bars become visible. When you mouseover a bar, you will see a tooltip (by default) detailing how most options are currently set for that particular bar. All deselected bars will be a very light gray color. When you select a bar for editing, it will turn blue.

While a bar is selected, it will respond to clicks and modified clicks. These clicks will do different tasks

Left Click: If a bar has more than one state, left clicking on a bar will manually cycle through all available states. A state is a certain condition in which to show buttons, such as bar pages or stances/form.

Right Click: This will bring up a bar editor. The bar editor is the gateway to many configurable options for a bar. Initially, on the left side of the editor is a list of options that can have a varied range of values. On the right side of the editor is a list of on/off options. At the bottom of the editor are next/prev buttons that will take you to an additional set of options that are text-based.
Left-hand options -
Scale: Scale a bar to the desired size
Shape: Change current bar's shape
Columns: Set the number of columns for the current bar
Strata: Change current bar's frame strata
Alpha: Change current bar's alpha (transparency)
AlphaUp: Set current bar's conditions to 'alpha up'
Arc Start: Set current bar's starting arc location (in degrees)
Arc Length: Set current bar's arc length (in degrees)
Arc Preset: Chose from preset arc settings
Pad Horz: Set current bar's horizontal padding
Pad Vert: Set current bar's vertical padding
Pad Horz+Vert: Adjust both horizontal and vertical padding of the current bar incrementally
Button Count: Add/Remove buttons to the currently selected bar
Right-hand options -
Paged Bar: Toggles bar paging, allowing for up to 6 unique pages.
Stance: Toggles stance paging for classes that have stances/forms.
Prowl: Toggles a special stance state for druid prowling.
Pet: Toggles pet paging based on pet's existence.
Stealth: Toggles paging based on any stealth condition except for druid prowl.
Reaction: Toggles a bar switching states based on current target's hostile/friendly reaction.
Combat: Toggles a bar that will switch states based on combat status.
Group: Toggles a bar that will switch states based on group status.
Possess: Toggles a state to show special buttons when possessing another creature.
Vehicle: Toggles a state to show special buttons when using a vehicle.
Alt Key: Toggles a state to show when the alt key is held down.
Ctrl Key: Toggles a state to show when the ctrl key is held down.
Shift Key: Toggles a state to show when the shift key is held down.
Custom: Allows for defining custom states using the macro system conditionals.
Autohide: Toggle AutoHide for current bar
Showgrid: Toggle the current bar's showgrid flag
SnapTo: Toggle SnapTo for current bar
Hidden: Toggle a bar as always hidden while not in configuration mode.
Dual Spec: Toggle a bar to allow it's buttons to update data based on current spec.
Text-based options -
Bar Name: Assign a unique name to a bar.
Bar Target: Set a bar's target so that it will show/hide based on that unit's existence.

Linked To: Link a bar to another bar. The linked bar will obey the state conditions of the bar it is linked to.
State: Determine a specific state to link a bar to.

Bar State: Select a bar state to remap.
Remap To: Determine which state to remap the above state to.

Custom States: Allows the entry of custom bar state conditionals using the in-game macro syntax. Place a new state condition on a new line. For example -

[stance:1, mod:shift]
[stance:1, mod:alt]
[stance:1, mod:ctrl]
Editing Buttons -
After you enter button edit mode, all visible buttons will display their button type. There are three possible button types -
Macro: A button that utilizes the in-game macro sytax to cast spells/perform actions.

Action: A button that uses a unique action ID to indicate what spell/action it contains. The contents of an action ID are stored server-side. There are only 120 (1-120) unique ID's for character spells. A special case are possess buttons which can use the action ID's 121-132.

Pet: A button that uses a unique pet action ID to inidacte which pet spell/action it containts. The contents of a pet action ID are stored server-side. There are only 10 (1-10) unique ID's for pet spells.
To change a button's button type, simply left click the button. As you left click, it will cycle through all button types.

Each button type has its own specific button editor. To enable the editor for a button, right click on the button and the appropriate button editor will be displayed. As with the bar editor, there are next/prev buttons at the bottom of the editor. These are additional button options that are not tied to the button's particular type.

The Macro Button Editor -
Macro Icon: Allows the selection of a unique icon for the macro. Using the ? icon will use the spell's default icon.

Macro Name: Allows for the naming of a macro, but is not needed for a macro to function.

Macro Master: The macro master stores unique user-created macros per account. All characters on an account can pull macros from the macro master.

Macro Edit Area: The area to edit your macros.

Expand: Allows for the ability to expand laterally the macro edit area for easier reading of longer macros.

Macro Note: Allows for the adding of a note to a macro.

Use Note as Tooltip: Allows the note to be used as the button's tooltip.
The Action/Pet Button Editor -
Action ID: Allows the selection of the action ID for a button.

Propagate: Clicking on this option will set the action ID's in sequential order for the entire bar of the current state.
Additional Options Editor -
(Note: The click/Mouse anchors are not functional as I wait for some changes to the Blizzard code to make it possible)
Click Anchor: Sets a button to hide/show a bar's button when it is clicked (even in combat)

Mouse Anchor: Sets a button to hide/show a bar's button when it is moused-over (even in combat)

Anchored Bar: Set the bar to anchor to the current button.
Delay: Set the delay to hide a anchored bar for a mouse anchor.

Scale: Set the individual scale of a button.

XOffset: Set the individual x offset in relation to the bar of a button.

YOffset: Set the individual y offset in relation to the bar of a button.

Up Clicks: Set the button to respond to up-clicks.

Down Clicks: Set the button to respond to down-clicks.

Spell Counts: Show the number of times a spell/ability can be used before your character's power is depleated (Rage, Mana, Energy, Runic)

Combo Counts: Show the current number of combo points on a target (druids and rogues only)
Editing Bindings -
/start random fact
At the risk of being immodest and for historical reasons, I shall state here that the mouseover binding method that is so popular now got its start in the early days of Trinity Buttons, for those who don't know The concept first showed up in the early Trinity Buttons days of beta for The Burning Crusade. It was Tuller of Bongos/Dominos fame that refined the system and made it popular in his bar addons. Just some FYI
/end random fact

After you enter binding mode, all visible bind-able buttons will display either "bind", meaning that button can have its bindings adjusted, or "locked", meaning that whatever bindings that buttons has cannot be changed until it is unlocked.

While in binding mode, simply mouse-over the button you would like to assign a bind to, and hit the key. You may give a button any number of binds you want. The first bind is the one that will display on the button.

Once a binding is set for a button, you have the option to lock that button's binding so they cannot be changed by left clicking the button. If you dabble in the more advanced features of Macaroon, the need to lock bindings will become more apparent.
The Main Menu -
The main menu is for options that are not bar/button specific. Some may affect bars/buttons, others may not. The following explains what each option does.
The Storage Area -
The storage area serves two purposes. The primary purpose is to be a place where button frames go when not in use by any bar. Frames, once created, cannot be destroyed. Also, as one sets up their bars, they may go back and forth adding and removing buttons. The storage area is just a holding area for those buttons.

However, the storage area can be useful for holding buttons that you want to use, but not have shown. Each row of buttons in the storage area has a lock toggle. This toggle is designed to prevent buttons on that row from becoming part of the "pool" of buttons that bars pull from and add to as bars are adjusted.

For the users convenience in regards to this secondary purpose, some options are provided at the bottom -
Binding Mode: To toggle binding mode.

Edit Mode: To toggle button edit mode.

Create Button: Create a new button that is placed into storage immediately.

Delete Button: To delete unused/unwanted buttons. Note, buttons are not really deleted until you re-log or reload your UI. Until such time, they are merely flagged for deletion. You cannot un flag a specific button once deleted.
The Profile Manager -
(Note: currently profiles are not directly shared between characters as they are in other addons. This is a feature that is in the works)
These options are for setting up and storing specific profiles for use by any character on the current account. These are "dumb" profiles. That means, once you load one, any changes you make on that character are not re-saved to the profile unless you specifically re-save it yourself.

There are four different sets of data you can save for each profile -
Bar Layout: This option merely saves the location of bars, nothing else.

Button Layout: This option saves how many buttons are saved on each bar and in which states. Specific button data is not saved with this option.

Settings: This option saves your main menu settings.

Button Data: This option saves the actual button data such as spells, button scale and keybindings for the button. Right now, keybindings are integrated into the button's data and is problematic to have them saved separately. This is a known issue that is being worked on.
For each profile, you can name it (in fact you must give it a name for it to save) and you can add notes to remind you what the profile is for. In the profile list, you can see all data needed to understand what a profile contains.

At the bottom of the profile manager is the new dual spec feature being added in patch 3.1. Enabling this feature will allow the current character to swap full profiles upon a spec change.

Note: This feature is optional. If you do not need to change bar layouts, button counts or global settings upon a dual spec swap, Macaroon will natively handle the button data swapping without this option being set. Just make sure you have dual specs enabled in the main menu.

Twitter: @IonMaul | Windows Live: | Google Talk:

Last edited by Maul : 04-01-09 at 09:54 PM.
Maul is offline