Burning Crusade Classic
noUI has not yet been updated for Burning Crusade Classic.
Supporting me on Patreon is the quickest way to make it possible for me to continue working on noUI.
I only accept unsolicited donations and my addons and updates will always be free to download and free to use.
Regards and happy gaming!
Stian
World of Warcraft Classic
TL;DR; Hides interface elements when they are not needed.
INTRODUCTION
No interface is best interface
The standard World of Warcraft user interface is by no means bad, but some players think it could be a bit more understated, a little less in-your-face. And whereas nothing is as minimal, as clean & as out-of-your-face as no UI at all, having no UI is clearly not very usable. And so players install addons that thoughtfully & carefully minimalize their UI, replacing standard UI elements with custom ones that have less visual impact.
This addon takes a different approach to achieve interface Nirvana: Instead of changing how your UI looks, it changes when your UI is visible. The general idea goes like this: Interface elements that are hidden don't need a minimal look, and if those interface elements are visible seldom enough, then the standard user interface is Good Enough™.
If you end up liking noUI, you can support me and noUI's development on Patreon.
FEATURES
1) This addon hides your character portrait unless:
- You have a target
- You are in combat
- Your health or mana/energy is not full
- You have a UI panel open (like the character panel, or your bags, etc.)
- You mouse over your character portrait
2) This addon hides your action bar unless:
- You have a target (except friendly, trivial NPCs)
- You are in combat
- Your health or mana/energy is not full
- You have a UI panel open (like the character panel, or your bags, etc.)
- You are dragging an item or spell (to put on the action bar)
- Your action bar is not on page 1
- You mouse over any part of the action bar
3) This addon also tweaks the following, to compliment your new, nearly UI-free experience:
- Chat: Buttons fade away together with chat background
- Minimap: Small cosmetic change to zone text (see screenshot)
- Minimap: Zoom buttons hidden, since you can now instead use the mousewheel to zoom
- Minimap: Have options to hide minimap as well (see options.lua)
- Raid manager: Is hidden until you need it
BACKGROUND
You may be familiar with a popular addon that achieve these same things, but with a fantastic UI to boot:
For a long time I used Kong to achieve my close-to-perfect UI (following the ideas explained above), but even with a couple manual config file hacks, eventually edge cases cropped up where Kong wasn't enough for me any more. Specifically I wanted fade-out to occur after a small delay instead of immediately after mousing out of the region (a feature that has already been acknowledged by Kong's maintainer), and I wanted two conditions that didn't exist: 1) the presence/absence of other UI panels and 2) dragging an item or spell with the mouse.
Instead of outright imitating Kong--which, again, has just a fantastic UI for in-game configuration--I've instead created "the programmer's Kong".
Since noUI is plugged straight into the WoW API, you can hide/show frames from anywhere in code in any manner possible--with delays, fades, timings, etc., whatever you can code. You are not limited to what a GUI can configure--no interface is best interface--but to make changes to the defaults you will of course need to know a thing or two about addons.
CONFIGURATION & ADVANCED USAGE
This mod is two different things:
1) Out-of-the-box: If you like the pre-configured features as listed above, then just use noUI as-is. Chances are high you'll like it!
2) Some assembly required: But if you have some ideas of your own, then read on to learn how to use this mod's extremely simple framework to do anything you want:
Well, let me tell you: This mod is barely a mod. The core of it is just a simple framework for keeping track of some lists.
The first list is a list of frames. Frames that are added to this list may be hidden:
ObservedFrames: {
1) PlayerFrame
2) MainMenuBar
}
^ Here the frames PlayerFrame & MainMenuBar has been added to the ObservedFrames list.
In addition, each frame added to this list gets its own list in turn:
ObservedFrames {
PlayerFrame {
1) "LowHP"
2) "LowMana"
}
MainMenuBar {
1) "Mouseover"
}
}
^ Here the strings "LowHP" & "LowMana" has been added to the PlayerFrame list, and the string "Mouseover" has been added to the MainMenuBar list.
The list that each frame gets could be called that frame's visibility conditions. Only if a frame's visibility conditions list is empty will that frame be hidden.
The visibility conditions list consists of arbitrary strings, like "LowHP", "Mouseover" and "BagsOpen". Each string element in the visibility conditions list is unique, so even if you add several "LowHP" strings to a frame's visibility conditions, there will only be one "LowHP" element in that frame's visibility conditions list.
And that's pretty much it!
Wherever you want--in any event, function hook, etc.--you just add a string to any frame's visibility conditions when that frame has a reason to be visible, and then remove that same string again when that reason is no longer actual. For example:
On event PLAYER_REGEN_DISABLED, add "InCombat" to PlayerFrame
Now the PlayerFrame's visibility list is not empty when regen is disabled, which means the PlayerFrame will be visible when in combat.
On event PLAYER_REGEN_ENABLED, remove "InCombat" from PlayerFrame
Then, after removing the "InCombat" string when regen resumes, the PlayerFrame's visibility conditions list may or may not be empty, depending on whether other conditions (strings) has been added to its visibility list elsewhere.
I don't suppose there's any chance of this being updated for TBC Classic? It's the only UI addon I use and I really don't want to do without it. The clean, uncluttered view of the game is just so nice.
In reply to Grammarcles:
I would love this too!
In reply to Grammarcles:
Hi guys, and thanks for your interest in noUI for Burning Crusade Classic. I've updated the description text to address the situation. And thanks for the compliment Grammarcles—I agree! :)
In reply to stianhoiland:
I checked out your patreon and, at the risk of sounding like an a-hole, I don't have any real interest in anything else you're working on there. Nor am I interested in signing up to support you on an ongoing basis in the hopes you'll eventually get to updating the addon somewhere down the line.
I really just want a BCC update for NoUI. That said, I'm happy to make a one-time donation to facilitate that happening in a more immediate fashion.
Hi!
I love your addon, I've been using it out of the box and have no complaints. I had a look through the tweaks and config files but my knowledge on addons is very basic. I would like to make it so, that my portrait and target aren't showing at all unless I press a keybind. Would that be possible through your addon?
Thanks!
edit: I made it sorta work with a different addon I put together quickly but it's giving me errors.
These are the lines in the addon:
RegisterStateDriver(PlayerFrame, "visibility", "[mod:lshift,mod:lalt] show; hide")
RegisterStateDriver(ComboFrame, "visibility", "[combat,exists] show; hide")
RegisterStateDriver(FocusFrame, "visibility", "[@focus,combat,exists] show; hide")
RegisterStateDriver(TargetFrame, "visibility", "[mod:lshift,mod:lalt] show; hide")
editedit: I forgot to delete the focus and combo frame. no errors now.
I got an error message when my WSG queue popped yesterday. "NoUI has been blocked from an action only available to the Blizzard UI. You can disable this addon and reload the UI."
I've no notion of where the conflict is happening, but I couldn't enter the battleground so long as I still had NoUI enabled.
Amazing addon. i just have one issue.
Is it possible to hide buffs/debuffs unless in combat and etc..?
any suggestions please?
This is so great. I really love this addon!
The only real issue I see is that I'm unable to show my exp bar text anymore. I see MainMenuBarExpBar shows up when I move my mouse but the text doesn't shows up when I put my mouse over the bar as it is supposed to do.
Also, I saw your comment about party frames, it bothered me first that it didn't fade but I totally understand why you let them on.
Are you able to apply the same checks you apply on the player frame to the party frames (mouse over, health full, etc)?
If so, I think it would be worth to try this.
It's just my opinion, but I think it would be nice to see different options for party frames :
- Hide in Groups
- Hide in Instances
- Hide in Raid
By default, it would be off (as it is now) so players updating the addon wouldn't be surprised.
But again, the addon is already great :)
In reply to Bob_747:
Maybe that is a way to go about the party frames: just duplicate the player portrait conditions. Actually, hang on... I just thought of something. All right. Watch this space :P
About the XP bar text: Yeah, me too! I've noticed this. No idea why this should happen, really. I know how to fix it, but... yeah, it's a little weird because what I'm doing with the XP bar shouldn't be having this issue. Anyway, I'll look more into it.
And thanks for your kind words :)
In reply to stianhoiland:
I don't really know how it works with Wow addons but if the text element is a child of MainMenuBarExpBar, wouldn't it be disabled when MainMenuBarExpBar is disabled? So you'd need to enable it manually?
Hey, me again. :p
My brother just noticed his character's name plate doesn't go away on my screen while we're in a party together. It doesn't really bother me, but I thought I'd ask and see if that's intended or if there's some reason it would be a pain to make the party UI fade out as well (say, if they're getting attacked and it doesn't show up for me)?
In reply to Grammarcles:
Yeah, as of yet I don't touch the party frames, because it's not entirely clear to me when they should & shouldn't be visible.
In reply to stianhoiland:
Fair enough. I figured that might get messy trying to account for all the variables on your end. Thanks for the response, sir.
Really enjoy this addon. Used to do this with a combination of addons which was complicated.
One improvement / fix that would be nice would be to hide the Global Cooldown spell flash animation on action bars when they are hidden.
In reply to Forge_User_81670107:
You are absolutely right. I actually have a separate CooldownFlashRemover (or something) addon for that made by someone else. Good idea to integrate that functionality into noUI!
In reply to stianhoiland:
Cool ! :)
I've been noticing lately my extra bars seem to be popping up on occasion despite my not having that option checked in the interface options. This is the only addon I have that affects the action bars in any way (my only other UI addon is ItemPriceTooltip), so it seems a safe bet this is the one causing it.
It's not a huge deal - the extra bars go away as soon as I swap which bar I'm on - and I'm really digging the addon despite that, but I thought I ought to let you know about it.
In reply to Grammarcles:
Thanks for letting me know. I’ve noticed it too. Will fix :)
In reply to Grammarcles:
Handling of extra bars now respects Interface Options settings in v8.
In reply to stianhoiland:
Dang, I didn't expect that quick of a turnaround. You're a gentleman and a scholar, sir. Thank you.