Fane is a small add-on to make the chat tabs look slightly more appealing. The tabs will always be shown on ChatFrame1 (that's the one where you can have more than one tab).
There are zero configurations for this add-on.
Change Log - Fane
Changes from 1.1
- Updated to work on 3.0.
Changes from 1.0
- Set TOC version to 2.4.
Optional Files - Fane
Sorry, there are currently no optional files available.
Originally posted by Aschker lovely but ehrm.. arent the tabs supposed to blink red if i get a message in a custom channel? Like a whisper if i have one tab just for whispers? anyway.. it doesnt..
It highlights it red, and that's what it has always done.
Quote:
Originally posted by Aschker And if i delete the whisper tab, the tab stays up there, it doesnt go a way until a reload.
lovely but ehrm.. arent the tabs supposed to blink red if i get a message in a custom channel? Like a whisper if i have one tab just for whispers? anyway.. it doesnt..
And if i delete the whisper tab, the tab stays up there, it doesnt go a way until a reload.
wine segfaulted when I updated my WoW yesterday, so the following isn't tested, but it should work. I will review Fane's code before pushing an update however.
Code:
diff --git a/tabs.lua b/tabs.lua
index 0c29ce3..abcfcd8 100644
--- a/tabs.lua
+++ b/tabs.lua
@@ -35,18 +35,18 @@ local inherit = GameFontNormalSmall
local OnEnter = function(self)
local f, s = inherit:GetFont()
- self:SetTextColor(.64, .207, .933)
- self:SetFont(f, s, "OUTLINE")
+ self:GetFontString():SetTextColor(.64, .207, .933)
+ self:GetFontString():SetFont(f, s, "OUTLINE")
end
local OnLeave = function(self)
if(_G["ChatFrame"..self:GetID()] == SELECTED_CHAT_FRAME) then
- self:SetTextColor(.64, .207, .933)
+ self:GetFontString():SetTextColor(.64, .207, .933)
else
- self:SetTextColor(1, 1, 1)
+ self:GetFontString():SetTextColor(1, 1, 1)
end
local f, s = inherit:GetFont()
- self:SetFont(f, s)
+ self:GetFontString():SetFont(f, s)
end
local OnShow = function(self)
local f, s = inherit:GetFont()
@@ -78,9 +78,9 @@ local rollCF = function()
tab.SetAlpha = dummy
if(chat == SELECTED_CHAT_FRAME) then
- tab:SetTextColor(.64, .207, .933)
+ tab:GetFontString():SetTextColor(.64, .207, .933)
else
- tab:SetTextColor(1, 1, 1)
+ tab:GetFontString():SetTextColor(1, 1, 1)
end
tab:GetHighlightTexture():SetTexture(nil)
@@ -102,14 +102,14 @@ event.PLAYER_LOGIN = function()
end)
local _orig_FCF_Tab_OnClick = FCF_Tab_OnClick
- FCF_Tab_OnClick = function(button)
- _orig_FCF_Tab_OnClick(button)
+ FCF_Tab_OnClick = function(...)
+ _orig_FCF_Tab_OnClick(...)
for k, v in pairs(DOCKED_CHAT_FRAMES) do
if(v == SELECTED_CHAT_FRAME) then
- _G[v:GetName().."Tab"]:SetTextColor(.64, .207, .933)
+ _G[v:GetName().."Tab"]:GetFontString():SetTextColor(.64, .207, .933)
else
- _G[v:GetName().."Tab"]:SetTextColor(1, 1, 1)
+ _G[v:GetName().."Tab"]:GetFontString():SetTextColor(1, 1, 1)
end
end
end
With the 3.0.2 patch Fane broke. I made the following changes to get things working again:
Code:
local OnEnter = function(self)
local f, s = inherit:GetFont()
_G["ChatFrame"..self:GetID().."TabText"]:SetTextColor(.64, .207, .933)
_G["ChatFrame"..self:GetID().."TabText"]:SetFont(f, s, "OUTLINE")
end
local OnLeave = function(self)
if(_G["ChatFrame"..self:GetID()] == SELECTED_CHAT_FRAME) then
_G["ChatFrame"..self:GetID().."TabText"]:SetTextColor(.64, .207, .933)
else
_G["ChatFrame"..self:GetID().."TabText"]:SetTextColor(1, 1, 1)
end
local f, s = inherit:GetFont()
_G["ChatFrame"..self:GetID().."TabText"]:SetFont(f, s)
end
local OnShow = function(self)
local f, s = inherit:GetFont()
_G["ChatFrame"..self:GetID().."TabText"]:SetFont(f, s+1)
_G["ChatFrame"..self:GetID().."TabText"]:SetTextColor(1, 0, 0)
end
local OnHide = function(self)
local f, s = inherit:GetFont()
G["ChatFrame"..self:GetID().."TabText"]:SetFont(f, s)
_G["ChatFrame"..self:GetID().."TabText"]:SetTextColor(1, 1, 1)
end
local rollCF = function()
for i = 1, 7 do
local chat = _G["ChatFrame"..i]
local tab = _G["ChatFrame"..i.."Tab"]
local tabText = _G["ChatFrame"..i.."TabText"]
local flash = _G["ChatFrame"..i.."TabFlash"]
flash:GetRegions():SetTexture(nil)
flash:SetScript("OnShow", OnShow)
flash:SetScript("OnHide", OnHide)
_G["ChatFrame"..i.."TabLeft"]:Hide()
_G["ChatFrame"..i.."TabMiddle"]:Hide()
_G["ChatFrame"..i.."TabRight"]:Hide()
tab:SetScript("OnEnter", OnEnter)
tab:SetScript("OnLeave", OnLeave)
tab.SetAlpha = dummy
if(chat == SELECTED_CHAT_FRAME) then
tabText:SetTextColor(.64, .207, .933)
else
tabText:SetTextColor(1, 1, 1)
end
tab:GetHighlightTexture():SetTexture(nil)
if(chat.isDocked) then
tab:Show()
tab.Hide = dummy
else
tab.SetAlpha = nil
tab.Hide = nil
end
end
end
event.PLAYER_LOGIN = function()
rollCF()
hooksecurefunc("FCF_OpenNewWindow", rollCF)
hooksecurefunc("FCF_Close", function(self)
UIParent.Hide(_G[self:GetName().."Tab"])
end)
local _orig_FCF_Tab_OnClick = FCF_Tab_OnClick
FCF_Tab_OnClick = function(button)
_orig_FCF_Tab_OnClick(button)
for k, v in pairs(DOCKED_CHAT_FRAMES) do
if(v == SELECTED_CHAT_FRAME) then
_G[v:GetName().."TabText"]:SetTextColor(.64, .207, .933)
else
_G[v:GetName().."TabText"]:SetTextColor(1, 1, 1)
end
end
end
FCF_ChatTabFadeFinished = dummy
end
This is still not ideal. With these changes you can't get to the menu of the chat frames, so do all your chatframe customizations before enabling the addon.
Originally posted by Akustik Hi I've been using a lot of ur addons and since u haven't uploaded oPanel here i decided to ask in here. oPanel's been doing something screwy lately -- when i start WoW or /rl the chat frame when oPanel is shrunk and when i expand it is not appearing as it should. Think it's best to post a pic : Problem 1 Problem 2
Any idea how to fix this? ... it only affects Chat Frame, Combat Log is functioning properly
Sending me a PM would have been the most logical choice .
However, unlock the chatframe, move it, reload ui, it should be fixed . It also might be that your chatframe is being moved by the UI because it's "outside" the screen. Take a look at IHasNoScope and tear out the FCF hook that's there. The comment it has should be obvious enough I believe.
Hi I've been using a lot of ur addons and since u haven't uploaded oPanel here i decided to ask in here. oPanel's been doing something screwy lately -- when i start WoW or /rl the chat frame when oPanel is shrunk and when i expand it is not appearing as it should. Think it's best to post a pic : Problem 1 Problem 2
Any idea how to fix this? ... it only affects Chat Frame, Combat Log is functioning properly
Originally posted by dragongirl411 Hi Haste, I've been using Fane for quite some time now.
My question is, can I modify the .lua file so that the chat tabs appear on the bottom of the chat window? I've been teaching myself .lua as I go along, and managed to change my font and font colors myself, but for this I'm stumped.
Thanks.
This is very far outside the scope of Fane. Anyhow... The common way to solve issues like this is to block the blizzard code from execution what it should, or trick it into doing something else. A block you can do by hooking the functions that handle the arranging of the tabs, and just have it execute your function instead. This is most likely the easiest way to solve it.
You could also place a function on the chattab to act as a proxy to the setpoint function, as the chat tabs (like all other widget elements) have a metatable lookup on their respective widget table.
Now, this really isn't my (or fane's issue) at all. I recommend that you make a post on any of the coding related forums.
Hi Haste, I've been using Fane for quite some time now.
My question is, can I modify the .lua file so that the chat tabs appear on the bottom of the chat window? I've been teaching myself .lua as I go along, and managed to change my font and font colors myself, but for this I'm stumped.