Bartender4
Bartender4 is a full ActionBar replacement mod. It provides you with all the features needed to fully customization most aspects of your action and related bars.
Status for Dragonflight / 10.0
- Hold-to-cast is not currently available for addons
- Action Bars have been slightly re-arranged in Bartender4 for Dragonflight
- Bar 1-8 now reflect Blizzard Bars 1-8 (these are old 1, 3-6, and the 3 new bars)
- The old bars 7-10 are now called "Class Bar 1-4" (Shapeshifting, Stances, etc)
- The old bar 2 is now called Bonus Action Bar
Features
- Support for all Action Bars and all related bars
- 10 Action Bars (13 in Dragonflight!)
- Stance Bar
- Pet Bar
- Bag Bar
- Micro Menu
- XP/Reputation Bar
- All Bars are fully customizable (Scale, Alpha, Fade-Out settings, ...)
- Very flexible and customizable Show/Hide driver based on Macro Conditions
- Additional Layout and Paging settings for Action Bars
- Page all bars based on Stance or Modifier
- Possess Bar support
- Custom State driver support with Macro Conditions
- Options to hide specific elements of the buttons (Macro Text, HotKey, more could be added on demand)
- StickyFrames support
- Masque/ButtonFacade support!
- Easy Hotkey Binding using KeyBound
- Options to control the hiding of the default blizzard artwork (you might still want that to be displayed..)
FAQ
Q: I cannot move/drag my skills on my bars?
A: Hold Shift to move skills safely. You can also unlock your bars in the Bartender4 options, but using Shift is safer and recommended.
Q: How do i access the Configuration?
A: You can open the configuration with the Slash Commands (/bt or /bartender) or through the Bartender4 LDB plugin.
Q: Where are my keybindings? And how do i bind new keys?
A: Bartender4 buttons should automatically inherit keybindings from the Blizzard bars. For new keybindings, you can use KeyBound to re-bind your keys. You can access KeyBound by its slash command (/kb) or through the button in the BT4 config. Hover a button, press key → voila!
Q: Can I skin the buttons beyond the built-in options?
A: Bartender4 allows skinning through Masque! After installing both Bartender4 and Masque, you can customize the BT4 appearance in the Masque options.
Q: How do i disable the snapping of the bars?
A: Currently, you can temporarily override the snapping by holding down the Shift Key while moving your bars, or uncheck the option in the popup when your bars are unlocked.
Feature Requests/Bug Tracker
Please submit Bugs and/or Feature Requests using the Ticket System on the WoWAce Project page or in the Bartender4 Forum Thread. Please provide as many information as possible, including your client language, the exact version you are running, how to reproduce any errors, and a stack trace, if applicable.
Links
WoWAce Project: Bartender4 on WoWAce
Custom State Header: Info page on WoWAce
TWW Bar 2 not showing. It is not state configured or hidden. But I cannot get it to show
Still love this addon after well over a decade! One small thing I'm curious about; the actual macro graphic of the backpack doesn't show up, at all. The main backpack slot just looks like an empty spot, with my bag slot text over it. Is this a known issue? Is there a way I can reset it? Not a huge deal at all, just was hoping to fix it if I could.
5x [ADDON_ACTION_FORBIDDEN] AddOn 'Bartender4' tried to call the protected function 'UseQuestLogSpecialItem()'.
[string "@!BugGrabber/BugGrabber.lua"]:485: in function <!BugGrabber/BugGrabber.lua:485>
[string "=[C]"]: in function `UseQuestLogSpecialItem'
[string "@Blizzard_ObjectiveTracker/Blizzard_ObjectiveTrackerShared.lua"]:94: in function <...ObjectiveTracker/Blizzard_ObjectiveTrackerShared.lua:87>
Locals:
_ = Frame {
}
event = "ADDON_ACTION_FORBIDDEN"
events = <table> {
}
How can I prevent this from happening?
I am having trouble with mouseover working on party frames. The moment I disable Bartender 4, the mouseovers work in Shadow Unitframes or the default Blizzard bars (yuk). I am not using the macros, but the built in universal mouse over option. It was working a couple days ago, I transferred realms and changed factions and as long as Bartender is enabled as an addon, mouseover does not work.
The LFG button keeps resetting to the middle of the screen every time after i exit a vehicle, have to reload every time.. very annoying, been like this all of season 4 of DF as well.
1x [ADDON_ACTION_BLOCKED] AddOn 'Bartender4' hat versucht die geschützte Funktion 'Button:SetPassThroughButtons()' aufzurufen.
[string "@Interface/AddOns/SpartanUI/libs/bug-grabber/BugGrabber.lua"]:478: in function <...ace/AddOns/SpartanUI/libs/bug-grabber/BugGrabber.lua:477>
[string "=[C]"]: in function `SetPassThroughButtons'
[string "@Interface/AddOns/Blizzard_MapCanvas/MapCanvas_DataProviderBase.lua"]:224: in function `CheckMouseButtonPassthrough'
[string "@Interface/AddOns/Blizzard_MapCanvas/Blizzard_MapCanvas.lua"]:209: in function <...ace/AddOns/Blizzard_MapCanvas/Blizzard_MapCanvas.lua:158>
[string "=[C]"]: in function `AcquirePin'
[string "@Interface/AddOns/Blizzard_SharedMapDataProviders/BonusObjectiveDataProvider.lua"]:97: in function <...haredMapDataProviders/BonusObjectiveDataProvider.lua:92>
[string "=[C]"]: in function `xpcall'
[string "@Interface/AddOns/Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua"]:76: in function `FireCallbacks'
[string "@Interface/AddOns/Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua"]:35: in function <.../Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua:31>
[string "=[C]"]: in function `accessor'
[string "@Interface/AddOns/Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua"]:52: in function `AddCallback'
[string "@Interface/AddOns/Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua"]:60: in function `AddCancelableCallback'
[string "@Interface/AddOns/Blizzard_SharedMapDataProviders/BonusObjectiveDataProvider.lua"]:92: in function `RefreshAllData'
[string "@Interface/AddOns/Blizzard_SharedMapDataProviders/BonusObjectiveDataProvider.lua"]:65: in function `OnEvent'
[string "@Interface/AddOns/Blizzard_MapCanvas/MapCanvas_DataProviderBase.lua"]:99: in function `SignalEvent'
[string "@Interface/AddOns/Blizzard_MapCanvas/Blizzard_MapCanvas.lua"]:106: in function <...ace/AddOns/Blizzard_MapCanvas/Blizzard_MapCanvas.lua:105>
[string "=[C]"]: in function `secureexecuterange'
[string "@Interface/AddOns/Blizzard_MapCanvas/Blizzard_MapCanvas.lua"]:109: in function `OnEvent'
[string "@Interface/AddOns/Blizzard_WorldMap/Blizzard_WorldMap.lua"]:148: in function <...rface/AddOns/Blizzard_WorldMap/Blizzard_WorldMap.lua:147>
Locals:
_ = Frame {
}
event = "ADDON_ACTION_BLOCKED"
events = <table> {
}
1x [ADDON_ACTION_FORBIDDEN] AddOn 'Bartender4' hat versucht die geschützte Funktion 'UseQuestLogSpecialItem()' aufzurufen.
[string "@Interface/AddOns/SpartanUI/libs/bug-grabber/BugGrabber.lua"]:478: in function <...ace/AddOns/SpartanUI/libs/bug-grabber/BugGrabber.lua:477>
[string "=[C]"]: in function `UseQuestLogSpecialItem'
[string "@Interface/AddOns/Blizzard_ObjectiveTracker/Blizzard_ObjectiveTrackerShared.lua"]:94: in function <...ObjectiveTracker/Blizzard_ObjectiveTrackerShared.lua:87>
Locals:
_ = Frame {
}
event = "ADDON_ACTION_FORBIDDEN"
events = <table> {
}
I don't recall having this issue in the past, but my Bar 1 will not hide, regardless of visibility check box setting, when I'm using the Blizzard default Vehicle UI. I'm talking about actual vehicles with ability attacks. Anyone experiencing this or have any tips to resolve this?
How do I get the bags from opening over my actionbars? I have 2 bars at the rightside of the screen but when I open my bags they cover the bars. They should offset more to the left when opened.
Bartender causing massive lag in Alterac Valley on 14 August 2024. Assume after Blizzard maintenance work on Tuesday 13 August.
Hello, ive been afk for 8 months, i just come back and update all my addon including Bartender : all my bar and buttons has disappear, impossible to find them, impossible to update/manage the bar 1 to 8. Ive got them (buttons/settings) since like 10 yo... Im totally desperate, any idea ?
Hello guys, i keep getting this on my druid
Message: Interface/AddOns/Bartender4Arched/core.lua:41: attempt to call method 'SetMinResize' (a nil value)
Time: Tue Aug 6 15:49:49 2024
Count: 5
Stack: Interface/AddOns/Bartender4Arched/core.lua:41: attempt to call method 'SetMinResize' (a nil value)
[string "@Interface/AddOns/Bartender4Arched/core.lua"]:41: in function <Interface/AddOns/Bartender4Arched/core.lua:34>
[string "@Interface/AddOns/Bartender4Arched/core.lua"]:86: in function <Interface/AddOns/Bartender4Arched/core.lua:85>
[string "=[C]"]: in function `ApplyConfig'
[string "@Interface/AddOns/Bartender4/StateBar.lua"]:63: in function `ApplyConfig'
[string "@Interface/AddOns/Bartender4/ActionBar.lua"]:52: in function `ApplyConfig'
[string "@Interface/AddOns/Bartender4/ActionBars.lua"]:340: in function `Create'
[string "@Interface/AddOns/Bartender4/ActionBars.lua"]:146: in function <Interface/AddOns/Bartender4/ActionBars.lua:138>
[string "=[C]"]: ?
[string "@Interface/AddOns/Bartender4/libs/AceAddon-3.0/AceAddon-3.0.lua"]:66: in function <...AddOns/Bartender4/libs/AceAddon-3.0/AceAddon-3.0.lua:61>
[string "@Interface/AddOns/Bartender4/libs/AceAddon-3.0/AceAddon-3.0.lua"]:523: in function `EnableAddon'
[string "@Interface/AddOns/Bartender4/libs/AceAddon-3.0/AceAddon-3.0.lua"]:536: in function `EnableAddon'
[string "@Interface/AddOns/Bartender4/libs/AceAddon-3.0/AceAddon-3.0.lua"]:626: in function <...AddOns/Bartender4/libs/AceAddon-3.0/AceAddon-3.0.lua:611>
Locals: bar = BT4Bar6 {
id = "6"
hidedriver = <table> {
}
module = <table> {
}
config = <table> {
}
name = "Bar 2"
bindingmapping = "MULTIACTIONBAR1BUTTON%d"
elapsed = 0
overlay = BT4Bar6Overlay {
}
}
overlay = BT4Bar6Overlay {
Text = FontString {
}
Center = Texture {
}
RightEdge = Texture {
}
BottomEdge = Texture {
}
TopRightCorner = Texture {
}
BottomRightCorner = Texture {
}
BottomLeftCorner = Texture {
}
TopEdge = Texture {
}
TopLeftCorner = Texture {
}
backdropInfo = <table> {
}
LeftEdge = Texture {
}
bar = BT4Bar6 {
}
}
(*temporary) = nil
(*temporary) = BT4Bar6Overlay {
Text = FontString {
}
Center = Texture {
}
RightEdge = Texture {
}
BottomEdge = Texture {
}
TopRightCorner = Texture {
}
BottomRightCorner = Texture {
}
BottomLeftCorner = Texture {
}
TopEdge = Texture {
}
TopLeftCorner = Texture {
}
backdropInfo = <table> {
}
LeftEdge = Texture {
}
bar = BT4Bar6 {
}
}
(*temporary) = 50
(*temporary) = 50
(*temporary) = "attempt to call method 'SetMinResize' (a nil value)"
Hai, I keep getting these errors.
Message: Interface/AddOns/Bartender4/libs/SimpleSticky.lua:179: attempt to perform arithmetic on local 'xB' (a nil value)
Time: Sun Aug 4 21:55:31 2024
Count: 595
Stack: Interface/AddOns/Bartender4/libs/SimpleSticky.lua:179: attempt to perform arithmetic on local 'xB' (a nil value)
[string "@Interface/AddOns/Bartender4/libs/SimpleSticky.lua"]:179: in function `SnapFrame'
[string "@Interface/AddOns/Bartender4/libs/SimpleSticky.lua"]:140: in function <Interface/AddOns/Bartender4/libs/SimpleSticky.lua:126>
Locals: self = <table> {
rangeX = 15
scripts = <table> {
}
rangeY = 15
sticky = <table> {
}
}
frameA = BT4Bar13 {
module = <table> {
}
currentButtonOffset = 0
elapsed = 0
hidedriver = <table> {
}
isMoving = true
buttons = <table> {
}
id = "13"
unlocked = true
overlay = BT4Bar13Overlay {
}
config = <table> {
}
name = "Bar 6"
bindingmapping = "MULTIACTIONBAR5BUTTON%d"
statebutton = <table> {
}
buttonConfig = <table> {
}
numbuttons = 12
}
frameB = BT4Bar2Overlay {
Text = FontString {
}
Center = Texture {
}
RightEdge = Texture {
}
BottomEdge = Texture {
}
TopRightCorner = Texture {
}
BottomRightCorner = Texture {
}
BottomLeftCorner = Texture {
}
TopEdge = Texture {
}
TopLeftCorner = Texture {
}
backdropInfo = <table> {
}
LeftEdge = Texture {
}
bar = BT4Bar2 {
}
}
left = 6
top = 6
right = 6
bottom = 6
sA = 0.650000
sB = 0.520000
xA = 1233.190186
yA = 359.510406
xB = nil
yB = nil
hA = 26.499983
hB = 0
wA = 285.000061
wB = 0
newX = 1233.190186
newY = 359.510406
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to perform arithmetic on local 'xB' (a nil value)"
StickyFrames = <table> {
rangeX = 15
scripts = <table> {
}
rangeY = 15
sticky = <table> {
}
}
and
Message: ...er4/libs/LibActionButton-1.0/LibActionButton-1.0.lua:2153: attempt to call global 'GetMouseFocus' (a nil value)
Time: Sun Aug 4 22:19:40 2024
Count: 256
Stack: ...er4/libs/LibActionButton-1.0/LibActionButton-1.0.lua:2153: attempt to call global 'GetMouseFocus' (a nil value)
[string "@Interface/AddOns/Bartender4/libs/LibActionButton-1.0/LibActionButton-1.0.lua"]:2153: in function <...er4/libs/LibActionButton-1.0/LibActionButton-1.0.lua:2147>
[string "@Interface/AddOns/Bartender4/libs/LibActionButton-1.0/LibActionButton-1.0.lua"]:1737: in function `method'
[string "@Interface/AddOns/Bartender4/libs/LibActionButton-1.0/LibActionButton-1.0.lua"]:1197: in function <...er4/libs/LibActionButton-1.0/LibActionButton-1.0.lua:1194>
[string "@Interface/AddOns/Bartender4/libs/LibActionButton-1.0/LibActionButton-1.0.lua"]:1444: in function <...er4/libs/LibActionButton-1.0/LibActionButton-1.0.lua:1268>
Locals: self = BT4Button18 {
FlyoutBorderShadow = BT4Button18FlyoutBorderShadow {
}
FlyoutArrowContainer = Frame {
}
NewActionTexture = Texture {
}
LevelLinkLockIcon = Texture {
}
Flash = BT4Button18Flash {
}
TargetReticleAnimFrame = Frame {
}
_state_action = 18
icon = BT4Button18Icon {
}
SlotArt = Texture {
}
InterruptDisplay = Frame {
}
NormalTexture = BT4Button18NormalTexture {
}
HotKey = BT4Button18HotKey {
}
HighlightTexture = Texture {
}
action = 0
AutoCastOverlay = Frame {
}
rangeTimer = -1
flashing = 0
SpellCastAnimFrame = Frame {
}
CooldownFlash = Frame {
}
state_actions = <table> {
}
IconMask = MaskTexture {
}
TextOverlayContainer = Frame {
}
state_types = <table> {
}
header = BT4Bar2 {
}
PushedTexture = Texture {
}
SpellHighlightAnim = AnimationGroup {
}
CheckedTexture = Texture {
}
Border = BT4Button18Border {
}
id = 18
SpellHighlightTexture = Texture {
}
__LAB_Version = 111
outOfRange = false
config = <table> {
}
Name = BT4Button18Name {
}
_state_type = "action"
SlotBackground = Texture {
}
Count = BT4Button18Count {
}
cooldown = BT4Button18Cooldown {
}
zoneAbilityDisabled = false
}
isButtonDownOverride = nil
actionType = "flyout"
(*temporary) = nil
(*temporary) = "attempt to call global 'GetMouseFocus' (a nil value)"
lib = <table> {
callbacks = <table> {
}
activeButtons = <table> {
}
ACTION_HIGHLIGHT_MARKS = <table> {
}
eventFrame = Frame {
}
ChargeCooldowns = <table> {
}
nonActionButtons = <table> {
}
FlyoutInfo = <table> {
}
flyoutHandler = LABFlyoutHandlerFrame {
}
actionButtons = <table> {
}
NumChargeCooldowns = 2
buttonRegistry = <table> {
}
ON_BAR_HIGHLIGHT_MARK_ID = 386870
FlyoutButtons = <table> {
}
}
Micro menu will not relocate from bottom right side of the screen. I can scale it and set the padding, but i cannot affect anything else.
Thank you so much for providing this #1 addon. I can live without any others,but this one is a MUST!
Hello, I have a problem to keep the display of the bags icons? Is there a Bartender command to display on and off these bags icons please ? Thank you
Is there any way to disable bartenders bar 4 and 5, but keep the blizzard bar 4 and 5 showing, as the objective tracker/boss frames/arena frames/vehicle seat/durability etc are nicely linked to them and i like how that works with them resizing each other.
I tried turning off bar 4 and 5 in bartender but the blizz bar 4 and 5 dont show up.
WoW Retail - logged into my main, 70 Druid. All of my buttons on all my Action bars, etc were cleared. Wiped clean so to speak.
I have since tried several times to reset all my buttons as I had them on each action bar. Get it working just fine.
Until I log out. As soon as I log back in - All my action bars are wiped clear again.
/reload doesn't wipe them out, but logging out and back in does and only on the one character. I've tried resetting the profile as well.
In reply to curomac: I posted the same thing on my monk. I thought my profile was corrupted. Strangely, it only happens on my WW monk spec. BM monk spec abilities do not clear.
In reply to curomac: FYI!, this is not a Bartender issue. This is Blizzard bug that's being reported.
In reply to boldnbeautiful:
Thanks for the heads up. Found this elsewhere too - tested it and it works for my druid.
I am experiencing a problem with this addon where it resets my action buttons every time I log into the game. This forces me to reconfigure my buttons each time I log in. I am currently playing as a Druid.
Found solution in Blizzard bug report by Unatural. Apparently it's a Blizz issue.
Workaround: Do your buttons. Open Talent Tree. Create "New Load Out." Exit or log out. Log back in and it's still there.