Xcurses: Difference between revisions
| (5 intermediate revisions by the same user not shown) | |||
| Line 4: | Line 4: | ||
Whereas libaa and libcaca (beautifully) attenuate high-resolution graphics, reducing them to input suitable for low-resolution "character cell"-based displays, Xcurses (faithfully) renders programmatic character cell output as virtual vector primitives, applies optional transforms, and renders them to a high-resolution bitmap display. Xcurses will have knowledge of the input forms at the '''character set''' level, which ought allow for interesting effects... | Whereas libaa and libcaca (beautifully) attenuate high-resolution graphics, reducing them to input suitable for low-resolution "character cell"-based displays, Xcurses (faithfully) renders programmatic character cell output as virtual vector primitives, applies optional transforms, and renders them to a high-resolution bitmap display. Xcurses will have knowledge of the input forms at the '''character set''' level, which ought allow for interesting effects... | ||
* Scalable brackets | * Scalable brackets | ||
* True support of GTK/QT themes | * True support of GTK/QT themes | ||
** Palette initialized with the theme palette as opposed to [http://stackoverflow.com/questions/8686368/how-can-the-original-terminal-palette-be-acquired-preferably-using-ncurses-rout a bunch of useless horseshit] | ** Palette initialized with the theme palette as opposed to [http://stackoverflow.com/questions/8686368/how-can-the-original-terminal-palette-be-acquired-preferably-using-ncurses-rout a bunch of useless horseshit] | ||
| Line 46: | Line 46: | ||
** Bad kind of in the same way burning one's testicles is bad, which is to say unpleasant. | ** Bad kind of in the same way burning one's testicles is bad, which is to say unpleasant. | ||
====Hybrid linking==== | ====Hybrid linking==== | ||
* Link all the X crap into libXcurses- | * Link all the X crap into libXcurses-bigfatbagofshit.so | ||
* Dynamically open it from libXcurses once we've verified it's safe to do so, meaning both that: | * Dynamically open it from libXcurses once we've verified it's safe to do so, meaning both that: | ||
** all component objects' _init functions (see [[GCC]] documentation, "[http://gcc.gnu.org/onlinedocs/gccint/Initialization.html How Initialization Functions Are Handled]") may be safely invoked, and | ** all component objects' _init functions (see [[GCC]] documentation, "[http://gcc.gnu.org/onlinedocs/gccint/Initialization.html How Initialization Functions Are Handled]") may be safely invoked, and | ||
** resource consumption in the event of non-use is negligible | ** resource consumption in the event of non-use is negligible | ||
===Take over libcurses.so=== | ===Take over libcurses.so=== | ||
===[[Working_with_libraries#Interpositioning|Interpositioning]]=== | ===[[Working_with_libraries#Interpositioning|Interpositioning]]=== | ||
| Line 72: | Line 73: | ||
==See Also== | ==See Also== | ||
[[TANGE]] | * [[Outcurses]], which actually went somewhere | ||
* [[Notcurses]], which modernizes NCURSES | |||
* [[TANGE]] | |||
[[CATEGORY: Projects]] | [[CATEGORY: Projects]] | ||