Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
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.