WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   UI Screenshots, Feedback and Design Discussion (https://www.wowinterface.com/forums/forumdisplay.php?f=144)
-   -   WiP (https://www.wowinterface.com/forums/showthread.php?t=48741)

MoonWitch 12-29-13 09:31 PM

WiP
 
https://www.dropbox.com/s/7fgia4rfuy...2002.28.09.PNG

Basically there are a few things not going well :
- too much going on in the middle (So I am going to blacklist some things in the FCT)
- Going to hide the quest watcher on combat - don't need it then
- my party frames suddenly lost their text - but that's ok. will fix it later on. (they are also only there because I needed to test them, they will be disabled for me, just not for the release of the layout, hence the overlap with cork)
- The button groups of nine about the main action bar will be show on hover.

I like the textures on my unit frames, but they look poor in the tooltip and in the nameplates imho.
Also, in combat the combat log hides, the threat meter and dps meter will show up there. But I am working on those, so for now I am using rThreat.

I'd love to make my chat frames smaller on combat or inactivity, used to use Chicai (or something) for it, but I need to update it.

So what do you think? I am going horribly wrong? Should I be shot for violating some rule? :P

Phanx 12-29-13 11:59 PM

Many things, all sides!

(1) Get rid of that combat text. You already have icons for Windsong and Divine Insight on your player frame. Expand that to show all the proc buffs you NEED to know -- if you're not going to do something special when it procs, you don't need to see it. Filter the debuff icons on your target frame, too. You're a shadow priest. You don't need to see Thunder Clap!

(2) So many action buttons! Survey, Fortitude, Resurrection... none of those are ever going to be used in combat, so put them on a bar that only shows up out of combat, or stick them in an OPie ring. Keybind long cooldowns and get them off your action bars. If you have trouble keeping track of the cooldowns, try CoolLine or SexyCooldown, or some other cooldown monitor. Showing action bars on hover promotes clicking, and clicking is bad, mmkay.

(3) This is mostly personal preference, but your unit frames look really cluttered. The texture doesn't help, but you can't even read the dark blue mana text on your player frame. If you can't even read it, just get rid of it!

(4) More personal preference, but if you're trying to reduce clutter, set that Broker bar to hide until you mouse over it. You do not need an always-on display of how many friends are online, how much gold you have, what your framerate is, or how many open bag slots you have.

(5) For the sake of balance, move that damage/threat/whatever meter over to the bottom right underneath the tooltip, so it somewhat balances out the chat box on the left.

(6) Unless you're a tank on a multi-tank encounter, you don't need a threat meter. Add an indicator to your target frame showing you the basic yellow = high threat, orange = you're about to aggro, and red = you have aggro, or showing your threat as a percentage of the current tank's threat.

(7) I don't see a combat log in your screenshot, so I don't know where you intended for more meters to show up in combat.

MoonWitch 12-30-13 12:11 AM

Quote:

Originally Posted by Phanx (Post 288911)
Many things, all sides!

Indeed. It's been that way for so long, I am kinda stuck, hence the posting ;)
Quote:

Originally Posted by Phanx (Post 288911)
Expand that to show all the proc buffs you NEED to know -- if you're not going to do something special when it procs, you don't need to see it. Filter the rebuff icons on your target frame, too.

Working on a list. Just takes time. Also, I play a few alts as well. So - that part will take a long time :D
Quote:

Originally Posted by Phanx (Post 288911)
(2) So many action buttons! Survey, Fortitude, Resurrection...

Yeah, I did say "Am going to hide them on hover". You know I have binds for quite a bit, not a clicker - unless for - yes, Survey! (Which brings me to - My Archy is like 29?)
Quote:

Originally Posted by Phanx (Post 288911)
(3) This is mostly personal preference, but your unit frames look really cluttered. The texture doesn't help, but you can't even read the dark blue mana text on your player frame. If you can't even read it, just get rid of it!

Hmmm, thought it was fairly decent :( But I have no issue reading the text though.
Quote:

Originally Posted by Phanx (Post 288911)
(4) More personal preference, but if you're trying to reduce clutter, set that Broker bar to hide until you mouse over it.

Good idea, that I will be doing asap.
Quote:

Originally Posted by Phanx (Post 288911)
(5) For the sake of balance, move that damage/threat/whatever meter over to the bottom right underneath the tooltip, so it somewhat balances out the chat box on the left. (7) I don't see a combat log in your screenshot, so I don't know where you intended for more meters to show up in combat.

That's because the threat meter is temporary, it's supposed to go (with DPS meter) into that right hand corner. Or like you said "border color" (which opens up a new can of worms about the borders in my UI :P)

Phanx 12-30-13 12:51 AM

Quote:

Originally Posted by MoonWitch (Post 288913)
Working on a list. Just takes time. Also, I play a few alts as well. So - that part will take a long time :D

Feel free to copy the aura filtering lists from my oUF layout. It should be fairly complete, though my career as a priest ended at around level 40 back in vanilla, so I make no promises.

Quote:

Originally Posted by MoonWitch (Post 288913)
Or like you said "border color" (which opens up a new can of worms about the borders in my UI :P)

What's wrong with it? It's not really my style (don't like the "pixel" look at all) but at least it's (mostly) consistent. It's not really strong enough to be useful for conveying important info though. You could just put a big dot on the target frame, to match your shadow orbs.

MoonWitch 12-30-13 08:02 AM

Quote:

Originally Posted by Phanx (Post 288915)
Feel free to copy the aura filtering lists from my oUF layout. It should be fairly complete, though my career as a priest ended at around level 40 back in vanilla, so I make no promises.

Ah, thanks. I did use your layout for a while though, I liked several aspects of it a LOT.

Quote:

Originally Posted by Phanx (Post 288915)
What's wrong with it? It's not really my style (don't like the "pixel" look at all) but at least it's (mostly) consistent. It's not really strong enough to be useful for conveying important info though. You could just put a big dot on the target frame, to match your shadow orbs.

I know, I wasn't planning on border colouring. Because of the shifted look (HP and PP bars have an offset), I can't border the group together. So I'd use something like you said. That part of the layout isn't done yet.
- Combo points aren only basic (don't play a rogue, but for my feral cat)
- aggro
- stati (resting, combat, ...)
- raid icons

I just got stuck in the entire "I am seriously missing the ball on some things" but couldn't see it. Mainly because I've been trying too hard, too much at once.

MoonWitch 12-30-13 04:01 PM

I'll post an update soon.
So far, Phanx, I've included several of your suggestions. Thanks :)

1. cPoints are now just a font string (same place as orbits from various class icons)
2. Extra buttons are hidden. Still thinking on switching to a shorter action bar (since I too only use max 6 buttons)
3. Trying a new texture, and removed the thin outline, I did add a stronger shadow for increased contrast though.

The bottom panel proves to be more of a challenge...
If I hide the bottom panel in combat, it works out fine.
If I try to hide it with a script... it will hide; but it will also hide again when I hover over the dataObjects. While it should remain shown :(

Phanx 12-30-13 07:32 PM

Quote:

Originally Posted by MoonWitch (Post 288924)
1. cPoints are now just a font string (same place as orbits from various class icons)

I can't find a source at the moment, but I recall reading something about the human brain being faster at recognizing small numbers (up to 5 or 6) when they're displayed as "countable" objects or symbols (technically you aren't counting them, you just see 3 dots and immediately know there are 3) than when they're displayed as numerals.

Between this and the UI (in general, not specifically yours) tending to include a lot of text already, I chose to display combo points and other low-count discrete values using orbs/dots.

Quote:

Originally Posted by MoonWitch (Post 288924)
The bottom panel proves to be more of a challenge...
If I hide the bottom panel in combat, it works out fine.
If I try to hide it with a script... it will hide; but it will also hide again when I hover over the dataObjects. While it should remain shown :(

When the OnLeave script for one of the child frames fires, check if the mouse is still over the panel frame. If it is, don't hide the panel.

MoonWitch 12-30-13 10:16 PM

Quote:

Originally Posted by Phanx (Post 288931)
When the OnLeave script for one of the child frames fires, check if the mouse is still over the panel frame. If it is, don't hide the panel.

Well, the child frames are all datablocks :( So pure tables. And I had it done so gorgeously too :*(
Just a thought though, can't I just create a frame that acts as a hotspot but isn't shown ever? -- or something

Also: About the count, for now it seems easier, don't know why though.

Fizzlemizz 12-30-13 10:50 PM

A hotspot is just a button with no texture.

MoonWitch 12-30-13 10:58 PM

Quote:

Originally Posted by Fizzlemizz (Post 288938)
A hotspot is just a button with no texture.

I know, I am thinking of alternatives... Because I can't get it figured out how Phanx is describing it. But then again, I'm stuck with trying to setup party frames without a party! :P

Phanx 12-31-13 12:57 AM

I'm not sure what you mean by "the child frames are ... pure tables". A table cannot be a visible object, and a table cannot intercept the mouse. If the plugins are able to tell when the mouse moves over them, they are frames or some derivitave thereof (such as a button).

MoonWitch 12-31-13 01:02 AM

Framestack when hovered over a dataObject on the BottomPanel which should remain shown. (Technically, it's being seen as an "OnLeave" because the other frame is higher up than BottomPanel.

https://www.dropbox.com/s/be33dcvns6...2007.59.40.PNG

Choonstertwo 12-31-13 01:26 AM

Quote:

Originally Posted by MoonWitch (Post 288951)
Framestack when hovered over a dataObject on the BottomPanel which should remain shown. (Technically, it's being seen as an "OnLeave" because the other frame is higher up than BottomPanel.

https://www.dropbox.com/s/be33dcvns6...2007.59.40.PNG

When you see "table: 0x..." in the framestack tooltip, it just means that the frame has no name. It's still a frame (or a frame-derived widget).

MoonWitch 12-31-13 01:30 AM

Quote:

Originally Posted by Choonstertwo (Post 288954)
When you see "table: 0x..." in the framestack tooltip, it just means that the frame has no name. It's still a frame (or a frame-derived widget).

Ah ha... Good to know... Then I need to find a way to name em ;)

Or I do this :
lua Code:
  1. local panels = {}
  2. panels = BottomPanel:GetChildren()
  3. tinsert(panels, #panels+1, BottomPanel)

Phanx 12-31-13 01:48 AM

You don't need to name them. Assuming your plugin frame is a direct child of your panel/bar frame, this quick adaptation of my watch frame fading code should work for your panel. The parts in orange will need to be adapated to your specific code.

Code:

local FADE_IN_ALPHA = 1
local FADE_IN_DELAY = 0.1
local FADE_IN_DURATION = 0.2

local FADE_OUT_ALPHA = 0
local FADE_OUT_DELAY = 0.2
local FADE_OUT_DURATION = 0.4

local fadeGroup = bar:CreateAnimationGroup()
local fadeAnim = fadeGroup:CreateAnimation("Alpha")
fadeGroup:SetLooping("NONE")
fadeGroup:SetScript("OnFinished", function(self)
        bar:SetAlpha(self.targetAlpha)
end)
bar:SetAlpha(FADE_OUT_ALPHA)

local function FadeIn(self)
        fadeGroup:Stop()
        local a = floor(self:GetAlpha() * 100 + 0.5) / 100
        local d = FADE_IN_ALPHA - a
        local t = (FADE_IN_DURATION * d) / (FADE_IN_ALPHA - FADE_OUT_ALPHA)
        if d < 0.05 or t < 0.05 then
                -- Don't bother animating
                return self:SetAlpha(FADE_IN_ALPHA)
        end
        fadeAnim:SetChange(d)
        fadeAnim:SetStartDelay(a == FADE_OUT_ALPHA and FADE_IN_DELAY or 0)
        fadeAnim:SetDuration(t)
        fadeGroup.targetAlpha = FADE_IN_ALPHA
        fadeGroup:Play()
end

local function FadeOut(self)
        local a = floor(self:GetAlpha() * 100 + 0.5) / 100
        local d = a - FADE_OUT_ALPHA
        local t = (FADE_OUT_DURATION * d) / (FADE_IN_ALPHA - FADE_OUT_ALPHA)
        if d < 0.05 or t < 0.05 then
                -- Don't bother animating
                return self:SetAlpha(FADE_OUT_ALPHA)
        end
        fadeAnim:SetChange(-d)
        fadeAnim:SetStartDelay(a == FADE_IN_ALPHA and FADE_OUT_DELAY or 0)
        fadeAnim:SetDuration(t)
        fadeGroup.targetAlpha = FADE_OUT_ALPHA
        fadeGroup:Play()
end

bar:SetScript("OnEnter", function(self)
        if self.isMouseOver then return end
        self.isMouseOver = true
        FadeIn(self)
end)

bar:SetScript("OnLeave", function(self)
        if self:IsMouseOver() then return end
        self.isMouseOver = nil
        FadeOut(self)
end)

local function plugin_OnLeave(self)
        self:GetParent():GetScript("OnLeave")(bar)
end

for i = 1, #plugins do
        plugins[i]:SetScript("OnLeave", plugin_OnLeave)
end


MoonWitch 12-31-13 02:01 AM

Quote:

Originally Posted by Phanx (Post 288957)
You don't need to name them. Assuming your plugin frame is a direct child of your panel/bar frame, this quick adaptation of my watch frame fading code should work for your panel. The parts in orange will need to be adapated to your specific code.

First off, you're awesome.

Secondly, I was trying from this angle, but turns out -- doesn't work well :P
Lua Code:
  1. local textpanes = {}
  2. textpanes = BottomPanel:GetChildren()
  3. tinsert(textpanes, BottomPanel)
  4.  
  5. for index = 1, #textpanes do
  6.   textpanes[index]:SetScript("OnEnter", function()
  7.     UIFrameFadeIn(BottomPanel, 2.0, 0.0, 1.0)
  8.   end)
  9.   textpanes[index]:SetScript("OnLeave", function()
  10.     UIFrameFadeOut(BottomPanel, 2.0, 1.0, 0.0)
  11.   end)
  12. end

Phanx 12-31-13 03:35 AM

You shouldn't use the UIFrameFade* functions, as Blizzard uses them irresponsibly, and taint spreads to places that can't handle it.

MoonWitch 12-31-13 11:07 AM

Quote:

Originally Posted by Phanx (Post 288960)
You shouldn't use the UIFrameFade* functions, as Blizzard uses them irresponsibly, and taint spreads to places that can't handle it.

That actually sounded totally different than I should have read it. And after sleeping a bit, I realised that is the issue I'd walk into since it took me forever to solve that in my chat add-on (had to use your fix there ;))

For now, I've resorted to a different LDB display add-on, I still used LibCargoShip - which is some odd years old now. Worked like a charm though, but the non-named frames killed me. I couldn't happily shove em into a table since the entries are "table: 0x0...." and I really don't feel like regex yet. You could probably find the perfect solution, but I'm far from reaching that point. But soon-ish, I will :P But for now, I shall boldly go where a lot of men have gone before (sounds ... bad eh?) :P

Naah, seriously, gonna wrap up oUF and a few more things, have that all fixed as it should be, and then work on the LDB thing again.

But if you don't mind, that piece of code is amazing to show/hide a few other elements of my ui.

Phanx 12-31-13 08:46 PM

Go for it.

MoonWitch 12-31-13 10:08 PM

Quote:

Originally Posted by Phanx (Post 288978)
Go for it.

Thanks :)

I do wonder about one thing related to your license. You often say you don't mind it being included in compilations etc, as long as support doesn't fall to you. That much I completely understand; however, I must confess to having comments such as -- Taken from xx from Phanx or little thank you's in code you wrote. Is that actually ok? Because if you'd rather not, I can easily take them out :)


All times are GMT -6. The time now is 01:38 AM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI