Just to clearify, what I am thinking about style addons:
Lua Code:
--own version check
local MAJOR, MINOR = "LibAddonMenu-2.0-classic", 1
local lam, oldminor = LibStub:NewLibrary(MAJOR, MINOR)
if not lam then return end --the same or newer version of this lib is already loaded into memory
-- well known name registration
MAJOR, MINOR = "LibAddonMenu-2.0", 17
lam, oldminor = LibStub:NewLibrary(MAJOR, MINOR)
if not lam then return end --a settings addon is registered already
or
Lua Code:
--own version check
local MAJOR, MINOR = "LibAddonMenu-2.0-borderless", 1
local lam, oldminor = LibStub:NewLibrary(MAJOR, MINOR)
if not lam then return end --the same or newer version of this lib is already loaded into memory
-- well known name registration
MAJOR, MINOR = "LibAddonMenu-2.0", 17
lam, oldminor = LibStub:NewLibrary(MAJOR, MINOR)
if not lam then return end --a settings addon is registered already
I would restrict additional control manipulation to what is possible with the setup data. This way an addon author can not work against the choosen style.
ANY settings addon author "just" needs to supply a compatible API and register to the well known name "LibAddonMenu-2.0".
I just have to finalize my thoughts. But now, I have to work first