Quantcast
LF Mod to move chat tabs below chatframe. - WoWInterface
Thread Tools Display Modes
08-30-08, 07:36 AM   #1
karmamuscle
A Cobalt Mageweaver
 
karmamuscle's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2008
Posts: 205
LF Mod to move chat tabs below chatframe.

Hi,
would it be possible to move the chat tabs to the bottom of the chatframe?
I use Fane to mod the look of the tabs, but would like them to be below the chatframe instead.
  Reply With Quote
08-30-08, 07:56 AM   #2
p3lim
A Pyroguard Emberseer
 
p3lim's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 1,703
try to add this after line 108:
Code:
_G[v:GetName()..'Tab']:SetPoint('TOPLEFT', _G[v:GetParent():GetName()], 'BOTTOMLEFT', x, y)
Make sure to replace x and y with some numbers for the offset.
  Reply With Quote
08-30-08, 08:13 AM   #3
karmamuscle
A Cobalt Mageweaver
 
karmamuscle's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2008
Posts: 205
Originally Posted by p3lim View Post
try to add this after line 108:
Thank you for the quick answer.
After reloadUI they were placed at their default position, when any tab is clicked, they move to the new position, but are not clickable.

Edit: After I tabbed back into WoW, all but the General tab had moved back to default position and working until one is clicked again. They revert back to default after 10-15 secs.
Another edit: They revert back whenever any chat tab recieves an update.

Last edited by karmamuscle : 08-30-08 at 08:17 AM.
  Reply With Quote
08-30-08, 08:23 AM   #4
p3lim
A Pyroguard Emberseer
 
p3lim's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 1,703
It was only a test, kinda knew it would work so easily.

I have enough issues with 3 addons at the moment, but someone might come along to help you, if not, ill be back later.
  Reply With Quote
08-30-08, 08:27 AM   #5
karmamuscle
A Cobalt Mageweaver
 
karmamuscle's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2008
Posts: 205
Originally Posted by p3lim View Post
It was only a test, kinda knew it would work so easily.

I have enough issues with 3 addons at the moment, but someone might come along to help you, if not, ill be back later.
Thank you and I hope so
  Reply With Quote
08-30-08, 08:49 AM   #6
Seerah
Fishing Trainer
 
Seerah's Avatar
WoWInterface Super Mod
Featured
Join Date: Oct 2006
Posts: 10,759
This is requested often, and has not been done. May be because it's very difficult and/or not worth it or that it just cannot be done.
__________________
"You'd be surprised how many people violate this simple principle every day of their lives and try to fit square pegs into round holes, ignoring the clear reality that Things Are As They Are." -Benjamin Hoff, The Tao of Pooh

  Reply With Quote
08-30-08, 09:00 AM   #7
karmamuscle
A Cobalt Mageweaver
 
karmamuscle's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2008
Posts: 205
Originally Posted by Seerah View Post
This is requested often, and has not been done. May be because it's very difficult and/or not worth it or that it just cannot be done.
That doesn't sound promising
  Reply With Quote
07-09-11, 07:35 PM   #8
Aprikot
A Frostmaul Preserver
 
Aprikot's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2010
Posts: 284
Hate to necro this, but anyone know if chat tab relocation has been accomplished to date? I'm guessing not or you'd see it around more, but just thought I'd ask.

My own feeble attempts included a SetPoint against the individual tab names for testing (e.g., SetPoint:ChatFrame1Tab("CENTER", UIParent, "CENTER")), and also hooking FCF_SetTabPosition() from Blizzard_FrameXML\FloatingChatFrame.lua to no avail:

lua Code:
  1. hooksecurefunc("FCF_SetTabPosition", function(chatFrame, x)
  2.     local chatTab = _G[chatFrame:GetName().."Tab"];
  3.     chatTab:ClearAllPoints();
  4.     chatTab:SetPoint("BOTTOMLEFT", chatFrame:GetName().."Background", "BOTTOMLEFT", x+2, -50);
  5. end);

Edit: I'm also looking at Chatter's code for a solution after reading various posts on the subject. So far it looks like Chatter can "stretch" the tabs for an offset effect?

Last edited by Aprikot : 07-09-11 at 07:40 PM.
  Reply With Quote
07-09-11, 07:44 PM   #9
Othgar
"That" Guy
 
Othgar's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2010
Posts: 228
This would be pretty sweet. At least two of my UI's have chat located at the top of my screen. from what I see the thread it looks like you not only have to modify the tab, but the tab when clicked and the notification glow.

Maybe something that could be coded into Nib Chat Tabs? I'll play around with it later tonight and see if I can get anything to work.
__________________


  Reply With Quote
07-09-11, 09:14 PM   #10
Aprikot
A Frostmaul Preserver
 
Aprikot's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2010
Posts: 284
Originally Posted by Othgar View Post
This would be pretty sweet. At least two of my UI's have chat located at the top of my screen. from what I see the thread it looks like you not only have to modify the tab, but the tab when clicked and the notification glow.

Maybe something that could be coded into Nib Chat Tabs? I'll play around with it later tonight and see if I can get anything to work.
Thanks for the Nib suggestion! I'd wound up throwing Nib's text offset code into my edit of Shestak's edit of haste's Fane.

The tab titles relocate, but not the associated clickable regions (haven't figured it out yet /sigh)...

lua Code:
  1. local TabTextMoved = {}
  2. function nibchat(test)
  3.     local chat, tab, flash
  4.     for i = 1, 10 do
  5.         chat = _G["ChatFrame"..i]
  6.         tab = _G["ChatFrame"..i.."Tab"]
  7.         flash = _G["ChatFrame"..i.."TabFlash"]
  8.        
  9.         if not test then
  10.             if not TabTextMoved[i] then
  11.                 local fs = tab:GetFontString()
  12.                 local point, relativeTo, relativePoint, xOfs, yOfs = fs:GetPoint()
  13.            
  14.                 local xAdj, yAdj = 0, 0
  15.                 if IsCombatLog(chat) then
  16.                     xAdj = 0
  17.                     yAdj = -130
  18.                 else
  19.                     xAdj = 0
  20.                     yAdj = -130
  21.                 end
  22.                 fs:SetPoint(point, relativeTo, relativePoint, xOfs + xAdj, yOfs + yAdj)
  23.            
  24.                 tab:SetScript("OnEnter", ChatTab_OnEnter)
  25.                 tab:SetScript("OnLeave", ChatTab_OnLeave)
  26.                
  27.                 TabTextMoved[i] = true
  28.             end
  29.         end        
  30.     end
  31. end
  32. nibchat()
  Reply With Quote
07-09-11, 11:24 PM   #11
Othgar
"That" Guy
 
Othgar's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2010
Posts: 228
ok lets try this lol I did some more digging around and finally I think I found something in FloatingChatFrame.xml

Releveant section: lines 742-805

Code:
<Layers>
            <Layer level="BACKGROUND">
                <Texture name="$parentLeft" file="Interface\ChatFrame\ChatFrameTab-BGLeft" parentKey="leftTexture">
                    <Size>
                        <AbsDimension x="16" y="32"/>
                    </Size>
                    <Anchors>
                        <Anchor point="TOPLEFT"/>
                    </Anchors>
                </Texture>
                <Texture name="$parentMiddle" file="Interface\ChatFrame\ChatFrameTab-BGMid" horizTile="true" parentKey="middleTexture">
                    <Size>
                        <AbsDimension x="44" y="32"/>
                    </Size>
                    <Anchors>
                        <Anchor point="LEFT" relativeTo="$parentLeft" relativePoint="RIGHT"/>
                    </Anchors>
                </Texture>
                <Texture name="$parentRight" file="Interface\ChatFrame\ChatFrameTab-BGRight" parentKey="rightTexture">
                    <Size>
                        <AbsDimension x="16" y="32"/>
                    </Size>
                    <Anchors>
                        <Anchor point="LEFT" relativeTo="$parentMiddle" relativePoint="RIGHT"/>
                    </Anchors>
                </Texture>
            </Layer>
            <Layer level="BORDER">
                <Texture name="$parentSelectedLeft" file="Interface\ChatFrame\ChatFrameTab-SelectedLeft" alphaMode="ADD" parentKey="leftSelectedTexture">
                    <Size>
                        <AbsDimension x="16" y="32"/>
                    </Size>
                    <Anchors>
                        <Anchor point="TOPLEFT" relativeTo="$parentLeft" relativePoint="TOPLEFT"/>
                        <Anchor point="BOTTOMRIGHT" relativeTo="$parentLeft" relativePoint="BOTTOMRIGHT"/>
                    </Anchors>
                </Texture>
                <Texture name="$parentSelectedMiddle" file="Interface\ChatFrame\ChatFrameTab-SelectedMid" horizTile="true" alphaMode="ADD" parentKey="middleSelectedTexture">
                    <Size>
                        <AbsDimension x="44" y="32"/>
                    </Size>
                    <Anchors>
                        <Anchor point="TOPLEFT" relativeTo="$parentMiddle" relativePoint="TOPLEFT"/>
                        <Anchor point="BOTTOMRIGHT" relativeTo="$parentMiddle" relativePoint="BOTTOMRIGHT"/>
                    </Anchors>
                </Texture>
                <Texture name="$parentSelectedRight" file="Interface\ChatFrame\ChatFrameTab-SelectedRight" alphaMode="ADD" parentKey="rightSelectedTexture">
                    <Size>
                        <AbsDimension x="16" y="32"/>
                    </Size>
                    <Anchors>
                        <Anchor point="TOPLEFT" relativeTo="$parentRight" relativePoint="TOPLEFT"/>
                        <Anchor point="BOTTOMRIGHT" relativeTo="$parentRight" relativePoint="BOTTOMRIGHT"/>
                    </Anchors>
                </Texture>
                <Texture name="$parentGlow" file="Interface\ChatFrame\ChatFrameTab-NewMessage" parentKey="glow" alphaMode="ADD" hidden="true">
                    <Anchors>
                        <Anchor point="BOTTOMLEFT" x="8"/>
                        <Anchor point="BOTTOMRIGHT" x="-8"/>
                    </Anchors>
                </Texture>
            </Layer>
            <Layer level="HIGHLIGHT">
                <Texture name="$parentHighlightLeft" file="Interface\ChatFrame\ChatFrameTab-HighlightLeft" alphaMode="ADD" parentKey="leftHighlightTexture">
                    <Size>
                        <AbsDimension x="16" y="32"/>
                    </Size>
                    <Anchors>
                        <Anchor point="TOPLEFT" relativeTo="$parentLeft" relativePoint="TOPLEFT"/>
                        <Anchor point="BOTTOMRIGHT" relativeTo="$parentLeft" relativePoint="BOTTOMRIGHT"/>
                    </Anchors>
                </Texture>
                <Texture name="$parentHighlightMiddle" file="Interface\ChatFrame\ChatFrameTab-HighlightMid" horizTile="true" alphaMode="ADD" parentKey="middleHighlightTexture">
                    <Size>
                        <AbsDimension x="44" y="32"/>
                    </Size>
                    <Anchors>
                        <Anchor point="TOPLEFT" relativeTo="$parentMiddle" relativePoint="TOPLEFT"/>
                        <Anchor point="BOTTOMRIGHT" relativeTo="$parentMiddle" relativePoint="BOTTOMRIGHT"/>
                    </Anchors>
                </Texture>
                <Texture name="$parentHighlightRight" file="Interface\ChatFrame\ChatFrameTab-HighlightRight" alphaMode="ADD" parentKey="rightHighlightTexture">
                    <Size>
                        <AbsDimension x="16" y="32"/>
                    </Size>
                    <Anchors>
                        <Anchor point="TOPLEFT" relativeTo="$parentRight" relativePoint="TOPLEFT"/>
                        <Anchor point="BOTTOMRIGHT" relativeTo="$parentRight" relativePoint="BOTTOMRIGHT"/>
                    </Anchors>
                </Texture>
            </Layer>
        </Layers>
And Also: 869-902

Code:
<!-- Main chat window -->
    <Button name="ChatFrame1Tab" inherits="ChatTabTemplate" id="1"/>
    <ScrollingMessageFrame name="ChatFrame1" hidden="false" inherits="FloatingChatFrameTemplate" id="1">
        <Size>
            <AbsDimension x="430" y="120"/>
        </Size>
        <Anchors>
            <Anchor point="BOTTOMLEFT">
                <Offset>
                    <AbsDimension x="32" y="95"/>
                </Offset>
            </Anchor>
        </Anchors>
        <Scripts>
            <OnLoad>
                tinsert(CHAT_FRAMES, self:GetName());
                ChatFrame_OnLoad(self);
                DEFAULT_CHAT_FRAME = ChatFrame1;
                SELECTED_CHAT_FRAME = ChatFrame1;
                SELECTED_DOCK_FRAME = ChatFrame1;
                 
                self.isStaticDocked = true;
                FCFDock_SetPrimary(GENERAL_CHAT_DOCK, self);
                ChatEdit_SetLastActiveWindow(self.editBox);
                 
                self:SetClampRectInsets(-35, 35, 38, -50);
                self:RegisterEvent("UPDATE_CHAT_WINDOWS");
                self:RegisterEvent("UPDATE_FLOATING_CHAT_WINDOWS");
            </OnLoad>
            <OnEvent>
                ChatFrame_OnEvent(self, event, ...);
                FloatingChatFrame_OnEvent(self, event, ...);
            </OnEvent>
        </Scripts>
I just added the FloatingChatFrame.lua and .xml files into a very generic addon and played with the anchor points in the first code section above and had a little succes...
__________________



Last edited by Othgar : 07-09-11 at 11:38 PM.
  Reply With Quote
07-09-11, 11:55 PM   #12
Othgar
"That" Guy
 
Othgar's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2010
Posts: 228
OK this floating chat frame stuff is way over my head lol hope I helped a least a little. Good luck!
__________________


  Reply With Quote
07-10-11, 12:33 AM   #13
nin
A Cobalt Mageweaver
AddOn Author - Click to view addons
Join Date: Dec 2008
Posts: 213
Like in this screenie?

http://s.wowinterface.com/preview/pvw50573.jpg

if yes, ask lanerra.. i think i saw someone do this in the comments section of neav ui.. not sure though.

-_-v
  Reply With Quote
07-10-11, 01:20 AM   #14
Othgar
"That" Guy
 
Othgar's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2010
Posts: 228
Originally Posted by nin View Post
Like in this screenie?

http://s.wowinterface.com/preview/pvw50573.jpg

if yes, ask lanerra.. i think i saw someone do this in the comments section of neav ui.. not sure though.

-_-v
Awesome thanks nin!
__________________


  Reply With Quote
07-10-11, 01:36 AM   #15
sylvanaar
A Warpwood Thunder Caller
AddOn Author - Click to view addons
Join Date: Sep 2006
Posts: 92
Try running this script:

Code:
/script GENERAL_CHAT_DOCK:ClearAllPoints() GENERAL_CHAT_DOCK:SetPoint("TOPLEFT", ChatFrame1, "BOTTOMLEFT", 0, -6) GENERAL_CHAT_DOCK:SetWidth(ChatFrame1:GetWidth())
  Reply With Quote
07-10-11, 02:38 AM   #16
Othgar
"That" Guy
 
Othgar's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2010
Posts: 228
Originally Posted by sylvanaar View Post
Try running this script:

Code:
/script GENERAL_CHAT_DOCK:ClearAllPoints() GENERAL_CHAT_DOCK:SetPoint("TOPLEFT", ChatFrame1, "BOTTOMLEFT", 0, -6) GENERAL_CHAT_DOCK:SetWidth(ChatFrame1:GetWidth())
Script works good for now, now just to skin them and prettify things a bit

added this to nib Chat Tabs at line 339 and it worked wonderfully. Thanks!
__________________



Last edited by Othgar : 07-10-11 at 02:43 AM. Reason: update
  Reply With Quote
07-15-11, 11:34 AM   #17
Aprikot
A Frostmaul Preserver
 
Aprikot's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2010
Posts: 284
Originally Posted by sylvanaar View Post
Try running this script:

Code:
/script GENERAL_CHAT_DOCK:ClearAllPoints() GENERAL_CHAT_DOCK:SetPoint("TOPLEFT", ChatFrame1, "BOTTOMLEFT", 0, -6) GENERAL_CHAT_DOCK:SetWidth(ChatFrame1:GetWidth())
Works great, thanks sylv!

Added to Fane:

Code:
GENERAL_CHAT_DOCK:ClearAllPoints()
GENERAL_CHAT_DOCK:SetPoint("TOPLEFT", ChatFrame1, "BOTTOMLEFT", 0, -1)
GENERAL_CHAT_DOCK:SetWidth(ChatFrame1:GetWidth())
and voilą:

  Reply With Quote
07-15-11, 11:46 AM   #18
Othgar
"That" Guy
 
Othgar's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2010
Posts: 228
Out of curiosity and since we're talking about chat tabs what are you using to skin your chat tabs?

nvm I'm an idiot
__________________



Last edited by Othgar : 07-15-11 at 01:06 PM. Reason: derp derp....
  Reply With Quote
07-15-11, 01:39 PM   #19
Aprikot
A Frostmaul Preserver
 
Aprikot's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2010
Posts: 284
Originally Posted by Othgar View Post
Out of curiosity and since we're talking about chat tabs what are you using to skin your chat tabs?

nvm I'm an idiot
Not at all...Fane is doing the text + Shestak's panel API for the bg.
  Reply With Quote
07-15-11, 07:24 PM   #20
Othgar
"That" Guy
 
Othgar's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2010
Posts: 228
Originally Posted by Aprikot View Post
Not at all...Fane is doing the text + Shestak's panel API for the bg.

huh I'll have to look into that. I did some looking already and couldn't find anything for the Panel API on this site though...but I suppose I have to go to work for the night. Thanks for the info.
__________________


  Reply With Quote

WoWInterface » AddOns, Compilations, Macros » AddOn Search/Requests » LF Mod to move chat tabs below chatframe.

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off