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.
Does it still happen with all other addons disabled?
No, its with ElvUI, turning of their skinning of the addon manager fixes the problem.
I worked some with the code in your addon and changing line 669 to
local enabledState = GetAddOnEnableState(character, addonIndex)
local enabled = enabledState > 0
local checkbox = _G["AddonListEntry"..i.."Enabled"]
checkbox.state = enabledState
checkbox:SetChecked(enabled)
Makes elvUI read the list (because they use a lot of their own checkstates (ie AddonListEntry1Enabled.state to check the return value of GetAddOnEnableState).
I also made a pull request to the ElvUI team where I updated their skinning formula to no longer use the AddonList.offset measurement but instead refer back to AddonList..i..Title:GetText() to get the name of the addon and pass it to their functions. This will make their skinning function not query an addon that is outside the current search filter.
Thanks for looking into it. Multiple addons hooking the same display function is usually awkward. In this case it looks like they delay hooking so it's a safe bet that iterating _G["AddonListEntry"..index] instead of doing their own show checks will work just fine.
In reply to nebula169:
Great addon, a must have. so thank you a bunch for the work and maintenance of this great addon.
One thing i would reeeealy love to see added in though, is functionality with titan panel. theres already a reload ui plugin for TP that puts a button on either the TP bar, or on the minimap if you desire. it would make things much more convienient to have a plugin for the TP bar that shows the currently loaded addon profile, with a dropdown to select/manage other addon set's without having to open the game menu, and open betteraddons first.
anyway.. thank you so much for the work and maintenance of this great addon.
Really nice addon, much more comfortable than ACP. Thank you for your work :)
In reply to CloudVR:
Agreed! Thank you so much for your work nebula169!
Is it possible to lock Addons like BetterAddonList? Would be nice to put this option too.
shift-clicking the check box will protect the addon from getting disabled :p
i want to see a system where we can eazy export profiles compleet of just sets to a other account
im a multiboxer with a few accounts and its nice to have the same sets on all of them
In reply to Forge_User_56101432:
this is the most close to profiling addon. all u need to sync (twitch app or something better since it's sux big time) the addons.
beside it's rly easy to handle just one addon - BetterAddon List - and just its profiles (also macroing switching enabled/disabled addon is made on the fly)
since u are mboxer, there is not "easy" for you - just because addons are 3rd party, and blizz do now allows players/devs to play around with their system on a level, which can make syncing/profiling even more flexible
Please make classic version of this addon! I've switched to it from ACP years ago, now I'm no longer playing retail, but came back to Classic and Already have like 100 addons running and I miss BetterAddon List so much!
It should work fine as is, are you getting any errors with it?
Edit: Seemed fine, I uploaded a classic version that just a TOC update
Will you be making a classic wow version of this app? Would be really cool I already use 25 addons in classic.
Thank You
In reply to Ankar8772:
This is a second vote for a classic version of this addon.
Hey, I don't know if this is the right place to give suggestions, but here goes.
It would be cool if you'd add a feature that enables/disables all the dependencies of a certain addon when enabling/disabling said addon.
I hope this makes sense.
Hey, i think there is a little problem with the addon (at least i think its this one)
Every now and then when i login, every addon is disabled, and thats on ALL the toons, including BetterAddonList addon is disabled, i then have to enable BetterAddonList and then load the set after that (it will load the ones marked as locked after i enable BetterAddonList).
But i have not seen any lua error since i did not have it enabled, but its the only addon i have that dos anything with the addon list.
Well guess im the only one with this problem, so it wont get fixed then, so bye.
I get LUA errors when scrolling down the addon list.
See below
13x SharedXML\AddonList.lua:573: AddOn index must be in the range of 1 to 371
[C]: in function `GetAddOnInfo'
SharedXML\AddonList.lua:573: in function <SharedXML\AddonList.lua:572>
[C]: in function `AddonTooltip_Update'
SharedXML\AddonList.lua:452: in function `AddonListScrollFrame_OnVerticalScroll'
[string "*:OnVerticalScroll"]:1: in function <[string "*:OnVerticalScroll"]:1>
[C]: in function `SetVerticalScroll'
SharedXML\SecureUIPanelTemplates.lua:56: in function <SharedXML\SecureUIPanelTemplates.lua:55>
[C]: in function `SetValue'
SharedXML\AddonList.lua:448: in function `AddonListScrollFrame_OnVerticalScroll'
[string "*:OnVerticalScroll"]:1: in function <[string "*:OnVerticalScroll"]:1>
[C]: in function `SetVerticalScroll'
SharedXML\SecureUIPanelTemplates.lua:56: in function <SharedXML\SecureUIPanelTemplates.lua:55>
Locals:
(*temporary) = 0
Does it happen without the addon enabled? It doesn't happen to me so I'm not sure what would cause it. Blizzard hasn't changed that code since 7.3, so it's not like something recently broke :\
No, it's not something recen. I just kept forgetting to report it, to be honest. It's been doing it for quite some time. Mostly just an annoyance to hear Bugsack go off. lol I thought maybe it was an out-of-bounds issue with the number (it seems to mostly occur when I scroll to the bottom of the list, but does it other times as well) I have a large number of addons in the list. I'll do some more testing.