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-helper
* 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]]