Reverse button growth direction (top/bottom, right/left) of any multi-row/column action bar.
With Dragonflight, Blizz changed the button growth direction for multi-row action bars. Formerly, it was ‘top to bottom’ (downwards), now it is ‘bottom to top’ (upwards).
I don’t know why they did this. For most action bars, this is not overly tragic, as you can adjust your spell mapping/keybinds accordingly. However, it can be a real problem with Action Bar 1, or whatever bar is used as the override bar, resulting in the “wrong” keybinds for the override bar (vehicle UI).
This addon allows you to reverse the button growth direction.
So if you were tempted to use a ‘biggy’ addon like Dominos or Bartender just to get the button growth direction fixed, you might want to give this one a try. It has no impact on your client performance, it does its stuff only at login, then nothing. Be sure to read the “Taint” section further down.
By default, only the Y-axis button growth direction of Action Bar 1 is reversed (from ‘bottom to top’ to ‘top to bottom’); everything else remains unchanged.
Let’s say you have an action bar with horizontal orientation like this:
1 2 3 4 5 6 7 8 9 0 Q W
If you converted this bar to 3-row bar before Dragonflight, you got ‘top to bottom’:
1 2 3 4
5 6 7 8
9 0 Q W
Since Dragonflight, you get ‘bottom to top’:
9 0 Q W
5 6 7 8
1 2 3 4
That’s where the addon comes into play: it can revert the growth direction to the one before Dragonflight (‘top to bottom’).
For the sake of completeness, I also added the ability to reverse the growth direction on the X-axis (horizontal), but since Blizz hasn’t screwed that up (it’s still ‘left to right’), I don’t think there’s much use for it, and it’s completely disabled by default. But who knows, maybe they have ambitious plans to screw that up in the future.
The addon has no user interface. However, all settings are exposed to a database in the SavedVariables file, which means you can edit them there and they will be preserved across future addon updates.
I hope you can live with that, but adding a config UI for something that you will change once in your WoW lifetime – if ever – is way too much overhead for my taste. It's very likely that the default settings (see below) are fine for you and you won't want to change anything.
The SavedVariables file is at ../World of Warcraft/_retail_/WTF/Account/[your account number]/SavedVariables/ActionBarButtonGrowthDirection.lua
. Use a text editor to edit the file (e.g. TextEdit, BBEdit, Notepad++, …), do not use a word processor (e.g. MS Word). To edit and save the file in-place, you don’t have to quit WoW but you have to be logged out. Otherwise the client will overwrite your changes at next logout/reload.
It’s pretty straightforward:
- You have one big table with all action bars for each the Y- and the X-axis. The order corresponds to the action bars by index (so
[1]
is Action Bar 1,[6]
is Action Bar 6, and so on). An action bar set tofalse
will be left unchanged; if set totrue
, the button growth direction will be reversed on the respective axis. - You have a small
enabled
table. This is a quick way to set the behavior for all bars per axis, and it can overwrite any setting in the big per-bar tables. You can set it to:"none"
: No bar will be reversed for the respective axis. Per-bar settings are ignored."all"
: All bars will be reversed for the respective axis. Per-bar settings are ignored."some"
: The per-bar settings from the big table for this axis will be used.
The defaults are:
- X-axis is completely unmodified (
enabled.x = "none"
). - On the Y-axis, Action Bar 1 is reversed, the rest is unchanged.
So, if you want to reverse all bars on the Y-axis, just set the enabled.y
to "all"
instead of "some"
.
When I started experimenting with the scripts, I expected to get heavy taint issues (e.g. “Action blocked…” messages), because we are fiddling with global tables and on top of that, action bar tables. To my surprise, I didn’t get any taint issues, not one – so far. But this may be different for you because of different environment conditions like different addon sets, or even localizations.
I have added an alternative method to reverse the growth direction, which you can try if you get taint with the default method. Chances are slim that it will help in this case, but they are – probably – there.
To use the alternative method, set method
to 2
in the SavedVariables table. If you are taint-free with the default method, do not use method 2, as it is rather clumsy and has much room for improvement.
Please report any taint issues at the issues link (see header of the CurseForge page or last line of this ReadMe).
Feel free to post suggestions or issues at the GitHub Issues of the repo!
Please do not post issues or suggestions in the comments on CurseForge.
Other addons by me:
- PetWalker: Never lose your pet again (…or randomly summon a new one).
- Auto Quest Tracker Mk III: Continuation of the one and only original. Up to date and new features.
- Move 'em All: Mass move items/stacks from your bags to wherever. Works also with bag addons.
- Auto-Confirm Equip: Less (or no) confirmation prompts for BoE gear.
- EditBox Font Improver: Better fonts for your macro/script edit boxes.
WeakAuras:
- Stats Mini: A very compact but beautiful and feature-loaded stats display: primary/secondary stats, all defensive stats (also against target), GCD, speed (rating/base/actual/Skyriding), iLevel (equipped/overall/difference), char level +progress.