Projects‎ > ‎


This is the home of ylixir's curses.  ycurses is a set of modules that provide an extremely thin binding for the (n)curses library in D.

You can get it here.
You can see the google code project here.
You can discuss the project here.

Examples are included in the source distribution. If you have trouble building your own project please take a look at the makefiles in the example folders.

Bugs are bound to be there, if you find something, or fix something on your own please contact me.

Design goals are:
  1. No extra library to link, or extra initialization functions. Use the same linkages as you would need in C.
  2. Keep the syntax as close as possible to C. This will allow me to write minimal documentation, and people already familiar with curses to read minimal documentation.
You can view the current status of the project by looking at the roadmap.

Things you should be aware of:
  1. D arrays != C arrays. If your program seg faults, it's probably related to an array issue. Make sure all your arrays (including strings) are null terminated, and make sure you are passing a pointer to the array data.
  2. ACS_ "constants". This can't be implemented as far as i can tell without adding a separate library to link, which i don't want to do. Instead of ACS_whatever use acs_map[ACS.whatever]
Some related pages you might want to take a look at:
  • Dejan Lekic wrote a curses binding long before I did.  His has a few differences from mine, so if mine doesn't work for you, take a look at his.
  • NCURSES Programming HOWTO is a good reference for learning curses.  My example code will most likely be lifted from this site.
Subpages (1): ycurses roadmap