BetterAddonList
Fancy up the default AddOn List! Inspired by ACP by sylvanaar and it predecessors.
BetterAddonList has the following enhancements:
- Search!
- Move the panel.
- Create sets that allow you to quickly enable or disable groups of addons. Including multiple sets in one allows you to create base sets of addons for enabling across multiple characters.
- Shift-click the check box to "protect" an addon, preventing it from getting disabled.
- Enabled addons with missing or disabled dependencies are shown in red.
- Load AddOn button is always shown for unloaded load on demand addons.
- See how much memory enabled addons are using.
Slash Commands
/addons
- show the addon list, /bal
and /acp
can also be used
/addons load [set]
- enable only the addons in a set, other addons are disabled
/addons enable [set]
- enable addons in a set
/addons disable [set]
- disable addons in a set
/addons save [set]
- save all enabled addons to a set
/addons delete [set]
- delete a set
/addons disableall
- disable all addons
/addons reset
- Reset addons to what was enabled at login
Protected addons will never be disabled.
Hey, thanks for the addon. Getting this lua error atm:
1x ...eBetterAddonList/BetterAddonList_Classic.lua:732: attempt to call method 'SetVertexColor' (a nil value)
[BetterAddonList/BetterAddonList_Classic.lua]:732: in function <...eBetterAddonList/BetterAddonList_Classic.lua:624>
[C]: in function 'AddonList_Update'
[Blizzard_AddOnList/Classic/AddonList.lua]:503: in function <...faceBlizzard_AddOnList/Classic/AddonList.lua:482>
[C]: ?
[C]: in function 'Show'
[Blizzard_UIParentPanelManager/Classic/UIParentPanelManager.lua]:603: in function 'SetUIPanel'
[Blizzard_UIParentPanelManager/Classic/UIParentPanelManager.lua]:409: in function 'ShowUIPanel'
[Blizzard_UIParentPanelManager/Classic/UIParentPanelManager.lua]:316: in function <...IParentPanelManager/Classic/UIParentPanelManager.lua:312>
[C]: in function 'SetAttribute'
[Blizzard_UIParentPanelManager/Classic/UIParentPanelManager.lua]:1093: in function 'ShowUIPanel'
[*GameMenuFrame.xml:106_OnClick]:3: in function <[string "*GameMenuFrame.xml:106_OnClick"]:1>
Locals:
numAddons = 126
(for index) = 4
(for limit) = 19
(for step) = 1
i = 4
entry = AddonListEntry4 {
memory = 2046.388672
LoadAddonButton = AddonListEntry4Load {
}
Status = AddonListEntry4Status {
}
Reload = AddonListEntry4Reload {
}
}
checkbox = AddonListEntry4Enabled {
state = 1
}
title = AddonListEntry4Title {
}
status = AddonListEntry4Status {
}
lockIcon = Button {
}
memIcon = Button {
}
addonIndex = 4
enabled = true
depsEnabled = true
memory = 2046.388672
usage = 0.249803
(*temporary) = nil
(*temporary) = AddonListEntry4Enabled {
state = 1
}
(*temporary) = 1
(*temporary) = 1
(*temporary) = 1
(*temporary) = "attempt to call method 'SetVertexColor' (a nil value)"
MAX_ADDONS_DISPLAYED = 19
_G = <table> {
ERR_OUT_OF_CHI = "Not enough chi"
DH_HAVOC_CORE_ABILITY_2 = "Strong melee attack that consumes Fury. If it critical strikes, some Fury is refunded."
UNIT_NAMES_COMBATLOG_TOOLTIP = "Color unit names."
LE_GAME_ERR_CHAT_RAID_RESTRICTED_TRIAL = 798
SPELL_FAILED_CUSTOM_ERROR_71 = "This partygoer wants to dance with you."
LE_GAME_ERR_PET_SPELL_TARGETS_DEAD = 413
CENSUSPLUS_WORGEN = "Worgen"
InspectFrameTab1HighlightTexture = InspectFrameTab1HighlightTexture {
}
ContainerFrame3Item24SubIconTexture = ContainerFrame3Item24SubIconTexture {
}
ArmoryQuestLogRequiredMoneyFrameGoldButtonText = ArmoryQuestLogRequiredMoneyFrameGoldButtonText {
}
MultiBarLeftButton7 = MultiBarLeftButton7 {
}
CompactRaidGroup1Member4OverHealAbsorbGlow = CompactRaidGroup1Member4OverHealAbsorbGlow {
}
LE_GAME_ERR_INVALID_FOLLOW_PVP_COMBAT = 365
MerchantItem4AltCurrencyFrameItem1Text = MerchantItem4AltCurrencyFrameItem1Text {
}
OPTION_SHOW_ACTION_BAR5_TOOLTIP = "Attached to the left side of Action Bar 4 by default"
BINDING_NAME_NAMEPLATES = "Show Enemy Name Plates"
INSTANCE_UNAVAILABLE_OTHER_TEMPORARILY_DISABLED = "%s cannot enter. This instance is temporarily disabled."
ArmorySpellButton5 = ArmorySpellButton5 {
}
MultiBarBottomRightButton8Shine5 = MultiBarBottomRightButton8Shine5 {
}
ERR_NOAMMO_S = "%s"
ArmoryMainHandSlot = ArmoryMainHandSlot {
}
TitanPanelInformantButtonRightClickMenuButtonHighlightTexture = TitanPanelInformantButtonRightClickMenuButtonHighlightTexture {
}
LE_GAME_ERR_RECRUIT_A_FRIEND_FAILED = 1018
CompactRaidFrameManagerDisplayFrameHiddenModeToggleTopRight = CompactRaidFrameManagerDisplayFrameHiddenModeToggleTopRight {
}
LE_GAME_ERR_ONLY_ONE_QUIVER = 33
Outfitter.TooltipLib.TooltipTextRight9 = Outfitter.TooltipLib.TooltipTextRight9 {
}
questieLineFrame38 = questieLineFrame38 {
}
LibDBIcon10_BugSack = LibDBIcon10_BugSack {
}
CompactUnitFrameProfilesSaveButton = CompactUnitFrameProfilesSaveButton {
}
AUCTIONATOR_L_DEFAULT_LIST_HEADER = "Default Shopping List"
ACTION_SPELL_MISSED_POSSESSIVE = "1"
ArmoryTalentFrameBranch2 = ArmoryTalentFrameBranch2 {
}
QuestieFrame776Glow = QuestieFrame776Glow {
}
TitanPanelVolumeControlFrameDialogTitle = TitanPanelVolumeControlFrameDialogTitle {
}
ContainerFrame4Item16Cooldown = ContainerFrame4Item16Cooldown {
}
AceGUITabGroup3Tab1Middle = AceGUITabGroup3Tab1Middle {
}
WL_DESC_LOCATION = "Show/hide your location in a movable tooltip."
WowTokenRedemptionFrameBg = WowTokenRedemptionFrameBg {
}
SPELL_FAILED_CUSTOM_ERROR_152 = "You must choose a specialization to use Ascendance."
LAG_TOLERANCE = "Lag Tolerance"
GuildControlPopupFrame = GuildControlPopupFrame {
}
linePool.playButton48 = linePool.playButton48 {
}
SendStationeryBackgroundRight = SendStationeryBackgroundRight {
}
AUCTIONATOR_L_HIDE = "Hide"
MultiBarLeftButton9Border = MultiBarLeftButton9Border {
}
LE_GAME_ERR_NOT_ON_TOURNAMENT_REALM = 900
UIWidgetCenterDisplayFrameText = UIWidgetCenterDisplayFrameText {
}
BuffButton3 = BuffButton3 {
}
OPTION_TOOLTIP_SHOW_ACCOUNT_ACHIEVEMENTS = "Turning this option on will only display your character achievements when people inspect you or use the Blizzard website or mobile app."
UNCHECKED_ENABLED = 2
OPTION_TOOLTIP_FIX_LAG = "Enabling this reduces user interface lag, but may drastically reduce frame rates."
VOICEMACRO_8_Tr_1_FEMALE
Thank you!
Thank you!
Classic set saving should be working again with 1.4.3
would be nice if you can update it to mop
Checkboxes do not work at all or completely different ones are pressed. So there is no way to switch add-ons in game, only through profiles.
In reply to born2slip: Fixed in 1.4.1, yikes
In reply to nebula169: much appreciated
Every time i try click an addon it clicks another one, unless i have pre saved profiles i cannot swap addons.
I like the ## Category implementation that Blizzard added to the .toc files, makes it much easier to see adding that are sorted nicely. I wish all add-on authors used them ;)
I wish there was some way to compare the add-on list that is currently loaded, to a saved list. Presently, I have to save to a temporary list, then alternate back and forth to try and figure out the differences. Is there a way to implement such a feature?
Thank you.
In reply to dblanch369: I added a submenu to show changes from the currently enabled addons in 1.4.2
I pushed an update for retail to restore some of the functionality the category update broke. I'll try and look at classic in the next few days to see what's going on there
would be nice if you can update it to mop
I miss this addon...
Having the same issue as Bumperjumper1515.
Save does not update a set
I'm on MoP classic, addon worked fine for Cataclysm classic, now after prepatch it no longer does.
update plz
I tried the most recent update but it's still not working with Anniversary. I can't delete sets and when I "save" a set it doesn't actually save anything, just keeps loading the same set of addons over and over.
Can we get a working version for anniversary? It won't save lists, let me rename lists or work properly.
Addon not working on classic, sets cant be removed, updated or loaded