-- HideBlizzardAB.lua local microbuttons = { CharacterMicroButton, SpellbookMicroButton, TalentMicroButton, AchievementMicroButton, QuestLogMicroButton, GuildMicroButton, LFDMicroButton, CollectionsMicroButton, EJMicroButton, StoreMicroButton, MainMenuMicroButton, }; local micromenu = nil; local function moveMicroMenu() for i, button in ipairs(microbuttons) do -- TODO save original points to move back to override actionbar button:SetParent(micromenu); button:ClearAllPoints(); if i == 1 then button:SetPoint("TOPRIGHT"); else button:SetPoint("TOPRIGHT", microbuttons[i-1], "BOTTOMRIGHT", 0, 22); end end end -- based on Bartender4 local function hide() -- Hidden parent frame local UIHider = CreateFrame("Frame"); UIHider:Hide(); MultiBarBottomLeft:SetParent(UIHider); MultiBarBottomRight:SetParent(UIHider); MultiBarLeft:SetParent(UIHider); MultiBarRight:SetParent(UIHider); -- Hide MultiBar Buttons, but keep the bars alive for i=1,12 do _G["ActionButton" .. i]:Hide(); _G["ActionButton" .. i]:UnregisterAllEvents(); _G["ActionButton" .. i]:SetAttribute("statehidden", true); _G["MultiBarBottomLeftButton" .. i]:Hide(); _G["MultiBarBottomLeftButton" .. i]:UnregisterAllEvents(); _G["MultiBarBottomLeftButton" .. i]:SetAttribute("statehidden", true); _G["MultiBarBottomRightButton" .. i]:Hide(); _G["MultiBarBottomRightButton" .. i]:UnregisterAllEvents(); _G["MultiBarBottomRightButton" .. i]:SetAttribute("statehidden", true); _G["MultiBarRightButton" .. i]:Hide(); _G["MultiBarRightButton" .. i]:UnregisterAllEvents(); _G["MultiBarRightButton" .. i]:SetAttribute("statehidden", true); _G["MultiBarLeftButton" .. i]:Hide(); _G["MultiBarLeftButton" .. i]:UnregisterAllEvents(); _G["MultiBarLeftButton" .. i]:SetAttribute("statehidden", true); end micromenu = CreateFrame("Frame", "OmaMicroMenu", UIParent); micromenu:SetPoint("RIGHT"); micromenu:SetWidth(1); micromenu:SetHeight(11*58); moveMicroMenu(); hooksecurefunc("UpdateMicroButtons", moveMicroMenu); OverrideActionBar:HookScript("OnShow", moveMicroMenu); -- TODO have in orig position OverrideActionBar:HookScript("OnHide", moveMicroMenu); PetBattleFrame.BottomFrame.MicroButtonFrame:HookScript("OnShow", moveMicroMenu); PetBattleFrame.BottomFrame.MicroButtonFrame:HookScript("OnHide", moveMicroMenu); --UIPARENT_MANAGED_FRAME_POSITIONS["MultiBarRight"] = nil; --UIPARENT_MANAGED_FRAME_POSITIONS["MultiBarLeft"] = nil; --UIPARENT_MANAGED_FRAME_POSITIONS["MultiBarBottomLeft"] = nil; --UIPARENT_MANAGED_FRAME_POSITIONS["MultiBarBottomRight"] = nil; UIPARENT_MANAGED_FRAME_POSITIONS["MainMenuBar"] = nil; UIPARENT_MANAGED_FRAME_POSITIONS["StanceBarFrame"] = nil; UIPARENT_MANAGED_FRAME_POSITIONS["ZoneAbilityFrame"] = nil; UIPARENT_MANAGED_FRAME_POSITIONS["ExtraActionBarFrame"] = nil; UIPARENT_MANAGED_FRAME_POSITIONS["PossessBarFrame"] = nil; UIPARENT_MANAGED_FRAME_POSITIONS["PETACTIONBAR_YPOS"] = nil; --MainMenuBar:UnregisterAllEvents(); --MainMenuBar:Hide(); --MainMenuBar:SetParent(UIHider); MainMenuBar:EnableMouse(false); -- TODO vehicle controller handled overridebar and mainmenubar in Bartender, needed? --local vehicleController = CreateFrame("Frame", nil, nil, "SecureHandlerStateTemplate"); local animations = {MainMenuBar.slideOut:GetAnimations()}; animations[1]:SetOffset(0,0); animations = {OverrideActionBar.slideOut:GetAnimations()}; animations[1]:SetOffset(0,0); --MainMenuBarArtFrame:UnregisterEvent("PLAYER_ENTERING_WORLD"); --MainMenuBarArtFrame:UnregisterEvent("BAG_UPDATE"); --MainMenuBarArtFrame:UnregisterEvent("ACTIONBAR_PAGE_CHANGED"); --MainMenuBarArtFrame:UnregisterEvent("KNOWN_CURRENCY_TYPES_UPDATE"); --MainMenuBarArtFrame:UnregisterEvent("CURRENCY_DISPLAY_UPDATE"); --MainMenuBarArtFrame:UnregisterEvent("ADDON_LOADED"); --MainMenuBarArtFrame:UnregisterEvent("UNIT_ENTERING_VEHICLE"); --MainMenuBarArtFrame:UnregisterEvent("UNIT_ENTERED_VEHICLE"); --MainMenuBarArtFrame:UnregisterEvent("UNIT_EXITING_VEHICLE"); --MainMenuBarArtFrame:UnregisterEvent("UNIT_EXITED_VEHICLE"); MainMenuBarArtFrame:Hide(); MainMenuBarArtFrame:SetParent(UIHider); MainMenuExpBar:UnregisterAllEvents(); MainMenuExpBar:Hide(); MainMenuExpBar:SetParent(UIHider); MainMenuExpBar:SetDeferAnimationCallback(nil); MainMenuBarMaxLevelBar:Hide(); MainMenuBarMaxLevelBar:SetParent(UIHider); ReputationWatchBar:UnregisterAllEvents(); ReputationWatchBar:Hide(); ReputationWatchBar:SetParent(UIHider); -- TODO create artifact bar ArtifactWatchBar:SetParent(UIHider); ArtifactWatchBar.StatusBar:SetDeferAnimationCallback(nil); HonorWatchBar:SetParent(UIHider); HonorWatchBar.StatusBar:SetDeferAnimationCallback(nil); --PossessBarFrame:UnregisterAllEvents(); PossessBarFrame:Hide(); PossessBarFrame:SetParent(UIHider); ZoneAbilityFrame:ClearAllPoints(); ZoneAbilityFrame:SetPoint("BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", -450, 150); ExtraActionBarFrame:ClearAllPoints(); ExtraActionBarFrame:SetPoint("BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", -450, 120); MainMenuBarVehicleLeaveButton:SetParent(UIParent); MainMenuBarVehicleLeaveButton:ClearAllPoints(); MainMenuBarVehicleLeaveButton:SetPoint("BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", -100, 5); hooksecurefunc("MainMenuBarVehicleLeaveButton_Update", function() if CanExitVehicle() then -- TODO check if needed --MainMenuBarVehicleLeaveButton:ClearAllPoints(); --MainMenuBarVehicleLeaveButton:SetPoint("BOTTOMRIGHT", UIParent, "BOTTOMRIGHT", -100, 5); MainMenuBarVehicleLeaveButton:Show(); end end); if PlayerTalentFrame then PlayerTalentFrame:UnregisterEvent("ACTIVE_TALENT_GROUP_CHANGED"); else hooksecurefunc("TalentFrame_LoadUI", function() PlayerTalentFrame:UnregisterEvent("ACTIVE_TALENT_GROUP_CHANGED"); end); end --[[StanceBarFrame:UnregisterAllEvents() StanceBarFrame:Hide() StanceBarFrame:SetParent(UIHider) --BonusActionBarFrame:UnregisterAllEvents() --BonusActionBarFrame:Hide() --BonusActionBarFrame:SetParent(UIHider) PetActionBarFrame:UnregisterAllEvents() PetActionBarFrame:Hide() PetActionBarFrame:SetParent(UIHider) --]] end hide();