You are reading a single comment by @Gordon and its replies. Click here to read the full conversation.
  • I'm guessing "v" is vertical here, so top -down is simple, then nesting an "h" inside the first "v" element gives you a grid

    That's right, yes.

    and you could have anchors like "ne", "n", "nw" to align to corners, top, bottom

    Not sure I understand this one? We have halign/valign - but maybe ne/n/nw is tidier?

    it would be nice if the Layout automagically knew to redraw

    Yes, I was wondering about that. Thinking about even the clock example I feel there might be too many edge cases for us to be able to implement it easily.

    now mapping 12-bit colors down to 3-bit... ouch.

    If you use the #rgb color format it's not too painful - I've been going through some of the existing apps/widgets getting them working already. I've found that because you know it's going to round the values you can generally get something that ok on both. Having said that there's now g.theme (since the new 3 bit screen looks best with black on white, and Bangle is nicer with white on black), and that can mess things up!

    go through the bangle apps and try to lay them out using these rules

    Absolutely, yes! As a first start I think i'll add this library to BangleApps and then see about modifying one or two apps.

    Nothing worse than being forced to build to a butt ugly ui layout.

    I'm open to ideas here to make it produce nice results. At the end of the day nobody is forced to use it - the plan is to make it easy to build common app layouts, but also to allow folks to render all or part of the screen themselves if they want to.

    can we have long press built into the firmware

    Maybe that's part of a bigger problem. I guess in a lot of apps you will want the 3 'hard' buttons to do specific tasks rather than having on-screen buttons.

    So really you want:

    • On Bangle.js 1.0: 3x labels down the right of the screen in line with the buttons - direct access from the Bangle's buttons
    • On Bangle.js 2.0: 3x buttons down the right of the screen - touches on-screen to make them work

    And that wants to be built into the layout library somehow. Adding a long-press callback to that should be pretty easy though


Avatar for Gordon @Gordon started