LolzenUI

DISCLAIMERThis Addon is currently in beta phase
If you encounter bugs or have a need for features not included, please leave a comment.
I am depending on user feedback for making LolzenUI a quality product.

About

LolzenUI is my personal User Interface. Whenever i play, i use this.
It is a compilation of different utilities for either information, feature, ease-of-life addition or anything of that sort.

It started as a project to make it easier for me to download just one project to virtually have my User Experience in WoW on every Computer i get to play on. (Ever were at a friend and hated his/her UI?)
As i was in the midst of making things work together, a buddy asked me to update a specific Addon i wrote for him, which was already incorporated here. That was when i had the idea to make everything modular. With that in mind, it was not far away for me to add options too, as one might choose a different place for the buffwatcher. So it quickly came to my mind, i want to make it possible for users to basically take my UI and make it their own with little effort as possible. I do not claim to have the best UI, it just fits my needs, but as i did some hard work for the past months to provide options, i hope someone might find it useful in a way.

FAQ & Help

Type /lolzen or /lolzenui for a quick shortcut to open the optionpanel.
Q: How can i access the OrderHall Missions when the Minimap button is missing?
A: On the top left of your Orderhallbar is an icon of your class, click on it.

Q: Can i disable x and use y instead?
A: Disable the module by opening the Optionpanel (/lolzen or /lolzenui) and untick the checkbox. Then press ok.

Features

LolzenUI is modular.
What this means is, there are currently 21 modules, which can either be turned on or turned off. When a module is not needed, it should not take up memory or cpu cycles, so if a module gets disabled, it's disabled.
In addition to the modular approach, there's an separate Addon bundled - LolzenUI_Options which can be used to modify some aspects of these modules. LolzenUI_Options is optional and not needed if you really like the defaults, but it is needed for modifying these defaults.modules included are:

actionbars

artifactbar

buffwatcher

chat

clock

fonts

inspect

interruptannouncer

itemlevel

minimap

nameplates

objectivetrackerframe

orderhallbar

pullcount

slashcommands

tooltip

unitframes

versioncheck

worldmap

xpbar

Custom Module SupportCreate your own modules!
If you know your way around Lua, don't want to rely on me, or simply want to integrate a module by your own, LolzenUI now supports it.
Template can be found here: link

SharedMedia support
Add any Shared Media pack and use the dropdown menus in the options. It's as easy as that. Currently supported are statusbars, backgrounds, borders and backgrounds.
Of course LolzenUI comes with standards and SharedMedia packs are optional.

Planned Features/Updates

LolzenUI_Options is in it's early stages and probably doesn't have any single option for every user. I plan on adding things popular on demand. Unitframe options are not finished yet, but the most others are done and the essential stuff is already there.
A crucial ToDo list can be found on Github

Github

You can submit patches, request or bug reports there in addition to the comment section.
Github version may be more up2date, but might invoke breaking changes.
https://github.com/Lolzen/LolzenUI
https://github.com/Lolzen/LolzenUI_Options

Libs embedded

LibItemUpgradeInfo-1.0
As blizzards API doesn't perfectly well work (heirlooms, upgrades, ..) LolzenUI makes use of this lib.

LibSharedMedia-3.0
Can be used to easily add custom fonts and textures to LolzenUI.

oUF
the Unitframes and Nameplates integrated make use of oUF.

Credits

WoWInterface forum users (you know who you are)
haste, p3lim, everyone involed i oUF - mosty for oUF, but also other inspirations
neav/neal - clock is basically a modified nClock ripoff. if you like the clock module be sure to check out nClock!
Seerah - back in the days she gave me persission to use itemQualityColor borders for my tooltip, which the included one is based off
Phanx, tuller, rothar/zork, tekkub - various inspirations, fixes which i found via google and stuff incorporated in LolzenUI (specifics can be seen in the code itself)
More, so much more i don't know on top of my head - i'm sorry

If you think you deserve to have your name here, please drop a comment or me, i want to give credits where credits are due
If you found a code, you think is yours and don't want it here, please tell me. I don't purposely steal code, i try to do as much as i can from on my own, as i strife to learn more and more, since years. Sometimes i hit a wall and look at other peoples code to get inspiration, sometimes this may end up looking as i blatantly used something without permission, but i assure you, almost nothing is copy/pasted! (the only thing i know of is the bufftimer format from tekkub which is credited and linked to the original project in the code itself)

7.3.5_beta5

Notes: This update brings auras (buff/debuff or both) to Nameplates alsong with some fixes

Notes: This update brings new options for the boss frame. Namely, aura & castbar and powerbar/powerpoint options.
The default values for boss frames have changed a little regarding size and spacing, it is adviced you change the settings to default by opening the Options panel (/lolzen or /lolzenui) Unitframes -> Boss, click on "Defaults" and then "These Settngs"
Also includes a fix for player castbar options not accepting some values from the option panel

LolzenUI:
unitframes: put elements back into shared and only use the the desired ones on the desired frames
unitframes: Castbar Spark: adjust size to make it look nicer
unitframes: Spark: don't try to set size for every unitframe

SetSize() would be ignored, so do it individually.
Also looks nicer once again.

defaultconfig: rearrange standard SV default table for untframes, boss according to options panel
defaultconfig: add SV "uf_show_boss_power"
unitframes: boss: add ability to show power bar if the option is set
defaultconfig: unitframes: boss: add SVs for power points
unitframes: boss: use options for powerpoints if the power bar is shown
defaultconfig: unitframes: boss: add aura SVs
defaultconfig: unitframes: boss: change default spacing to 30 up from 5

panel with level and name like on target and focus will be added to boss
frames, making it easier for multiple boss frames to be identified
within a glance
However, as neither buffs nor debuufs are shown on these the spacing
does not account for these.

LolzenUI_Options:
unitframes: rearrange okay/default functions according to option panel order
unitframes: boss: add option to show power bar
unitframes: boss: add options for powerpoints if power bar option is set to true
unitframes: boss: add aura options

needed for upcoming changes introducing the use of a scrollframe and
scrollbar in the optionpanel, for when the space give isn't enough

actionbars: use GetSpellTexture instead of GetSpellInfo and guard against core changes
buffs: use GetSpellTexture instead of GetSpellInfo and guard against core changes
buffwatcher: use GetSpellTexture/preset string instead of GetSpellInfo
nameplates: preview: use GetSpellTexture instead of GetSpellInfo and guard against core changes
[WiP] unitframes: target: create a scrollframe in the optionpanel and use it as parent for every element

That way we can scroll within the panel and they "get hidden" when not
in the view. Previous attempt with the optionpanel as parent made the
options which were scrolled past "float" outside the panel, which didn't
look good.
For this we made the changes in core and safeguarded some modules
earlier.

also, as we call LolzenUI_Options.createOptionPanels more than once now
(when a user module requests it) we need a check to not double create
OptionPanels.

7.3.2_beta4
LolzenUI:
libs: update embedded oUF to 7.0.13
optionpanel: stop printing messages if LolzenUI_Options is disabled and can't be loaded
defaultconfig: add SVs for tooltip statusflag colors
tooltip: use statusflag color SVs
defaultconfig: add SV "tip_use_guild_color_globally"
tooltip: change guild check and use guild color for all players if the option is set
defaultconfig: add SV "ilvl_use_itemquality_color"
itemlevel: use itemQualityColor if the option is set
defaultconfig: add SV "uf_use_dot_format"
unitframes: use dot divider format for siValue if the option is set
defaultconfig: add SVs for bossframes
unitframes: use SVs for bossframes

This is based upon discovering OmniCCs mechanic.
upon further digging i implemented it in conjunction with a BuffDetect
function from an old addon i've made long ago.
references:
http://www.wowinterface.com/downloads/info4836-OmniCC.html
http://www.wowinterface.com/forums/showthread.php?t=42390
https://www.wowinterface.com/forums/showthread.php?t=35104
http://www.wowinterface.com/downloads/info15972-bar4threat.html

This improves CPU usage by a significant amount, exponentially to the
amount of buffs watched.

7.3.2_alpha5
LolzenUI:
defaultconfig: add unitframe size variables
unitframes: add back fallback border; SetSize for every individual unitframe along with sv support
defaultconfig: fix my logic kkthxbye
defaultconfig: add saved variables for role inidicator on party & raid
unitframes: add role indicator options and fix it for raids
tooltip: use a different approach for background color

I've added "testmode" to unitframes in 7.3.5_beta5 under general options, so you can see the placement of unitframes in a rough manner. This still needs to be extended and aura stuff is to be done as well in that regard.

But it does include custom module support - which means anyone (who knows his way around Lua) can now create their own modules for LolzenUI if they want to.
This includes, but is not limited to oUF layouts (unitframes, nameplates), alternative UIelements (such as Minimap, actionbars, etc), something niche, or something new altogether. (e.g. a threat based addon)

Turns out the /lolzen does do the same thing, I must of got it mixed up at some point.

Yeah I completely missed that text offset for the artifact/xp bars lol

On the previewing thing I mentioned, maybe an alternative thing you can do is make the current movement/sizing in real time without needing to reload the UI.

Also I forgot to mention you could change the "parent" works, maybe have it be a drop down menu rather than typing out the name? Just thinking for convenience of others that don't know too much about that stuff.

Here's the error code I got, I tried it with deleting my WTF and it still does it.

One reason why i haven't used an ondrag positioning is my need for pixel perfection, but i think i can kinda implement that in some way or another. But i'll look for a solution which i'm happy with and work on that at a later point.
Parents are an editbox because you may anchor stuff on frames not foreseen by me, that's the idea why i haven't changed them. I agree it would be more convenient, but at the same time would rob some freedom.

Turns out the /lolzen does do the same thing, I must of got it mixed up at some point.

Yeah I completely missed that text offset for the artifact/xp bars lol

On the previewing thing I mentioned, maybe an alternative thing you can do is make the current movement/sizing in real time without needing to reload the UI.

Also I forgot to mention you could change the "parent" works, maybe have it be a drop down menu rather than typing out the name? Just thinking for convenience of others that don't know too much about that stuff.

Here's the error code I got, I tried it with deleting my WTF and it still does it.

Hey dude, tried out your UI and I have some feedback for things you may want to add or improve upon. I'm a pretty picky person at times so that may show.

Hey myndzero, being picky is good to a certain degree in my case.

Originally Posted by myndzero

Using /lolzen should do the same thing as /lolzenui but it doesn't. Would be nice if it did in case you forgot the 'ui' to get the + to customize stuff. Honestly these should just be together and required, I think most people will want to customize at least one thing when they install a new UI.

They really should do the same thing. Can you tell me what's the difference for you?

-- Open up the option panel
SLASH_LOLZENUI1 = "/lolzen"
SLASH_LOLZENUI2 = "/lolzenui"
SlashCmdList["LOLZENUI"] = function(self)
LoadAddOn("LolzenUI_Options")
-- we have to call it twice; known Blizzard bug
-- see http://www.wowinterface.com/forums/s...ad.php?t=54599
InterfaceOptionsFrame_OpenToCategory("LolzenUI")
InterfaceOptionsFrame_OpenToCategory("LolzenUI")
end

I know there's a minor issue of opening up the panel with the inGame menu and not showing any subpanels at all, due to the slashcommands loading the options after entering that command. I'm aware of that and will fix that eventually, which is probably what you are talking about.

Originally Posted by myndzero

Can we have an option to disable the seconds on the clock? I don't like it.

yeah, sure.

Originally Posted by myndzero

Can we show keybinds on the action bar?

Yup, no problem.

Originally Posted by myndzero

Artifact bar / XP Bar, can we have an option to not show text by default, and rather on mouse over? Also can't seem to put text in bar using center/bottom area, but maybe I missed an offset area.

Kinda thought about that myself. Will be implemented.
regarding centering text, it should work..

Originally Posted by myndzero

Adding a buff to buffwatcher gave me a continous LUA error, had to reload UI. It added the buff but yeah.

I'd like to give any advice/action on it, but without any proper error it's kinda hard to debug.
Please post your error so i can look into that matter.

Originally Posted by myndzero

Order hall icon was weird for me. I didn't notice it for a bit but just that it was missing from the minimap. Once I saw it I also noticed if you hide the order hall bar outside of that zone you can still using the button in that spot despite it being invisible. Maybe it should just be on the minimap?

I just tested it by disabling the OHB, but neither of those issues could be reproduced.
I disabled the MinimapButton on purpose, because i like to have things clean, so that's a no from me, sorry.
If you really want it back you can delete or comment out these lines in LolzenUI/modules/minimap/minimap.lua

Would love an option for both health number & percent at the same time.

I'll add an oUF tag and options for this.

Originally Posted by myndzero

Speaking of health, I hate how it's laid out. "7m5" is just confusing to me. I know what it's saying, but would be nice to be able to lay it out as "7.5m"

I'll decide if i change it/make it an option in the future.

Originally Posted by myndzero

Would love the option to be able to colour the player/target (mostly this) cast bar

Castbar stuff is time consuming to implement, but certainly doable. I will probably implement options for castbars, just not in the next time. Speaking of Unitframe stuff, as i already said in an earlier comment, UF's are the most customizable thing in here, purely because they are an oUF layout. oUF gives so much freedom you could do virtually everything with them, just look around for layouts here.
I'll try do cover a lot of things, it's just a mind numbing to to that for hours straight. Eventually they'll be more customizable to a degree from the optionpanel.

Originally Posted by myndzero

Main menu bar is missing, I think I saw an option for it somewhere but it's invisible or something? This is fine but if you have an unspent talent point it still shows that message

Should not happen, unless you had some other addon hide the MMB before you installed LolzenUI. The actionbars are essentially just using the default actionbars and change the looks/hide artwork (gryphons, etc). Other than that they're blizzard's default bars.
In case you mean the MicroButtons, yes they're hidden.

Originally Posted by myndzero

Target frame doesn't show buffs? I think this is vital info, especially for mobs that buff themselves and you need to know about it. For example/easy testing, the tank mob in the order hall casts a buff on itself

No they only show debuffs; i am personally not interested in buffs/debuffs other that mine on the target - as i am playing 100% DDs.
I could make this optional, but again. UFs unlimited possibilities, bla bla. Some time in the future.

Originally Posted by myndzero

Tooltip: AFK/DND should have a colour associated with them I feel. Player guild colour only works on yourself? Or at the very least not other guilds (would like it to). Perhaps also colour the faction name

AFK/DND flags with an color option is easily implemented.
Player guild coloring is done in the way it colors the [b]player's guild[b], YOUR guild in that color.
Reason is to identify guildmates easily when hanging out in cities and mouseovering a character.

Originally Posted by myndzero

Using focus button in UI gave me a error wanting to disable the addon (this was the only one I was running). If you do it using the command /focus it uses the default focus UI? Maybe that's just not added in yet?

Yes, that's the case, /focus isn't implemented in any way. Again, in the future it'll be added for sure.

Originally Posted by myndzero

In general I like the simpicity of it. The modular approach really does it for me because I generally hate most other nameplates and just run using the default ones (which also gives me my preferred personal nameplate). Love the item level stuff, I find most UIs don't let you change this & it's hard to read, nice to be able to set your own colour and stuff.

Thanks, i try to keep it kinda simple with a certain degree of freedom.
I thought about adding an option to make the iLvL colored in the itemquality.

Originally Posted by myndzero

Only other thing I would suggest but I imagine it won't happen due to the complexity, is a way to preview where things are placed or their size (like the group frames)

Yeah that's kind of a maybe. I know it would simplyfy things immensely and kind of want to that, but it's pretty low in the priority list as of now. I want to finish up implementing options first (make it "feature complete") and some more optimizations.
For now i think "the most basic stuff" is there and is "usable", which is a base i can build upon.

Thanks for all the feedback!
I hope i can implement stuff in a timely manner, most likely in partial steps per updates.

Regarding some errors you've encountered: You could try backing up your WTF (or temporary renaming it) for finding out if it's not some other addon's config interfering. Don't forget to close WoW before doing that.
I may be able to do something about that if i know which one it it, and if it's fixable from my side

Hey dude, tried out your UI and I have some feedback for things you may want to add or improve upon. I'm a pretty picky person at times so that may show.

Using /lolzen should do the same thing as /lolzenui but it doesn't. Would be nice if it did in case you forgot the 'ui' to get the + to customize stuff. Honestly these should just be together and required, I think most people will want to customize at least one thing when they install a new UI.

Can we have an option to disable the seconds on the clock? I don't like it.

Can we show keybinds on the action bar?

Artifact bar / XP Bar, can we have an option to not show text by default, and rather on mouse over? Also can't seem to put text in bar using center/bottom area, but maybe I missed an offset area.

Adding a buff to buffwatcher gave me a continous LUA error, had to reload UI. It added the buff but yeah.

Order hall icon was weird for me. I didn't notice it for a bit but just that it was missing from the minimap. Once I saw it I also noticed if you hide the order hall bar outside of that zone you can still using the button in that spot despite it being invisible. Maybe it should just be on the minimap?

Would love an option for both health number & percent at the same time.

Speaking of health, I hate how it's laid out. "7m5" is just confusing to me. I know what it's saying, but would be nice to be able to lay it out as "7.5m"

Would love the option to be able to colour the player/target (mostly this) cast bar

Main menu bar is missing, I think I saw an option for it somewhere but it's invisible or something? This is fine but if you have an unspent talent point it still shows that message

Target frame doesn't show buffs? I think this is vital info, especially for mobs that buff themselves and you need to know about it. For example/easy testing, the tank mob in the order hall casts a buff on itself

Tooltip: AFK/DND should have a colour associated with them I feel. Player guild colour only works on yourself? Or at the very least not other guilds (would like it to). Perhaps also colour the faction name

Using focus button in UI gave me a error wanting to disable the addon (this was the only one I was running). If you do it using the command /focus it uses the default focus UI? Maybe that's just not added in yet?

In general I like the simpicity of it. The modular approach really does it for me because I generally hate most other nameplates and just run using the default ones (which also gives me my preferred personal nameplate). Love the item level stuff, I find most UIs don't let you change this & it's hard to read, nice to be able to set your own colour and stuff.

Only other thing I would suggest but I imagine it won't happen due to the complexity, is a way to preview where things are placed or their size (like the group frames)

Just one - really small! - issue: If you can see, I changed the position auf player/target frames. Is there a change to change the position of the boss-frame(s) as well? If it's only one, it's okay, but sometimes it's 4-5. I can change the lua too, just need a small hint where to look!

Oh, and HAPPY NEW YEAR!

Happy new year!

Looking good ;D

ATM there's no option implemented. if you go to WoW/Interface/AddOns/LolzenUI/modules/unitframes/unitframes.lua at the very bottom there is a section for bossframes, party & raid, there you should be able to change the position.

Just one - really small! - issue: If you can see, I changed the position auf player/target frames. Is there a change to change the position of the boss-frame(s) as well? If it's only one, it's okay, but sometimes it's 4-5. I can change the lua too, just need a small hint where to look!

Alright, i've played with OOC fading, but any implementation i've made was either wonky or unsatisfying to say at least.
One option is to nag p3lim to revive oUF_Fader back to life, or wait for it to be implemented when i've found a soltution that works, which could be a while. Sorry for that! :/

Originally Posted by Namica

Tbh, I love that you are willing to give support to healers, even if you aren't a healer anymore.

Sure thing!

Originally Posted by Namica

I absolutely understand you don't want to be second Elv - we actually *HAVE* Elv, and if people want to use it, they can! It has tons of options and solutions for everyone; but your UI is - for me - on a different site. I *like* to have a few options, but I don't want to spent hours and hours installing/configuring my UI. I have a lot of characters, and I really need my UI simple and useful without being to complicated. And your UI provides that in a really amazing way!

Exactly my thoughts One of the reasons i've created it was that i absolutely HATE addons which use a oncharacter based config. I want to relog to a different char and have everything set. (in that regard buffwatcher is an exception, for obvious reason) And sure many Addons using that make sense, but for an UI i don't need/want a different one for any Character.

Originally Posted by Namica

Thanks in advance, I'm happy to see your UI growing. And it's so nice to give feedback - even if you don't want to include *every* feedback/wish, you read it and maybe it will help you a little. =)

Thanks you, it's a good feeling to know the hours you poured in to make a thing being usable by other people other than yourself are worth it. I'm sure i'll decline some monster wish, but your requests make sense and are exactly what i am "looking for". I have my needs implemented, trying to give a basic thought about things: "maybe someone wants the objectivetrackerframe open at all times, like in default UI - i should make it an option".
It's easy to loose oversight sometimes.

TL;DR you can expect everything to be implemented within the next update .... haven't forgotten about OOC hiding, that will be included too

Thanks for your kind answer. Tbh, I love that you are willing to give support to healers, even if you aren't a healer anymore. I absolutely understand you don't want to be second Elv - we actually *HAVE* Elv, and if people want to use it, they can! It has tons of options and solutions for everyone; but your UI is - for me - on a different site. I *like* to have a few options, but I don't want to spent hours and hours installing/configuring my UI. I have a lot of characters, and I really need my UI simple and useful without being to complicated. And your UI provides that in a really amazing way!

Thanks in advance, I'm happy to see your UI growing. And it's so nice to give feedback - even if you don't want to include *every* feedback/wish, you read it and maybe it will help you a little. =)

- It would be nice if you could change the fonts for unit frames all at once. Do you need different fonts for different frames?
- From my point of view as a passionate healer, your unitframes are a little hard to handle. It would be awesome if..

... you could disable the group/raidframes seperate, so a different addon like Grid can be used for healers while keeping the nice frames for player/target
... you could change your groupframes to be displayed *vertical* if you wish, just for people like me who cannot heal without it (or not that good at all)

I see if you want to keep it simple, so maybe the first option would be easier to do.

Thanks so far again, I really enjoy your work!

Hey Namica,

again thanks for the precious feedback!

TL;DR you can expect everything to be implemented within the next update

The idea of having different fonts for each frame is, in default raid frames use i think a FonsSize of 18 whilst player/target uses a fontsize of 24 due to size differences.
It will add a switch to either use a global size (and use the global size instead of the specific size) or use the unit specific size, no problem to implement.

Healer's feedback - that's nice! I have played Priest for the longest time (Classic to MoP), but ditched healing since late classic. That's why i'm really out of touch on a healer's needs and put the UI into "DPS Compilations" as a main category. Again, thanks for the feedback!

I'll implement off switches for both group/raid and group vertical layout too in the next update

In all honesty, i like it simple.
But LolzenUI made the transition from being "my hardcoded UI compilation" to "maybe someone wants to change option x or position y" and that's why i try to find a middleground for keeping it simple while providing a fair amount of options. It will never be an ElvUI, but it doesn't try to be.