Skip to content

Instantly share code, notes, and snippets.

@Meorawr
Last active August 31, 2020 11:42
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Meorawr/135d5b266789546e0f63892bb2aed6a9 to your computer and use it in GitHub Desktop.
Save Meorawr/135d5b266789546e0f63892bb2aed6a9 to your computer and use it in GitHub Desktop.
"Can you recommend me a minimal UI?"
-- Set a user waypoint and begin tracking it, then run the below script and
-- enter any portal that will trigger a loading screen transition.
--
-- Enjoy your new super-minimalistic user interface.
local ScriptHandlers = {
"OnLoad",
"OnAttributeChanged",
"OnSizeChanged",
"OnEvent",
"OnUpdate",
"OnShow",
"OnHide",
"OnEnter",
"OnLeave",
"OnMouseDown",
"OnMouseUp",
"OnMouseWheel",
"OnDragStart",
"OnDragStop",
"OnReceiveDrag",
"PreClick",
"OnClick",
"PostClick",
"OnDoubleClick",
"OnValueChanged",
"OnMinMaxChanged",
"OnUpdateModel",
"OnModelLoaded",
"OnAnimStarted",
"OnAnimFinished",
"OnEnterPressed",
"OnEscapePressed",
"OnSpacePressed",
"OnTabPressed",
"OnTextChanged",
"OnTextSet",
"OnCursorChanged",
"OnInputLanguageChanged",
"OnEditFocusGained",
"OnEditFocusLost",
"OnHorizontalScroll",
"OnVerticalScroll",
"OnScrollRangeChanged",
"OnCharComposition",
"OnChar",
"OnKeyDown",
"OnKeyUp",
"OnGamePadButtonDown",
"OnGamePadButtonUp",
"OnGamePadStick",
"OnColorSelect",
"OnHyperlinkEnter",
"OnHyperlinkLeave",
"OnHyperlinkClick",
"OnMessageScrollChanged",
"OnMovieFinished",
"OnMovieShowSubtitle",
"OnMovieHideSubtitle",
"OnTooltipSetDefaultAnchor",
"OnTooltipCleared",
"OnTooltipAddMoney",
"OnTooltipSetUnit",
"OnTooltipSetItem",
"OnTooltipSetSpell",
"OnTooltipSetQuest",
"OnTooltipSetAchievement",
"OnTooltipSetFramestack",
"OnTooltipSetEquipmentSet",
"OnEnable",
"OnDisable",
"OnArrowPressed",
"OnExternalLink",
"OnButtonUpdate",
"OnError",
"OnDressModel",
"OnCooldownDone",
"OnPanFinished",
"OnUiMapChanged",
"OnRequestNewSize",
};
local NavigationFrame = C_Navigation.GetFrame();
if not NavigationFrame then
print("Set a waypoint and begin tracking it.");
return;
end
local function DisconnectFrame(frame)
if frame == NavigationFrame then
print("Can't disconnect navigation frame");
return;
elseif frame:IsForbidden() then
print("Can't disconnect forbidden frame:", frame:GetDebugName());
return;
end
frame:SetParent(NavigationFrame);
frame:UnregisterAllEvents();
for _, script in ipairs(ScriptHandlers) do
if frame:HasScript(script) then
frame:SetScript(script, nil);
end
end
print("Disconnected frame:", frame:GetDebugName());
for _, child in ipairs({ frame:GetChildren() }) do
DisconnectFrame(child);
end
end
for _, frame in ipairs({
AchievementMicroButton,
BankFrame,
BuffFrame,
CharacterMicroButton,
ChatFrame1,
ChatFrame1EditBox,
ChatFrame2,
ChatFrameChannelButton,
ChatFrameMenuButton,
CollectionsMicroButton,
ContainerFrame1,
EJMicroButton,
GameMenuFrame,
GeneralDockManager,
GossipFrame,
GuildMicroButton,
HelpMicroButton,
LFDMicroButton,
MailFrame,
MainMenuMicroButton,
MerchantFrame,
MicroButtonAndBagsBar,
Minimap,
MinimapCluster,
ObjectiveTrackerFrame,
PlayerFrame,
QuestFrame,
QuestLogMicroButton,
QuickJoinToastButton,
ReputationFrame,
ScriptErrorsFrame,
SpellBookFrame,
SpellbookMicroButton,
StoreMicroButton,
TalentMicroButton,
-- GameTooltip, -- Works, but the client will crash eventually.
-- MainMenuBar, -- Client crash :(
-- WorldMapFrame, -- Client crash :(
})
do
DisconnectFrame(frame);
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment