Geyser is the go-to way for making awesome interfaces in Mudlet and it's received a lot of improvements in this release. Read on!
Thanks to Edru2, it is now possible to put labels, miniconsoles, and the mapper inside userwindows! Userwindows in Mudlet are pop-up windows that you can drag around with your mouse, resize, or even move to another monitor. Previously, only miniconsoles could go into a userwindow.
Here's a demo of the chat capture EMCO working right inside a userwindow!
Sounds interesting? Check out the docs on how to get started.
Continuing their roll, Edru2 added tooltips to labels and Geyser objects! You can now add a tooltip easily with mylabel:setToolTip("tooltip here"), check out some examples.
Edru2 has also added setProfileStyleSheet() - an easy to use, drop-in replacement for setAppStyleSheet() that only affects the current profile and not all of the other ones as well. Super handy!
If you're a UI author, it is strongly encouraged to switch over to this new feature. You can easily handle old Mudlets that don't have this feature yet with:
local stylesheet = [[<em>my stylesheet here</em>]]
if setProfileStyleSheet then
setProfileStyleSheet(stylesheet)
else
setAppStyleSheet(stylesheet)
end
Previously, if you wanted to format the way a label looks like, your only option was to use the format string every time you echo'd something to a label. No longer! Now there are explicit :setBold(), :setUnderline(), :setItalics(), :setStrikeThrough(), :setFont(), :setFontSize(), and :setAlignment() functions available thanks to demonnic's work on this.
Okay, that was a ton of Geyser improvements. Ready for one more?
In Geyser, when you hide a container, all of its children get hidden as well. Makes sense, right? However, there is a way you can still get a child to show - if you call :show() on it explicitly. This means that you can get a child of a hidden container to show up! This obviously doesn't sound right, and it affects things like anitimers working correctly.
We've fixed it - but in QA testing, we've discovered that a few UIs have been built that rely on this broken behavior to work: that is, getting a child to show up even though their container is hidden. As we don't want to introduce an update that fixes-but-really-breaks things, we've postponed this change until the next 4.7 release. Meanwhile, if you're a UI author, test this Windows / macOS / Linux version of Mudlet to see if your UI is affected and if you need to fix it.
The setting for picking a main window font was previously only limited to monospace fonts, as those are the ones that we've optimised our custom-made text display for. As part of our internalisation work, we've added emoji and non-English letter support to the display as well - which now makes it good enough to be used with all fonts!
Non-monospace fonts in Mudlet still aren't perfect, and not all fonts are designed to be used for their letters, so beware. On top of that text games are still optimised for monospace fonts - those are easier to align text and columns with!
Have a zip, need to unzip it? The new unzipAsync() function by Vadi will do that just for you! It also won't freeze Mudlet up while it's unzipping because it's asyncronous and multithreaded.
The notepad now will correctly store and load contents in utf8, allowing for all languages and emoji's to show up. Thanks to SlySven for making this work!
We have an outstanding bounty of 410 USD to add screenreader support to our super quick, custom-made game text display widget - so visually impaired users can get game text read out to them. Interested in making some cash? Dive in, and join us on Discord to talk about it!
Unfortunately due to a publication error, Mudlet 4.5.1-de will not automatically update to 4.6.0. Go to mudlet.org/download and manually install the new version. Don't worry - all your profiles will stay.
Thanks to all coders: atari2600tim, demonnic, Edru, Faenriis, mpconley, shacknetisp, SlySven, and vadi2 who made this release possible!
Thanks to all translators Gandalf07, Leris, Marco "M0lid3us" Tironi (wiploo), Vadim Peretokin (vperetokin), vingi, and Ömer Albulak (albulak) for translating Mudlet into their own language.
added:
improved:
fixed: