Anyone is welcome to make plugins. Aurora comes with an API that can be used either to apply Aurora's style to other addons (whether they are your own or another author's), or to provide a custom style for Aurora.

To ensure compatibility with both Aurora and FreeUI (my UI, which includes an embedded version of Aurora), make sure that either your addon's name has a higher alphabetical ranking, or register both Aurora and FreeUI through ADDON_LOADED.

Your addon can access Aurora's API if you add the following line as soon as it is certain that either of the addons are loaded.

Code:

local F, C = unpack(Aurora or FreeUI)

All API functions are stored in the 'F' table, and all constants and media paths are stored in the 'C' table. The full API is accessible at the start of Aurora/aurora.lua.

Addon support:

Use the API functions available to you as much as possible when providing a style for your own or a third-party addon. Some default textures may need to be hidden manually. If you need a colour that stands out, consider using Aurora's colour scheme (C.r, C.g, C.b) which is used throughout the UI.

It is strongly recommended to pass all code used to provide style support for other addons to the F.AddPlugin function. This function ensures that the code is not executed until Aurora is fully initialised. You may call this function several times per addon, depending on the structure of your code.

Custom styles:

To write a custom style, you can provide custom API functions, to override the default ones. You can also provide a custom class colour table, and override the user's colour scheme (which is either their current class colour or a custom colour of their choosing).

Your style addon must finish loading before Aurora is loaded, so consider prefixing it with a ! or _ to ensure a higher load order priority.

Create a table called AURORA_CUSTOM_STYLE. This table can contain the following keys:

"apiVersion" (required): needs to match LATEST_API_VERSION at the top of aurora.lua. Updated only when the API fundamentally changes.

"functions": To override the default API functions

"classcolors": To override Aurora's class colour table

"highlightColor": To override the colour scheme

"skipSplashScreen": Set to true to skip the splash screen shown to first-time users

If you need to actually access Aurora's settings or API, you can use local variables which you initialize after Aurora's ADDON_LOADED.

Fixed the ItemAlterationUI error
Added a skin for title rewards in quests

7.0.6

Fixed a bug with config initialization on first install
Check textures in the AddOn List will now update their color properly

7.0.5

Fixed a bug preventing the addon from loading in some situations
Hide the background for quests like The Legion Returns
Tweak the placement of the WorldMap floors dropdown
Skin the Reset Chat Positions button in the chat settings

Added quality coloured item borders in more places. Quality colours now use the new Blizzard system modified to look like the old Aurora one.
Improved the options UI layout.
Improved and polished the appearance of several panels, for example the encounter journal.
Refactored and cleaned up a lot of code.

Developer

Bumped API version. Custom styles will need to match this version number.
Added a new custom style key: 'skipSplashScreen'. Setting this to true will skip the splash screen that tells first time users where they can find Aurora's options and how to enable and disable features.
Added new APIs:
- AddPlugin: use to add your own addon skins and ensure that they're loaded after Aurora is properly initialised (rather than just waiting for Aurora's ADDON_LOADED).
- ReskinFilterButton: used for filter buttons on mount/pet journal and tradeskill frame.
- ReskinNavBar: used for restyling nav bars whose NavBar_Initialize functions are called before Aurora initializes.

5.1

New features

Aurora now supports custom styles made by other addon authors. These styles can be uploaded as plug-ins for Aurora or included in custom UIs, so that UI authors do not have to modify Aurora's code directly. Information on how to do this can be found on the description page under 'Developer'.

New clean window style without shadows around the borders.
New item quality colour system that shows a coloured border around items on the bags and bank, Character frame, Inspect frame, Guild Bank frame, and Void Storage frame.
Text on tabs is now always centred, rather than being higher or lower depending on the active state of the tab. Also adjusted several tab positions.

General changes

Restyled character and transmogrify frame flyout arrows, with shiny colours.
Restyled the transmogrify 'neon' border around items.
Restyled Inspect PvP frame.
Restyled Inspect Talents role icon.
Reduced Inspect Talents glyph background opacity to be more consistent with the rest of the UI.
New Specialization tab style that is consistent with similar category buttons in the UI.
Restyled Specialization frame role icons.
Specialization tab role text colour now changes on whether or not it is your active spec.

Bug fixes

Fixed a bug where a shadow was shown around the top of the Taxi frame.

4.7b

> Fixed transmogrify confirmation popup being tiny.

4.7a

> Restyled a new option in the floating combat text options.> Fix icon backgrounds not or incorrectly appearing when scrolling through the currency frame.

4.7

> Updated for patch 5.4.

4.6.2

> Restyled queue status frame role icons.> Improved equipment flyout frame, restyling the multi-page navigation arrows and preventing the 'unequip item' icon from being wrongly coloured.> Adjusted the height and position of the send mail name frame.> Fixed the border of quest rewards being cut off in some situations.

Improved the guild control UI.
Improved achievement tracking checkboxes.
Chat bubbles now use the alpha setting.
Fixed a bug with missing loot frame that caused an error.
Fixed a bug with guild roster icons when viewing professions.
Fixed a bug with the loot won alert background being shown when the alert is hidden with an addon.
Fixed plus/minus icon positions so that they are always centered.

Added an option for a custom highlight colour rather than class colour.
Overhauled dropdown lists with new highlight textures and reskinned radio- and checkbuttons.
Changed the font on close buttons.
Reskinned radio buttons on the GM survey frame.

Added a fix for addons that inherit GameTooltip's look.
Fixed a texture on the trade skill and GM survey frame.

Add a border around merchant currency icons.
Reskinned the new button on the GM frame.

3.6.1

Tweak input box size and reskin calendar mass invite frame.

3.6

Added a few debug outputs for missing items (rather than lua errors) to improve maintainability.
Added a new API: ReskinRadio.
Reskinned the new report stuff.
Reskinned the achievement comparison window.

Added a new function, CreateGradient, which plugins can use to create the gradient background used on text fields (when ReskinInput cannot be used).

3.5.2a

Actually reskinned the Scroll of Resurrection frame.

3.5.2

Fixed a bug that prevented the Interface options or Video options frame from being fully skinned when opened directly rather than through the game menu button.
Fixed material textures showing up on the quest panel.
Reskinned the Scroll of Resurrection frame.
Reskinned LFGDungeonReadyDialogCloseButton.

Fixed a bug where game icons on the friends frame could keep their background after disappearing.
Reverted "Attempt to workaround a Blizzard bug which prevented interaction on certain interface elements after a while." because it doesn't work.

Fixed dropdown lists not being skinned for some reason.
Added TipTop to tooltips check.

3.3.4

Added a background for item tooltips in socketing frame.
Fixed position of the achievement frame header.
Fixed a bug with the channel list scroll bar.

3.3.3

Reskinned encounter journal instance buttons.
Fixed bugs with tradeskill frame.
Fixed a rare bug where the quest frame could have a backdrop when starting a quest from a parchment or scroll.

3.3.2

Better option panel styling.
Added a small line at the top of the lua file that lets you set the opacity of frames.
Removed Real ID invite button.
Fixed a bug with LFD rewards.

3.3.1a

Fixed quest reward highlight, I think.

3.3.1

Loot frame makeover.
Added LovelyLoot to the list of possible loot addons, and moved the loot styling to the delayed part of the code.
Fixed glyph header stuff.

3.3a

Fixed minor stuff, especially on the bags/bank.

3.3

New core.
Improved bags.
Reskinned bank.
Fixed an important bug related to tooltip/bags/map addon loading.
Friends frame now has dimensions that are more like the original, to avoid buttons overlapping on the Raid frame.
Fixed the tab position on the character frame for classes with pets.
Fixed (more or less) the war game button.
Attempt to fix at the only possible cause I can see for Glyph swapping taint error.
Fixed guild bank and inspect frame tab position.
Reskinned guild challenges and dungeon completion rewards.
Map text is now less ugly.

Reskinned some achievement window stuff.
Reskinned Addon Control Panel button.
Added a few gradient colours to status bars to make them less ugly.
Added famBags to the list of bag addons.
Fixed guild roster class icon backgrounds showing when they shouldn't.

3.1

New theme (again), to compromise between the old theme and the visibility of the second one.

Basic small map skin. Can be toggled by changing 'map' to false.
Unskinned buttons now no longer have missing textures. NOTE: You need to replace the old Interface/Buttons folder with the new one for this change to apply.
Reskinned left/right arrows.
Reskinned check boxes.
Reskinned more input boxes.
Reskinned DBM range check.
Arrows are now slightly darker when disabled.
Improved Guild rewards frame.
Hooked OnVerticalScroll for the friends list rather than hooking HybridScrollFrame_Update. Slightly more efficient.
Added StarTip to the tooltip add-on check.

Added a simple option at the top of the lua file that lets you use the Aurora theme when using Tukui.
Re-added custom border texture, now hiding the character/inspect/pet stable frame button border with lua instead.
Fixed a lot of overlapping backgrounds.
Reskinned ReputationDetailFrame.
Reskinned CompactRaidFrameManasrkjkrjezradjknfs
Reskinned enter dungeon frame and some buttons related to lfd.
Reskinned buttons on LFR browse frame.
Reskinned some minor things in chat config frame.

Aurora doesn't work well with Auctioneer. The skin causes the last/next page buttons on the browse tab to be stretched and very hard to click. Is there a way to disable aurora for just the auction house? Or maybe make it play nicer with auctioneer?