With the release of World of Warcraft's next expansion, Shadowlands, a lot has happened. I have been working on many bug fixes for MayronUI and have added some exciting new features and user-experience improvements. This blog post will focus only on these changes. However, LibMayronObjects (now renamed to just MayronObjects) has also undergone a substantial upgrade with a few exciting features added for addon developers to use. For those who are unsure what MayronObjects is, it provides the necessary framework for MayronUI's engine, improves the development experience, and ensures fewer bugs are released. There will be a future article highlighting these changes, but I recommend revisiting the documentation if you are a curious addon developer who wishes to learn more.
New MayronUI Changes
The community has also spiked in user engagement, with many new members actively engaging in discussions in the Discord channels. I have seen a lot more enthusiasm for customizing MayronUI in creative ways. This explosion of creativity has made me rethink the user-experience of MayronUI's configuration menu. For starters, all text boxes for entering numbers have been replaced with sliders with an optional text box underneath to override the minimum and maximum slider values. It can be tedious to enter numbers manually and not know what an appropriate amount is, so I think this looks and feels better. I have also added many new configuration options, such as enabling or disabling more features to improve the level of configuration. For example, the name panels (the frames with the player and target names in) can now be safely disabled without exploring the codebase. There are many other changes to the configuration menu, but I will move onto the exciting new MayronUI features for the sake of brevity.
Three Action Bar Rows
The most prominent feature added since the 6.3.1 update has been the addition for users to show and hide a third action bar row instead of the usual two rows. For many years, users have asked me to add a third row, but I didn't understand why anyone would want that amount of action bar slots. However, with the recent unexpected increase in Patrons, I felt compelled to give back to the community. I started by tackling all the big feature requests, and the third row of action bars was one of the most popular.
You will notice two arrow buttons show when you press and hold the modifier keys (CTRL by default), allowing you to hide the second row or show the third:
Improved AFK Display
A long time ago, the AFK menu's "whispers" and "guild chat" counters used to be buttons you would press to see all the messages you missed while AFK. However, I removed this feature because it was error-prone, and I wanted to revisit it eventually. Since update 6.3.1, I have added it back using the "copy chat text" code I previously added. The UI visually notifies you when you receive new messages while AFK, and you can open up a window to view and even copy the chat text.
Target Class Color Gradient
The panel behind the unit frames at the bottom of the screen referred to as the "unit frame panel", has had a visual change. By default, this frame's color now has a horizontal gradient effect when targetting another player (this does not apply to NPCs). Underneath the player frame, the left side will remain as the usual theme color (usually your class's color by default), but the right side will blend into the target's class color. This feature can be disabled if you do not like this change, but I think it looks very stylish with the dark health bars. I had to debate with myself if I should turn it off by default, but I worried that it would go unnoticed by most users if it were.
Resting Pulse Effect
When the player is in a rested area, such as a city or inn, the unit frame panel at the bottom of the screen will play a "pulsing" animation. The alpha (opacity) value will go up and down to notify you that you are resting. The player's name will also change to a cyan color. This option can be disabled in the configuration menu if you find it annoying. You can also change the pulse's strength on a sliding scale between 0 and 1 (representing the difference in alpha between pulses). It is difficult to see from a screenshot, so you will have to check it out for yourself.
Food and Drink Cast Bar
This feature was surprisingly difficult to add because of how the cast bar code works (it most likely is time to refactor this!). While your player eats and drinks to regain health and mana, a buff appears to show how many seconds you have left before it finishes. I had to use similar code to the aura tracking code found elsewhere in the UI to force the cast bar to begin and end, which required some rework with the cast bar code. This feature is more evident in WoW classic than retail because I have hardly needed to rest during my Shadowlands leveling sessions (although I'm slacking and haven't reached level 60 yet due to all the programming).
There are many more features I want to implement, from community suggested feature requests and for secret improvements I have in mind. I'm very grateful for all the recent Patron support, especially those Patrons who have access to the early-access Discord channel; Patrons have been able to test early versions before reaching the public, avoiding many bugs going live. Maybe the solution to this is just more sleep, though.