Here is my code to do that:
Code:
function(status)
LayUISetups_ChatFrameIsHiden = not status
if status == 1 then
for i=1,10 do
local f=getglobal("ChatFrame"..i)
if f then
if f.LayRestore then
f:Show()
FloatingChatFrame_Update(f:GetID(),1)
end
end
end
else
for i=1,10 do
local f=getglobal("ChatFrame"..i)
if f then
f.LayRestore=f:IsShown() or f.LayRestore
f:Hide()
getglobal("ChatFrame"..i.."Tab"):Hide()
getglobal("ChatFrame"..i.."TabDockRegion"):Hide()
end
end
end
end
Not really fitting a macro :<
Edit:
And I'd need to check, but I think there's also another piece of code somewhere else to hook some functions or unregister some events. I've only copied that fast but I haven't read what it's supposed to do
Edit bis:
Indeed, the following functions have to be disabled if you want the chat frame to remain hidden:
"FCF_OnUpdate",
"FCF_DockUpdate",
"FloatingChatFrame_OnEvent",
"ChatFrame_ConfigEventHandler"