EMCO, the Embeddable Multi Console Object!
Posted: Sun Aug 18, 2019 1:27 am
Some of you may remember me from such hits as fText, anitimers, and iGauges. However, my best known work may very well be YATCO(Yet Another Tabbed Chat Option). And it's pretty useful, if I do say so myself. But there have always been some improvements needed.
For one thing, it was inherently limited to only one tabbed container. That never sat too well with me. I mean sure, if all you wanna use it for is chat, that's ok. But if you wanted to make any other tabbed collected of miniconsoles in addition to that one, you had to make a bunch of adjustments and a whole new table and it was just not worth it.
For another, trying to theme YATCO with CSS simply wasn't possible. When I originally coded it, CSS was more of a bother to use in Mudlet (no CSSMan available, nor Geyser for that matter) and so I just stuck with some pretty simple configuration options to make it easier on myself.
Thirdly, deriving the size based on fontSize, number of characters in a line and number of lines in the miniconsole only really made sense in the original version, before Geyser. It makes even less sense since Geyser got autoWrap, which YATCO never could take advantage of without modification
And finally, embedding YATCO as written into an existing UI was way more pain and effort than it should have been.
EMCO solves all of these problems by storing the values internally and following the Geyser patterns to keep it functionally similar to other Geyser items. It also should make it easier to use in things like the Drag and Drop framework.
I also included a script which will read your current YATCO configuration and give you the necessary constraints to duplicate it, assuming you've not made any modifications. You can download releases from: https://github.com/demonnic/EMCO/releases
Basic information is available at the wiki: https://github.com/demonnic/EMCO/wiki
LDoc for the functions available to EMCO objects is available as well: https://demonnic.github.io/EMCO/index.html
And here's an ugly test EMCO:
For one thing, it was inherently limited to only one tabbed container. That never sat too well with me. I mean sure, if all you wanna use it for is chat, that's ok. But if you wanted to make any other tabbed collected of miniconsoles in addition to that one, you had to make a bunch of adjustments and a whole new table and it was just not worth it.
For another, trying to theme YATCO with CSS simply wasn't possible. When I originally coded it, CSS was more of a bother to use in Mudlet (no CSSMan available, nor Geyser for that matter) and so I just stuck with some pretty simple configuration options to make it easier on myself.
Thirdly, deriving the size based on fontSize, number of characters in a line and number of lines in the miniconsole only really made sense in the original version, before Geyser. It makes even less sense since Geyser got autoWrap, which YATCO never could take advantage of without modification
And finally, embedding YATCO as written into an existing UI was way more pain and effort than it should have been.
EMCO solves all of these problems by storing the values internally and following the Geyser patterns to keep it functionally similar to other Geyser items. It also should make it easier to use in things like the Drag and Drop framework.
I also included a script which will read your current YATCO configuration and give you the necessary constraints to duplicate it, assuming you've not made any modifications. You can download releases from: https://github.com/demonnic/EMCO/releases
Basic information is available at the wiki: https://github.com/demonnic/EMCO/wiki
LDoc for the functions available to EMCO objects is available as well: https://demonnic.github.io/EMCO/index.html
And here's an ugly test EMCO: