msoucy / dncurses Goto Github PK
View Code? Open in Web Editor NEWHigh-level D wrapper for ncurses
License: Other
High-level D wrapper for ncurses
License: Other
Functions that currently have an additional mv- function can have those rolled in with the originals via overloading.
As it is now, the logic for getstr() with no limit is kind of iffy. It should be verified and fixed as much as possible. Currently it doesn't handle ^X, M-X, or tabs properly.
Window-creating feels really complex and unintuitive. There should be a way to make it simpler without losing support for different situations
The user needs a way to disable automatically calling refresh() whenever put is called - in fact, this should probably be the default behavior.
Refresh might be better off calling wnoutrefresh and then doupdate later on...but not sure on that one.
If a program is built with rdmd, then (unless panel is imported) -lpanel isn't needed. However, with DUB, all source files are imported by default. As a result, -lpanel is needed when importing as a DUB package. Which is "fine", but I'd prefer not to link EVERYTHING and then tell it to strip unused stuff, since that messes with the result too much for my liking.
It's possible to prefix it with version(metus_dncurses_panel) and have users specify them in their "dflags", but the problem with this is that non-DUB users would need to manually add "-L-lpanel -version=metus_dncurses_panel", which doesn't really look nice, and is different depending on dmd/ldc/gdc anyways.
Alternatively, something like this inside panel.d:
version(Have_dncurses) {} // Defined by dub
else version=metus_dncurses_panel
Since this is meant to be a higher-level wrapper, it doesn't make sense to have a lot of the stuff that's in here. Figure out what names can be abstracted away.
Some functions for consideration:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.