diff --git a/README.md b/README.md index 1328284..fc90d48 100644 --- a/README.md +++ b/README.md @@ -22,8 +22,9 @@ the changes (damage) to the screen. Blessed is arguably as accurate as ncurses, but even more optimized in some ways. The widget library gives you an API which is reminiscent of the DOM. Anyone is able to make an awesome terminal application with blessed. There are -terminal widget libraries for other platforms (primarily python and perl), but -blessed is the most DOM-like. +terminal widget libraries for other platforms (primarily [python][urwid] and +[perl][curses-ui]), but blessed is possibly the most DOM-like (dare I say the +most user-friendly?). Blessed has been used to implement other popular libraries and programs. Examples include: the [slap text editor][slap] and [blessed-contrib][contrib]. @@ -1207,42 +1208,47 @@ program.feed(); ## FAQ 1. Why doesn't the Linux console render lines correctly on Ubuntu? - - You need to install the `ncurses-base` package __and__ the `ncurses-term` - package. (#98) + - You need to install the `ncurses-base` package __and__ the `ncurses-term` + package. (#98) 2. Why do vertical lines look chopped up in iTerm2? - - All ACS vertical lines look this way in iTerm2. + - All ACS vertical lines look this way in iTerm2. 3. Why can't I use my mouse in Terminal.app? - - Terminal.app does not support mouse events. + - Terminal.app does not support mouse events. 4. Why doesn't the Image element appear in my terminal? - - The Image element uses w3m to display images. This generally only works on - X11+xterm/urxvt, but it *may* work on other unix terminals. + - The Image element uses w3m to display images. This generally only works on + X11+xterm/urxvt, but it *may* work on other unix terminals. 5. Why can't my mouse clicks register beyond 255-287 cells? - - Older versions of VTE do not support any modern mouse protocol. On top of - that, the old x10 protocol it does implement is bugged. Through several - workarounds we've managed to get the cell limit from 127 to 255/287. If - you're not happy with this, you may want to look into using xterm or - urxvt, or a terminal which uses a modern VTE, like gnome-terminal. + - Older versions of VTE do not support any modern mouse protocol. On top of + that, the old x10 protocol it does implement is bugged. Through several + workarounds we've managed to get the cell limit from 127 to 255/287. If + you're not happy with this, you may want to look into using xterm or + urxvt, or a terminal which uses a modern VTE, like gnome-terminal. 6. Is blessed efficient? - - Yes. Blessed implements CSR and uses the painter's algorithm to render the - screen. It maintains two screen buffers so it only needs to render what - has changed on the terminal screen. + - Yes. Blessed implements CSR and uses the painter's algorithm to render the + screen. It maintains two screen buffers so it only needs to render what + has changed on the terminal screen. 7. Will blessed work with all terminals? - - Yes. blessed has a terminfo/termcap parser and compiler that was written - from scratch. It should work with every terminal as long as a terminfo - file is provided. If you notice any compatibility issues in your termial, - do not hesitate to post an issue. + - Yes. blessed has a terminfo/termcap parser and compiler that was written + from scratch. It should work with every terminal as long as a terminfo + file is provided. If you notice any compatibility issues in your termial, + do not hesitate to post an issue. 8. What is "curses" and "ncurses"? - - ["curses"][curses] was an old library written in the early days of unix - which allowed a programmer to not have to worry about terminal - compatibility. ["ncurses"][ncurses] is a free reimplementation of curses. - It improved upon it quite a bit and is now the standard library for - implementing terminal programs. Blessed uses neither of these, and instead - handles terminal compatibility itself. + - ["curses"][curses] was an old library written in the early days of unix + which allowed a programmer to not have to worry about terminal + compatibility. ["ncurses"][ncurses] is a free reimplementation of curses. + It improved upon it quite a bit and is now the standard library for + implementing terminal programs. Blessed uses neither of these, and instead + handles terminal compatibility itself. 9. What is the difference between blessed and blessed-contrib? - - blessed is a major piece of code which reimplements curses from the ground - up. A UI API is then layered on top of this. blessed-contrib is a popular - library built on top of blessed which makes clever use of modules to - implement useful widgets like graphs, ascii art, and so on. + - blessed is a major piece of code which reimplements curses from the ground + up. A UI API is then layered on top of this. blessed-contrib is a popular + library built on top of blessed which makes clever use of modules to + implement useful widgets like graphs, ascii art, and so on. +10. Are there blessed-like solutions for non-javascript platforms? + - Yes. There are some fantastic solutions out there. + - Perl: [Curses::UI][curses-ui] + - Python: [Urwid][urwid] + - Go: [termui][termui] & [termbox-go][termbox] ## Contribution and License Agreement @@ -1263,3 +1269,6 @@ See LICENSE for more info. [termui]: https://github.com/gizak/termui [curses]: https://en.wikipedia.org/wiki/Curses_(programming_library) [ncurses]: https://en.wikipedia.org/wiki/Ncurses +[urwid]: http://urwid.org/reference/index.html +[curses-ui]: http://search.cpan.org/~mdxi/Curses-UI-0.9609/lib/Curses/UI.pm +[termbox]: https://github.com/nsf/termbox-go