Screen is a text console window manager that generates virtual terminals (PTYs) for interactive processes. A scrollback history buffer allows copy&paste, a detach feature saves your session for later reconnect.
Plugin based multi-IM communicator. ncurses or gtk2 (in progress) based GUI.
Support for different protocols: irc, jabber (including gmail), gg (gadu-gadu largest polish IM), tlen, nntp (read only).
Span is an advanced Connect Four-like game for the console, written in Ruby.
Features include:
1. Console. Pure ncurses. No need for fancy X servers, you can play it over your favorite SSH
... [More] connection.
2. Unlimited players and board sizes, though it may get unwieldy (or even strategic) after you add more than a few.
3. AI play for those lonely, cold winter nights.
4. Programmable AI contestants.
5. Network play, because the AI isn’t always friendly.
6. Nifty colors and a sweetass logo. [Less]
Doneyet is an ncurses based hierarchical todo list manager written in C++. If you give it a whirl let me know! I'd be happy to hear who's using it and any feature requests! Mostly, I use it for:
... [More]
Keeping track of things you need to do. Tracking start and finish times and dates for tasks. Generating lists of work completed in a given time frame. Tons of other stuff!
InformationDoneYet is a filter-based todo list manager. Currently there are only four filters but in future versions there will be more and they will be user editable. Currently the filters consist of:
Show All Tasks - This shows all tasks in the current project. Show Unfinished Tasks - This shows any task with a status of unstarted, in progress, or paused. Show Completed Tasks - This shows only tasks that have a completion date within 7 days of now. Find - This filter takes a user specified string and shows any that match. This uses case-sensitive search.
SavingDoneyet will save on quit, or when choosing 'Save' from the 'Project' menu.
Key ShortcutsDoneyet is used primarily through key commands. There is a menu system in place but not everything can be achieved through it. The key commands are as follows:
A - Apply the Show All Tasks filter. a - If a task is selected, add a new subtask of that task. If no task is selected add a root level task. M - Show the menu bar. j and k - Change menu item. l and h - Change menu. Return - Select the selected menu item. Escape - Hide the menu bar. m - Move the currently selected task. Note this doesn't work for root level tasks yet. k/u/Up Arrow - Move selected task up. j/d/Down Arrow - Move selected task down. Return - Place task at current position. Escape - Place task to where it was originally. n - Add a note to the selected task. v - View the notes of the selected task. j - Selected next task. k - Select previous task. Escape - Select no task. e - Edit selected task. d - Delete selected task. c - Toggle collapsed state of selected task. R - Apply the Show Uncompleted Tasks filter. C - Apply the Show Completed Tasks filter. f - Apply the Find Tasks filter. S - Save the project. Space - Toggle the status of the selected item. White is unstarted, green is in progress, blue is completed and red is paused. q - Quit.
Menu SystemThe menu system also contains the 'Plain Text' menu item in the 'Generate' menu. This creates a text file of whatever is currently filtered in /tmp/snippet.txt and then calls less on that file. A potential use of this is reporting weekly progress in email. Copying directly out of the ncurses window is difficult and time consuming. This however generates a plain text version with no borders.
Screenshots [Less]
Termbox library is a simple and clean ncurses alternative. Of course everything has it's own price. In this case it's portability and stability.
Currently all sources are located in my home git (may
... [More] be offline, but unlikely).
GitWeb (git://jiss.convex.ru/termbox.git)
Also I have uploaded a snapshot from git (in case if git will be offline). And I will continue to do it from time to time.
Screenshot - demo program 'keyboard':
The interface only consists of 12(!) functions.
tb_init() // initialization
tb_shutdown() // shutdown
tb_width() // width of the terminal screen
tb_height() // height of the terminal screen
tb_clear() // clear buffer
tb_present() // sync internal buffer with terminal
tb_put_cell()
tb_change_cell()
tb_blit() // drawing functions
tb_select_input_mode() // change input mode
tb_peek_event() // peek a keyboard event
tb_poll_event() // wait for a keyboard eventIt's extremly easy to use and fast to learn. I bet you can fully understand principles of this library in a day. [Less]