Mono/.NET bindings to the Unix Curses as well as GUI framework for creating text applications with Curses
Fetching latest commit…
Cannot retrieve the latest commit at this time
mono-curses =========== The goal of this library was to bind curses. There is a low-level binding in binding.cs and a few chunks in handles.cs that provide a basic abstraction. The focus of this work though has been on a simple GUI toolkit for writing desktop applications, inspired on the 15 year old work that I did for the Midnight Commander (you can tell I like those colors). The work in `gui' does not take advantage of curses "WINDOWS" or the Panel library as am not familiar with them, instead we create our own abstraction here. License ======= Console sharp is an ncurses binding licensed under the terms of the MIT X11 license. Features ======== Detects window changes, invokes event for widgets to relayout if the user wishes to. Hotkeys (Alt-letter) are handled by buttons and a handful others. Dialog boxes automatically get centered (even with window size change scenarios). Entry widget has emacs keybindings. ListView widget uses Model/View setup. Color and black and white support (first parameter to Application.Init) TODO ==== * Add scrollbar and thumb to listviews * Add text view widget * Add scrollable control * Checkbox/Radio button are missing * Date/Time widget * Process widget * Command line parsing to demo (to active B&W support). * Port to MacOS X (they have a downgraded curses). * Implement Layout managers, which? * Write a manual/tutorial Implementation Notes ==================== The initial implementation used SafeHandles, but since SafeHandles only became available in recent versions of Mono, I have switched the code to use IntPtrs for now, and will go back to it when newer versions of Mono become more wildly available.