Download
(454 Kb)
Download
Updated: 04-08-14 05:30 PM
Pictures
File Info
Compatibility:
Siege of Orgrimmar (5.4)
Escalation (5.3)
Thunder Isle (5.2)
Landfall (5.1)
Mists of Pandaria (5.0.4)
Updated:04-08-14 05:30 PM
Created:unknown
Downloads:396,515
Favorites:982
MD5:
5.4
Ion  Popular! (More than 5000 hits)
Version: Hydrogen-9 Beta
by: Maul, anseloth, chinoloco, kouik

Ion!
A macro-based action bar addon. It can stand on its own or supplement any other action bar addon or even the default Blizzard UI.

Buy Maul a Coke!

"Feel the power of the macro side..."
A WoW 5.x Mists of Pandaria addon.

Help Localize Ion!

Still need:

French(frFR) • German(deDE) •
Russian(ruRU)
Latin American Spanish(esMX) • Spanish(esES) • Russian(ruRU) Brazilian Portuguese(ptBR)
Korean(koKR) Simplified Chinese(zhCN) • Traditional Chinese(zhTW)

Official Forum!

/flyout FAQ!

Bug Reports - Report bugs here

Feature Requests - Request features here


Be sure to check out the Optional Ion Addons to give you additional control over UI elements other than buttons using the Ion UI configuration framework.


Features -
  • An unlimited number of macros, create as many bars/buttons as you want/need per character!
  • Are you a keybinder extreme? Use the button storage area for all your macros/keybinds! No buttons on screen needed!
  • Are you a clicker extrodanaire? As many buttons on the screen you want where you want, when you want!
  • Macros the size of Texas! Up to 1024 characters in length!
  • Maul's unique mouseover key-binding system - where the mouseover binding system was born!
  • Many other of the favorite desired bar addon features and then some!
  • Button Facade support!
  • Every button in Macaroon is a macro button by default and in many ways they behave like normal action buttons. Buttons can also be set to be "action" or "pet" buttons.
Commands -
  • Type /ion to display a list of available commands, which are:
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 vaild states
statelist: Print a list of valid states
load: Load a profile
lock: Lock buttons
Just remember: "With great flexibility comes great configuration..." - Maul
Trinity/Trinity Bars Note:
Ion, a World of Warcraft® user interface addon.
Copyright© 2006-2012 Connor H. Chenoweth, aka Maul


Hydrogen-9 Beta
- Debug spam fix

Hydrogen-8 Beta
- Minor update to fix smaller issues

Hydrogen-7 Beta
- Updated for patch 5.4.1

Hydrogen-6 Beta
- Updated for patch 5.3

Hydrogen-5
- Spell Count bug fix (i.e. Death Knight's Scent of Blood count update)
- Spell Charges fix properly implemented

Hydrogen-4
- Forum version, include most hotfixes appearing on the forum (flyx, Nephyrin, chinoloco,kouik)
- should now display the appropriate tooltip in all cases.
- GetSpellCount replaced by GetSpellCharges (roll charges issues)
- spells with distinct subtypes between specs should be shown as useable in all cases.
- spell cooldowns should update (trash, symbiosis, disconnect/reconnect after a spec change should not show questionmark anymore)
- flyout should show the proper spell

Hydorgen-3

Hydrogen-2 Beta
- Updated for patch 5.1
- Fixed texture issue
- Dual spec toggle should work now
- Fixed extra bar action ID
- Other minor changes
- Sorry folks, that is all :(

Hydrogen-2 Beta
-Now scans profession spells
-Tentatively enabling/disabling of the Blizzard Main Bar should work
-Blizzard ExtraAction button should now only show if the Blizzard Bar is used
-Moved localization to one file

Hydrogen-1 Beta
- beta release for patch 5.0.4
Optional Files (11)
File Name
Version
Size
Author
Date
Type
Hydrogen-6 Beta
12kB
03-31-14 08:50 AM
Addon
Hydrogen-5 Beta
43kB
03-31-14 08:47 AM
Addon
Hydrogen-4 Beta
5kB
10-29-13 01:08 PM
Addon
Hydrogen-4 Beta
5kB
10-29-13 01:07 PM
Addon
40300.1
6kB
11-29-11 09:01 AM
Addon
40300.1
15kB
11-29-11 08:59 AM
Addon
40000.2.0.1
23kB
07-02-11 11:28 PM
Patch
40000.2.0.1
2kB
07-02-11 07:51 PM
Addon
40101
45kB
11-07-10 03:21 PM
Patch
30300.21
13kB
06-13-10 08:55 PM
Patch
30200.1
10kB
08-06-09 09:23 PM
Addon


Archived Files (1)
File Name
Version
Size
Author
Date
 Ion
Hydrogen-8 Beta
417kB
Maul
03-31-14 08:51 AM


Post A Reply Comment Options
Unread 08-07-09, 01:47 AM  
seebs
Premium Member
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 155
File comments: 185
Uploads: 5
Since bars can now be set to individually swap out for dual-spec, I am now using that instead of the profile swap, and it seems to work great.

I have not found a way to get at or edit the totem bar without re-enabling the main Blizzard bar, though!
seebs is offline Report comment to moderator  
Reply With Quote
Unread 08-06-09, 09:13 PM  
Lightbright
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 3
File comments: 41
Uploads: 1
Re: Re: Re: Re: Here's one solution for the new Totem Bar

Originally posted by tnbp
I'm working on simply doing a combination of the two, so far. But what sucks is that I have to do your setup twice because of dual-speccing. O.o Ugh.

(Unless, is there a way to copy bars in entirety?)
For dual spec, what I do is make a common set that both use, save that as a base profile (like Shaman Base), then edit it and save as one profile (Shaman Elemental). Reload Shaman Base and edit it for your other spec (say, Shaman Resto) and you will have 2 profiles. Then use the dual spec feature in Macaroon to switch between the 2. Since your totems only change slightly between specs (only Totem of Wrath and Mana Tide Totem I think, right?), you should be able to save a base profile with everything except that, then just edit the base profile for your spec profiles.
Last edited by Lightbright : 08-06-09 at 09:16 PM.
Lightbright is offline Report comment to moderator  
Reply With Quote
Unread 08-06-09, 07:13 PM  
tnbp
A Kobold Labourer

Forum posts: 1
File comments: 92
Uploads: 0
Re: Re: Re: Here's one solution for the new Totem Bar

Originally posted by Lightbright
I'm working on it, but I wouldn't get your hopes up.
I'm working on simply doing a combination of the two, so far. But what sucks is that I have to do your setup twice because of dual-speccing. O.o Ugh.

(Unless, is there a way to copy bars in entirety?)
tnbp is offline Report comment to moderator  
Reply With Quote
Unread 08-06-09, 06:07 PM  
Lightbright
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 3
File comments: 41
Uploads: 1
Re: Re: Here's one solution for the new Totem Bar

Originally posted by tnbp
Is there any way to incorporate what you have done here with this other post?:
I'm working on it, but I wouldn't get your hopes up.
Last edited by Lightbright : 08-06-09 at 06:10 PM.
Lightbright is offline Report comment to moderator  
Reply With Quote
Unread 08-06-09, 05:59 PM  
tnbp
A Kobold Labourer

Forum posts: 1
File comments: 92
Uploads: 0
Re: Here's one solution for the new Totem Bar

Originally posted by Lightbright
I have found a temporary solution for setting up totem bars on the fly. I'm going to admit this is totally hackish, potentially takes a lot of setup, and probably not the best solution, but I have tested it and it works. It is based from using the reserved action id's for WoW's new Totem Bar. I am unclear as to whether this solution works when used in combat as I haven't tested that yet. Use at your own risk.

EDIT: I changed the way you set up the action id's since it's fairly risky (not to mention confusing) to edit your character's preferences file. This way you have to make a couple of changes to Macaroon itself, which is much less risky.

SETTING UP THE TOTEM BAR

This is optional, but I use it for knowing what totems are set in the slots. Note you should never interact with this bar by actually dragging a spell to it because Macaroon's default behavior is to change the button to a macro, which will defeat the purpose of this bar.

In order to make this work properly, you will need to make a couple of manual changes to Macaroon itself. If you aren't comfortable with doing this, you can skip this bar. However, please note that you won't be able to see which totems are set for each Call spell without enabling the default Blizzard action bars. You can find your Macaroon addon folder at <WoW Folder>/Interface/Addons/Macaroon.

Macaroon.lua

1) Open Macaroon.lua with a text editor.
2) Near the top (line 16 for me), find the line:

Code:
maxActionId = 132,
4. Change the value to 144.
5. Save your work and close this file.

Macaroon_Buttons_Editor.xml

1) Open Macaroon_Buttons_Editor.xml with a text editor.
2) Do a search for "MacaroonButtonEditor".
3) Look just under that line for:

Code:
<Size x="250" y="250"/>
4) Change the value of 'x' to 450.
5) Do a search for "$parentActionEdit".
6) Look just under that line for:

Code:
<Size x="235" y="70"/>
7. Change the value of 'x' to 435.
8. Do a search for "$parentSlider".
9. On that line, change "maxValue" to 144.
10. Look just under that line for:

Code:
<Size x="160" y="20"/>
11. Change the value of 'x' to 360.
12. Save your work and close this file.

Creating the Totem Bar

1) Login to your shaman and type /mac create bar.
2) Add 12 buttons to this bar and style them however you like (size/columns/etc). I did 3 columns to separate the different call spells.
3) Assign action id's to the buttons using the following information.

Code:
133, 134, 135, and 136 are used by your Call of the Elements
137, 138, 139, and 140 are used by your Call of the Ancestors
141, 142, 143, and 144 are used by your Call of the Spirits

133, 137, and 141 are fire totems
134, 138, and 142 are earth totems
135, 139, and 143 are water totems
136, 140, and 144 are air totems
4) Your new bar is ready to display the totems in WoW's new Totem Bar. I would highly suggest you put this bar somewhere where you won't mess with it. If you accidentally drop a spell onto this bar, Macaroon will change the button to a macro and your action id for that button will be lost.


SETTING UP YOUR "TOTEM BAR SETUP BAR" (I know, horrible title)

1) Make new bar to hold all your totems. Add all the modifiers to it (shift,ctrl,alt). Add enough buttons for each modifier (and normal without modifiers) to hold all your totems.
2) Style the buttons however you like. I made enough columns to hold all my totems for each type, and 4 rows for the different types of totems. I also prefer very small buttons for this to get them out of the way since you are displaying all your totems.
3) Add your totems to the bar that doesn't have modifiers. The modifier versions will be used for automatically setting up your totem bar
4) Let's say the first button on this bar is Searing Totem. We are going to add code that will automatically set Searing Totem to Call of Ancestors when you control-click Searing totem. Type "/mac edit" to enter the editor mode. Hold down the control modifier and right-click on the Searing Totem button to edit the macro for that totem. Type the following code into the macro:

Code:
#showtooltip Searing Totem
/run PickupSpell("Searing Totem")
/run PlaceAction(137)
/run if CursorHasSpell() then ClearCursor() end
Now comes the tedious part - you must duplicated this code for all the modifier keys (I used shift for elements, control for ancestors, alt for spirits) using the action id's listed here:

Code:
133, 134, 135, and 136 are used by your Call of the Elements
137, 138, 139, and 140 are used by your Call of the Ancestors
141, 142, 143, and 144 are used by your Call of the Spirits

133, 137, and 141 are fire totems
134, 138, and 142 are earth totems
135, 139, and 143 are water totems
136, 140, and 144 are air totems
Conclusion

What you should end up with is 2 new bars (or 1 if you chose to skip the first bar). The first one displays the spells that are being used for your new Call spells. The second one allows you to cast your totems if you click it without a modifier, or set the totem to a slot of your Call spells when clicked with a modifier.
Is there any way to incorporate what you have done here with this other post?:

Originally posted by rakkarage
install macaroon extensions

http://www.wowinterface.com/download...xtensions.html

then u can make a macro button like:

/select spell+:fire totem:linear:right:left:9
/select spell+:earth totem:linear:left:right:9
/select spell+:air totem:linear:right:left:9
/select spell+:water totem:linear:left:right:9

which pops up a list of fire totems... can do same for each or even weapon buffs etc

/select spell:weapon,!weapons:linear:right:left:10
tnbp is offline Report comment to moderator  
Reply With Quote
Unread 08-06-09, 05:13 PM  
tnbp
A Kobold Labourer

Forum posts: 1
File comments: 92
Uploads: 0
Originally posted by LSG
This worked like a charm for me. Thanks!!

FYI, 'load out of date mods' did NOT work. Checking that is pretty much standard, can't imagine anyone that uses mods who doesn't have that checked.

And as far as messing with code, this is extremely simple. Nothing that's gonna break the mod.

Thanks FarseeLolotea
Weird. Checking that worked for me, just fine. I'm not sure why yours doesn't work that way.
tnbp is offline Report comment to moderator  
Reply With Quote
Unread 08-06-09, 04:42 PM  
LSG
A Defias Bandit
 
LSG's Avatar

Forum posts: 2
File comments: 44
Uploads: 0
This worked like a charm for me. Thanks!!

FYI, 'load out of date mods' did NOT work. Checking that is pretty much standard, can't imagine anyone that uses mods who doesn't have that checked.

And as far as messing with code, this is extremely simple. Nothing that's gonna break the mod.

Thanks FarseeLolotea

Originally posted by FarseerLolotea
I don't like doing this (makes me feel like a cheat) but the following ghetto-fix worked for me:

1) WoW folder
2) Interface folder.
3) Macaroon folder.
4) Open the "Macaroon.toc" folder with Notepad. You'll see a line that says "Interface" and a number. Replace that number with "30200." It should work fine after that.
LSG is offline Report comment to moderator  
Reply With Quote
Unread 08-06-09, 03:35 PM  
Lightbright
A Defias Bandit
AddOn Author - Click to view AddOns

Forum posts: 3
File comments: 41
Uploads: 1
Here's one solution for the new Totem Bar

I have found a temporary solution for setting up totem bars on the fly. I'm going to admit this is totally hackish, potentially takes a lot of setup, and probably not the best solution, but I have tested it and it works. It is based from using the reserved action id's for WoW's new Totem Bar. I am unclear as to whether this solution works when used in combat as I haven't tested that yet. Use at your own risk.

EDIT: I changed the way you set up the action id's since it's fairly risky (not to mention confusing) to edit your character's preferences file. This way you have to make a couple of changes to Macaroon itself, which is much less risky.

SETTING UP THE TOTEM BAR

This is optional, but I use it for knowing what totems are set in the slots. Note you should never interact with this bar by actually dragging a spell to it because Macaroon's default behavior is to change the button to a macro, which will defeat the purpose of this bar.

In order to make this work properly, you will need to make a couple of manual changes to Macaroon itself. If you aren't comfortable with doing this, you can skip this bar. However, please note that you won't be able to see which totems are set for each Call spell without enabling the default Blizzard action bars. You can find your Macaroon addon folder at <WoW Folder>/Interface/Addons/Macaroon.

Macaroon.lua

1) Open Macaroon.lua with a text editor.
2) Near the top (line 16 for me), find the line:

Code:
maxActionId = 132,
4. Change the value to 144.
5. Save your work and close this file.

Macaroon_Buttons_Editor.xml

1) Open Macaroon_Buttons_Editor.xml with a text editor.
2) Do a search for "MacaroonButtonEditor".
3) Look just under that line for:

Code:
<Size x="250" y="250"/>
4) Change the value of 'x' to 450.
5) Do a search for "$parentActionEdit".
6) Look just under that line for:

Code:
<Size x="235" y="70"/>
7. Change the value of 'x' to 435.
8. Do a search for "$parentSlider".
9. On that line, change "maxValue" to 144.
10. Look just under that line for:

Code:
<Size x="160" y="20"/>
11. Change the value of 'x' to 360.
12. Save your work and close this file.

Creating the Totem Bar

1) Login to your shaman and type /mac create bar.
2) Add 12 buttons to this bar and style them however you like (size/columns/etc). I did 3 columns to separate the different call spells.
3) Assign action id's to the buttons using the following information.

Code:
133, 134, 135, and 136 are used by your Call of the Elements
137, 138, 139, and 140 are used by your Call of the Ancestors
141, 142, 143, and 144 are used by your Call of the Spirits

133, 137, and 141 are fire totems
134, 138, and 142 are earth totems
135, 139, and 143 are water totems
136, 140, and 144 are air totems
4) Your new bar is ready to display the totems in WoW's new Totem Bar. I would highly suggest you put this bar somewhere where you won't mess with it. If you accidentally drop a spell onto this bar, Macaroon will change the button to a macro and your action id for that button will be lost.


SETTING UP YOUR "TOTEM BAR SETUP BAR" (I know, horrible title)

1) Make new bar to hold all your totems. Add all the modifiers to it (shift,ctrl,alt). Add enough buttons for each modifier (and normal without modifiers) to hold all your totems.
2) Style the buttons however you like. I made enough columns to hold all my totems for each type, and 4 rows for the different types of totems. I also prefer very small buttons for this to get them out of the way since you are displaying all your totems.
3) Add your totems to the bar that doesn't have modifiers. The modifier versions will be used for automatically setting up your totem bar
4) Let's say the first button on this bar is Searing Totem. We are going to add code that will automatically set Searing Totem to Call of Ancestors when you control-click Searing totem. Type "/mac edit" to enter the editor mode. Hold down the control modifier and right-click on the Searing Totem button to edit the macro for that totem. Type the following code into the macro:

Code:
#showtooltip Searing Totem
/run PickupSpell("Searing Totem")
/run PlaceAction(137)
/run if CursorHasSpell() then ClearCursor() end
Now comes the tedious part - you must duplicated this code for all the modifier keys (I used shift for elements, control for ancestors, alt for spirits) using the action id's listed here:

Code:
133, 134, 135, and 136 are used by your Call of the Elements
137, 138, 139, and 140 are used by your Call of the Ancestors
141, 142, 143, and 144 are used by your Call of the Spirits

133, 137, and 141 are fire totems
134, 138, and 142 are earth totems
135, 139, and 143 are water totems
136, 140, and 144 are air totems
Conclusion

What you should end up with is 2 new bars (or 1 if you chose to skip the first bar). The first one displays the spells that are being used for your new Call spells. The second one allows you to cast your totems if you click it without a modifier, or set the totem to a slot of your Call spells when clicked with a modifier.
Last edited by Lightbright : 08-06-09 at 05:28 PM.
Lightbright is offline Report comment to moderator  
Reply With Quote
Unread 08-06-09, 03:29 PM  
tnbp
A Kobold Labourer

Forum posts: 1
File comments: 92
Uploads: 0
Re: Patch 3.2.0

Originally posted by Aanson
When the new patch was installed, Macaroon became out of date.

I can't find a newer version. Is there a way to force the game into thinking that the addon is for 3.2.0?

Cheers!
Why not just select "load out of date addons," instead of patching the code?
tnbp is offline Report comment to moderator  
Reply With Quote
Unread 08-06-09, 03:25 PM  
tnbp
A Kobold Labourer

Forum posts: 1
File comments: 92
Uploads: 0
Re: Totembar

Originally posted by Dwargh
I believe Maul is on this if he hasn't cought the same thing, whatever it was, that held him away from Macaroon last time. For now though there should be workarounds. And if any of you good coders out there take a look at it I'm confident you can find a way to have Macaroon to let the new totembar passed through as it is.

I haven't been able to try this new totembar out and I won't be able to untill after August 17th. But I'm about as confident that there is good enough ways to make a setup with macaroon that would work about the same.

Keep on figuring out different temporary solutions till Maul's got his mind on it.
Bartender already has the new totem bar solved and instituted, it seems. Apparently it's a new button classification type or something?
tnbp is offline Report comment to moderator  
Reply With Quote
Unread 08-06-09, 01:41 PM  
Aanson
A Flamescale Wyrmkin

Forum posts: 123
File comments: 13
Uploads: 0
It worked for me

Thanks matey, that did the business.

Ty!!
Aanson is offline Report comment to moderator  
Reply With Quote
Unread 08-06-09, 01:21 PM  
anseloth
Coding Archmage
 
anseloth's Avatar
AddOn Author - Click to view AddOns

Forum posts: 50
File comments: 267
Uploads: 3
Re: Re: Patch 3.2.0

Originally posted by FarseerLolotea
I don't like doing this (makes me feel like a cheat) but the following ghetto-fix worked for me:

1) WoW folder
2) Interface folder.
3) Macaroon folder.
4) Open the "Macaroon.toc" folder with Notepad. You'll see a line that says "Interface" and a number. Replace that number with "30200." It should work fine after that.
messing with a mod's code like that can royally backfire, if not done EXACTLY right. just a warning to anyone who wants to try doing what FarseerLolTea suggested
__________________



anseloth is offline Report comment to moderator  
Reply With Quote
Unread 08-06-09, 01:12 PM  
FarseerLolotea
A Deviate Faerie Dragon
AddOn Author - Click to view AddOns

Forum posts: 11
File comments: 110
Uploads: 2
Re: Patch 3.2.0

Originally posted by Aanson
When the new patch was installed, Macaroon became out of date.

I can't find a newer version. Is there a way to force the game into thinking that the addon is for 3.2.0?

Cheers!
I don't like doing this (makes me feel like a cheat) but the following ghetto-fix worked for me:

1) WoW folder
2) Interface folder.
3) Macaroon folder.
4) Open the "Macaroon.toc" folder with Notepad. You'll see a line that says "Interface" and a number. Replace that number with "30200." It should work fine after that.
FarseerLolotea is offline Report comment to moderator  
Reply With Quote
Unread 08-06-09, 12:59 PM  
Aanson
A Flamescale Wyrmkin

Forum posts: 123
File comments: 13
Uploads: 0
Patch 3.2.0

When the new patch was installed, Macaroon became out of date.

I can't find a newer version. Is there a way to force the game into thinking that the addon is for 3.2.0?

Cheers!
Aanson is offline Report comment to moderator  
Reply With Quote
Unread 08-06-09, 12:48 PM  
Dwargh
A Theradrim Guardian
 
Dwargh's Avatar
AddOn Author - Click to view AddOns

Forum posts: 64
File comments: 660
Uploads: 2
Re: trouble with spellbook

Originally posted by cryowolf
when mousing over the spellbook icon on toons that have Macaroon installed, I get this:

Message: Interface\AddOns\MacaroonXtras\MacaroonXtras.lua:833: attempt to call global 'PlayerHasSpells' (a nil value)
Time: Thu Aug 6 06:25:05 2009
Count: 2
Stack: [string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:18: in function <[string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:4>
[C]: in function `PlayerHasSpells'
Interface\AddOns\MacaroonXtras\MacaroonXtras.lua:833: in function `SpellbookButton_OnEnter'
[string "*:OnEnter"]:1: in function <[string "*:OnEnter"]:1>

Locals: self = MacaroonSpellbookButton {
normaltexture = MacaroonSpellbookButtonNormalTexture {
}
0 = <userdata>
icontexture = <unnamed> {
}
}
(*temporary) = nil
(*temporary) = "attempt to call global 'PlayerHasSpells' (a nil value)"


is this a known issue?
Shefki have posted some kind of fix and his thought about this in the Macaroon: Xtras forum.
Last edited by Dwargh : 08-06-09 at 12:49 PM.
Dwargh is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

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.