40 lines
1.2 KiB
Lua
40 lines
1.2 KiB
Lua
local _G = ShaguTweaks.GetGlobalEnv()
|
|
local T = ShaguTweaks.T
|
|
local rgbhex = ShaguTweaks.rgbhex
|
|
|
|
local module = ShaguTweaks:register({
|
|
title = T["Center Text Input Box"],
|
|
description = T["Move the chat input box to the center of the screen."],
|
|
expansions = { ["vanilla"] = true, ["tbc"] = false },
|
|
category = T["Chat"],
|
|
maintainer = "@shagu (GitHub)",
|
|
enabled = nil,
|
|
})
|
|
|
|
local dodge_frames = {
|
|
MainMenuBarArtFrame, MultiBarBottomLeft, MultiBarBottomRight, PetActionBarFrame, ShapeshiftBarFrame
|
|
}
|
|
|
|
module.enable = function(self)
|
|
ChatFrameEditBox:ClearAllPoints()
|
|
ChatFrameEditBox:SetWidth(300)
|
|
|
|
-- reload custom frame positions after original frame manage runs
|
|
local hookUIParent_ManageFramePositions = UIParent_ManageFramePositions
|
|
UIParent_ManageFramePositions = function(a1, a2, a3)
|
|
-- run original function
|
|
hookUIParent_ManageFramePositions(a1, a2, a3)
|
|
|
|
-- let inputbox dodge certain frames
|
|
local top = 0
|
|
for id, frame in pairs(dodge_frames) do
|
|
if frame:IsVisible() and frame:GetTop() then
|
|
top = math.max(top, frame:GetTop())
|
|
end
|
|
end
|
|
|
|
-- set new position
|
|
ChatFrameEditBox:SetPoint("BOTTOM", UIParent, "BOTTOM", 0, top)
|
|
end
|
|
end
|