WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   AddOn Search/Requests (https://www.wowinterface.com/forums/forumdisplay.php?f=6)
-   -   LF Mod to move chat tabs below chatframe. (https://www.wowinterface.com/forums/showthread.php?t=17967)

karmamuscle 08-30-08 07:36 AM

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.

p3lim 08-30-08 07:56 AM

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.

karmamuscle 08-30-08 08:13 AM

Quote:

Originally Posted by p3lim (Post 100759)
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.

p3lim 08-30-08 08:23 AM

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.

karmamuscle 08-30-08 08:27 AM

Quote:

Originally Posted by p3lim (Post 100762)
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 ;)

Seerah 08-30-08 08:49 AM

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.

karmamuscle 08-30-08 09:00 AM

Quote:

Originally Posted by Seerah (Post 100764)
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 :D

Aprikot 07-09-11 07:35 PM

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?

Othgar 07-09-11 07:44 PM

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.

Aprikot 07-09-11 09:14 PM

Quote:

Originally Posted by Othgar (Post 241196)
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. :p

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()

Othgar 07-09-11 11:24 PM

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...

Othgar 07-09-11 11:55 PM

OK this floating chat frame stuff is way over my head lol hope I helped a least a little. Good luck!

nin 07-10-11 12:33 AM

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

Othgar 07-10-11 01:20 AM

Quote:

Originally Posted by nin (Post 241204)
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!

sylvanaar 07-10-11 01:36 AM

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())

Othgar 07-10-11 02:38 AM

Quote:

Originally Posted by sylvanaar (Post 241207)
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!

Aprikot 07-15-11 11:34 AM

Quote:

Originally Posted by sylvanaar (Post 241207)
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ą:


Othgar 07-15-11 11:46 AM

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

Aprikot 07-15-11 01:39 PM

Quote:

Originally Posted by Othgar (Post 241511)
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.

Othgar 07-15-11 07:24 PM

Quote:

Originally Posted by Aprikot (Post 241516)
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.


All times are GMT -6. The time now is 01:44 AM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI