Git Product home page Git Product logo

Comments (4)

pfalcon avatar pfalcon commented on May 28, 2024

When assigning coordinates to widgets, picotui does not consider that some consoles will be different sizes.

Of course it considers that, in a very specific and obvious way, from the README:

it lacks geometry managers, so calculating coordinates is up to you

from picotui.

peterjschroeder avatar peterjschroeder commented on May 28, 2024

Yes, the README considers that, but that actual code does not. Is this something you would accept if I can get it working?

from picotui.

pfalcon avatar pfalcon commented on May 28, 2024

README explicitly states that it's outside of picotui's scope. Geometry management can be implemented on top of picotui using separate libraries. Feel free to keep this issue open and discuss the matter with other interested picotui users. (I personally won't be interested in it until I find a usecase for it. In the meantime, there're much more mundane issues to resolve like #13 or #23).

from picotui.

peterjschroeder avatar peterjschroeder commented on May 28, 2024

The functions above work almost perfectly for this. Some additional math is required when text and frames are involved tho. When using ax for a widget width, it would be something like ax(30)-2. Same goes if you have text on the side of the widget, but the minus would be the length of the label.
The way I got it to work, was to set the dialog to 80x24. Than I set all the widget coordinates within that range and wrapped them in these new functions.
Now all the widgets will expand to their right positions on different size screens and when resizing.
The only thing it doesn't handle is if the screen goes below 80x24. It will have overlaps.

from picotui.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.