Thanks @rigrig - yes, the docs need updating. I'll try and get something in for that.
The general idea is you have a few different UI modes that are supported (up/down, left/right) and that play well with E.showMessage/showMenu/etc. Not only do they work on Bangle.js, but when Bangle.js 2 is released (or any other device with a full touchscreen but not all 3 buttons) then the apps work on there too.
It has a few benefits:
For clocks, Bangle.CLOCK gets defined, so you can do stuff only when in a clock app (eg the clock widget now only appears if you're not on a clock app)
I've had a lot of folks asking: why can't the launcher start on another button / can I start a certain app on BTN3 / can I swipe to another app / etc. Previously you'd have had to have made your own clock, but now you can just create a new Bangle.setUI and now every app will use that.
If you used E.showMenu in your clock app it'd have conflicted with the showLauncher - and now that is fixed too.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Thanks @rigrig - yes, the docs need updating. I'll try and get something in for that.
The general idea is you have a few different UI modes that are supported (up/down, left/right) and that play well with
E.showMessage/showMenu/etc
. Not only do they work on Bangle.js, but when Bangle.js 2 is released (or any other device with a full touchscreen but not all 3 buttons) then the apps work on there too.It has a few benefits:
Bangle.setUI
and now every app will use that.E.showMenu
in your clock app it'd have conflicted with the showLauncher - and now that is fixed too.