-
-
This would be very nice, fiddling with UI positions is definitely one of my least favorite activities.
I think we also want
align:
, and a way to specify which part of the screen to use. a) so you can use it with or without widgets, and b) to test if a layout fits on a smaller screen.
(But default to just using the whole screen, or even check ifBangle.loadwidgets()
has been called?)It would also be nice if you could make one part get all "remaining" space, so you could do something like this:
var layout = ["vertical", {type:"text", font:"6x8", txt:"Temperature"}, // centered? at top of screen ["horizontal", // right below "Temperature" {type:"text", font:"30%", txt:"20.0"}, // against left screen edge {type:"text", font:"6x8", txt:"'C"} // against right screen edge ], {type:"custom", size:"fill", render:drawThermometer},//draw in middle of screen {type:"button", txt:"more...", touch:myTouchHandler}, // centered? at bottom ]; function drawThermometer(x,y,w,h) { // x,y,w,h: available space after other parts are placed }
Some more questions:
- What happens if you re-render just one "6x8" text, but it now has a different length?
- How to handle buttons on a Bangle.js 1.0?
- What happens if you re-render just one "6x8" text, but it now has a different length?
-
Did you setup Gadgetbridge weather reporting on your phone?
The watch weather app doesn't check whether Gadgetbridge is connected or not, just that it has not received weather data, so it shows 'Is Gadgetbridge connected?'.
-
-
Not having the ability to screenshot on the Bangle feels like a big issue
For most apps like clocks using the emulator would probably work, but maybe "adding screenshots is a good idea" should be documented a bit more? It's easy to overlook for people who just spent a lot of time staring at the app while developing it.
(Somewhat off-topic: a nice addition might be some way to specify a single screenshot per app which is displayed right away in the list of apps.)Download stats would definitely be nice to see, but you run the risk of a feedback loop where people keep downloading the most downloaded apps.
Maybe the About page could get a button to "Participate in survey", to submit currently installed apps? That way it's opt-in, and the idea is that people submit their setup once they are happy with it, so you won't count e.g. five HRMs per user while they try them all out.
(And because they are submitted as set, you could even suggest apps "often used together") -
New setting "Simple button" added in version
0.05
: https://github.com/espruino/BangleApps/commit/2b356a22f5327fe480a0418497a7a349576a5e08 -
My app for music-playback on Android (MortPlayer Music, a folder-based player) has the option to watch for multiple play/pause presses to change to next/previous song (2x and 3x) and next/previous folder (4x and 5x).
I could add a setting to disable 2x/3x presses, making it just pass on all presses as play/pause directly. But it looks like the app also responds to long-pressing, and that's not going to work through GadgetBridge. Do you need those to work as well?
Meaning I'd be happy to add the setting (it won't be much work) but if you're going for https://banglejs.com/apps/#hidmsic anyway please say so and I won't bother ;-)the BangleApps repo isn't automatically updated - I manually do it maybe once a week.
Right, that makes total sense.
-
I can no longer change an album/music folder by clicking four times on BTN2
Clicking four times never did anything: it's two times for next (and once for play/pause, three for previous)
Something weird seems to be going on though, as (at least for me) https://banglejs.com/apps/#gbmusic shows v0.03 as the latest version, instead of v0.04. (even if I download https://banglejs.com/apps/apps.json directly)
The "disable touch controls" setting was only added in v0.04, so my guess would be that whatever weirdness happened might have caused v0.03 to be installed on your watch. -
You forgot to add a comma before the new
data
section in yourapps.json
, making it invalid JSON: https://github.com/hughbarney/BangleApps/commit/68c24811c5e1ed7957e3554700e1dd98a659e1db#diff-70e375511009c0cb767fdc64667e148359c6d6b7b8cf4f100b7eb0e853f83529R3103-R3104 -
-
Is there any way to get a list of listeners created by
setWatch()
?I was thinking about creating a global listener, so it would be nice if it could do something like
setWatch(()=>{ // check only this function is listening if (getWatches(BTN1).length === 1) doCoolStuff(); }, BTN1);
And that would allow me to
doCoolStuff
by pressing BTN1 from e.g. most clocks, but without interfering with apps that actually use BTN1.And I guess the same question for
Bangle.on()
? (Because I just realized it would be neat to swipe from the clock to settings/launcher) -
An advantage of running it in Bangle.js would be that you could choose to actually draw some of them, e.g. if a notification only consists of a smiley. (or use it as icon if it's the first/last character)
On the other hand: there are tons of them, I guess phone-side you might be able to run a more complete translation? -
I don't think app submodules are a good idea, they would complicate things a lot without adding much (if any) benefit: Instead of just forking the BangleApps repo, you first need to learn about submodules, then fork/create the app repo. And then fork the BangleApps repo anyway to update the submodule. (Not to mention the complications if an app maintainer seems inactive/deletes their repo, or for global changes which affect multiple apps)
CODEOWNERS looks interesting though, it could be a neat way for people to opt-in to receive notifications about certain apps, and you could ask issue submitters to look at that file for people to @mention. It seems a bit duplicate with the per-app readme/blame, but it also means people who for some reason don't want to be bothered anymore could just be removed from the CODEOWNERS file.
-
NebbishHacker
Thanks!
That looked pretty amazing, and it seemed like a shame to let all that hard work to to waste.
So I went ahead and converted it into an actual app: https://github.com/espruino/BangleApps/pull/340The way you draw those images also made it really easy to use a smaller version for a widget :-)
g
is the constant for standard acceleration due to gravity:9.8 m/s²
.This pops up a lot in accelerometers, because a sensor at rest measures
1g
in the vertical direction.