Introduction:
I felt it was unnessesary that I had to manually recreate the same chat tabs on each of my characters, and otherwise had to manually Snych changes in this area. I easily get to 3 Tabs per Character and I see no reason to have seperate Tab settings for different Characters (as everything in this game is account based).
How the chat system is organised:
There are 1-10 Chat Containers. Container 1 is used by the default Chat system and is recreated by the game if it is missing. Addons may create additional Chat Containers. The number of chat containers is persisted between Characters and different runs of the game (API: 100003).
Each Chat Container can have any number of tabs (same as the Tabs on your Chat UI Element). Each Tab can listen to one or more Category (Category = incomming Chat Channel Messages). Each Category it's has a own color (independant of tabs).
There are a total of 61 Chat Categories, with about 20 being shown by the default UI, 41 having been named/in use and 20 being out of use (API version 100007).
At default settings this Addon only tries to synch the Tabs of the first ChatContainer (1) and the Category Colors (Chat Container independant/global) between Characters.
It can be set to include additional Chat Containers (if any addon created them), but this feature is experimental. It will not create or delete Chat Containers.
How to use:
Install Addon
Log in with the players whose Chat Settings you want to be the "default" for all others
Save the Tab Settings, enable Autoapply and (optionally) Autosave
Repeat for Colors
All further Characters you log in will have thier Chat Settings and Colors overwritten by that of the first Character and further Changes will be saved via a periodic Autosave (if enabeled)
Known issues:
In order to get changes to the names or number of Chat Tabs recognised, /reloadui has to be used. The Addon will detect if such changes have taken place and automatically reload accordingly.
It is unknown if the other setable values of a Tab (isLocked, isInteractable, areTimestampsEnabled) need a reloadui to apply. So I make a reload to be save.
There is a bool value for each tab called "IsCombatLog". It can only be set when creating a Tab, not afterwards. The addon will not re-create the tab if this bool values is not set the same as in the data. But tabs it adds anyway will get the proper value. Note that it will rename existing tabs rather then created a new ones.
If the Colors are applied the edit box and channel name in the Chat Window will not Automatically change to the new color (they do when Changing via the Menu). This is purely a graphcis bug and the actuall color will be used one a message is received.
In order to see d() messages from the load event (Auto-apply messages in particular), you need LibDebug or BugEater with Pre-Init debug enabeled (Game limitation)
Used Libraries:
LibAddonMenu, LAM-1to2-Interface, libStub (for Addon menu)
LD Timer Library (for Autosave)
LibConstantMapper (sine 1.6 for new save feature)
A addon with similar functionality is
Chat Setup by xevoran