2 -- 2019 Aleksi Blinnikka
4 local InCombatLockdown = InCombatLockdown;
5 -- hiding Blizzard frames somewhat based on ShadowedUF
6 local function hideBlizzardRaidButton()
7 if InCombatLockdown() then return end
8 local manager = CompactRaidFrameManager;
9 -- remove show and unlock buttons from manager
10 manager.displayFrame.hiddenModeToggle:Hide();
11 manager.displayFrame.lockedModeToggle:Hide();
15 local function hideBlizzardRaid()
16 if hidden then return end
19 if InCombatLockdown() then return end
20 CompactRaidFrameContainer:Hide();
21 local shown = CompactRaidFrameManager_GetSetting("IsShown");
22 if shown and shown ~= "0" then
23 CompactRaidFrameManager_SetSetting("IsShown", "0");
27 CompactRaidFrameContainer:UnregisterAllEvents();
28 -- there may still be frames created at startup getting events
29 for i=1,MAX_RAID_MEMBERS do
30 local frame = _G["CompactRaidFrame"..i];
31 if not frame then break end
32 frame:UnregisterAllEvents();
34 hooksecurefunc("CompactRaidFrameManager_UpdateShown", hide);
36 CompactRaidFrameContainer:HookScript("OnShow", hide);
37 hooksecurefunc("CompactRaidFrameManager_UpdateOptionsFlowContainer", hideBlizzardRaidButton);
38 hideBlizzardRaidButton();
41 for _, frame in pairs({FocusFrame, FocusFrameToT, FocusFrameSpellBar}) do
42 frame:UnregisterAllEvents();
43 if frame.healthbar then frame.healthbar:UnregisterAllEvents() end
44 if frame.manabar then frame.manabar:UnregisterAllEvents() end
45 if frame.spellbar then frame.spellbar:UnregisterAllEvents() end
46 if frame.powerBarAlt then frame.powerBarAlt:UnregisterAllEvents() end
51 local hider = CreateFrame("Frame");
53 hider:RegisterEvent("PLAYER_LOGIN");
54 hider:RegisterEvent("PLAYER_REGEN_ENABLED");
55 hider:SetScript("OnEvent", function(self, event)
56 if event == "PLAYER_REGEN_ENABLED" then
57 -- if CompactRaidFrameManager_UpdateOptionsFlowContainer was called in combat
58 -- couldn't hide the button
59 hideBlizzardRaidButton();
60 elseif event == "PLAYER_LOGIN" then