+-- hiding Blizzard frames somewhat based on ShadowedUF
+local function hideBlizzardRaidButton()
+ if InCombatLockdown() then return end
+ local manager = CompactRaidFrameManager;
+ -- remove show and unlock buttons from manager
+ manager.displayFrame.hiddenModeToggle:Hide();
+ manager.displayFrame.lockedModeToggle:Hide();
+end
+
+local hidden = false;
+local function hideBlizzardRaid()
+ if hidden then return end
+ hidden = true;
+ local function hide()
+ if InCombatLockdown() then return end
+ CompactRaidFrameContainer:Hide();
+ local shown = CompactRaidFrameManager_GetSetting("IsShown");
+ if shown and shown ~= "0" then
+ CompactRaidFrameManager_SetSetting("IsShown", "0");
+ end
+ end
+
+ CompactRaidFrameContainer:UnregisterAllEvents();
+ -- there may still be frames created at startup getting events
+ for i=1,MAX_RAID_MEMBERS do
+ local frame = _G["CompactRaidFrame"..i];
+ if not frame then break end
+ frame:UnregisterAllEvents();
+ end
+ hooksecurefunc("CompactRaidFrameManager_UpdateShown", hide);
+ hide();
+ CompactRaidFrameContainer:HookScript("OnShow", hide);
+ hooksecurefunc("CompactRaidFrameManager_UpdateOptionsFlowContainer", hideBlizzardRaidButton);
+ hideBlizzardRaidButton();
+
+ -- hide focus frame
+ for _, frame in pairs({FocusFrame, FocusFrameToT}) do
+ frame:UnregisterAllEvents();
+ frame.healthbar:UnregisterAllEvents();
+ frame.manabar:UnregisterAllEvents();
+ if frame.spellbar then frame.spellbar:UnregisterAllEvents() end
+ if frame.powerBarAlt then frame.powerBarAlt:UnregisterAllEvents() end
+ frame:Hide();
+ end
+end
+