PortaLinux Terminal Library - Release Archive
The PortaLinux Terminal Library is a library for making terminal user interfaces (TUIs) in the C programming language. This terminal library strives to implement the same featureset of GNU Ncurses while having much lower complexity and being much smaller. Instead of utilizing a terminfo/termcap library implementation, it just assumes the currently utilized terminal supports the CGA/EGA/VGA superset of ANSI escape codes, which while it makes it less flexible, it makes it really small, and it still implements a very common superset of escape codes.
Here are the releases of this project repo:
- v0.01: Initial release
- v0.02: Fixed some bugs, Implemented plterm-ui API
- v0.03: Fully ported to pl-rt. Reimplemented plterm-ui
- v0.04: Menu Routines
- v0.05: Text Editing Routines
- v0.05.1: Minor bug fix
- v0.05.2: Post-1.02.3 pl-rt compatibility fix
- v0.06: Removed Text Editing Routines, Added Buttons to plterm-ui
v0.01: Initial release
Released on 2022/12/16 by CinnamonWolfy
First release. Here are the features:
- All of the functionality of misc/c-projects/text-editing/term.h
- Library and test compiles and runs
v0.02: Fixed some bugs, Implemented plterm-ui API
Released on 2023/5/7 by CinnamonWolfy
Second release. Here are the changes:
- plTermFillArea added to base pltermlib
- plTermGetAttrib now also returns the memory tracker of the active terminal
- plterm-ui API almost fully implemented
- Codebase has gotten a lot messier (omgwhyisitlikethiswhywhywhyihateitihateitihateitihateitsomuchpleaseneditaaaaljDSnosdnfunewunfd >~<)
- I'm rewritting this entire library next release (i hate this codebase so much please end my suffering >~<)
v0.03: Fully ported to pl-rt. Reimplemented plterm-ui
Released on 2023/9/23 by CinnamonWolfy
Third release. Here are the changes:
- pltermlib has finally been ported to pl-rt. It might get added to portalinux in the next release
- Because of this port to pl-rt, support for nonblocking input has been added
- plterm-ui has been reimplemented since the first implementation was never commited to main and has been lost to time
v0.04: Menu Routines
Released on 2023/10/4 by CinnamonWolfy
Fourth release. Here are the changes:
- Menu routines have been added to plterm-ui
- These routines are capable of rendering a proper ncurses-style text menu
- Some extra features may be added to plterm-ui menus prior to the 1.00 release
v0.05: Text Editing Routines
Released on 2024/6/21 by CinnamonWolfy
Fifth release. Here are the changes:
- Added plTermReadline
- It's not a 1 to 1 match of how GNU Readline works, but it's a nice-to-have
- Overhauled input system
- Unicode input may be broken, but I will test that another time
v0.05.1: Minor bug fix Routines
Released on 2024/9/2 by CinnamonWolfy
Sixth release. Here are the changes:
- Fixed bug where the entire program would crash if you perfectly timed a keypress prior to initialization
v0.05.2: Post-1.02.3 pl-rt compatibility fix
Released on 2024/9/5 by CinnamonWolfy
Seventh release. Here are the changes:
- Fixed bug that made pltermlib not compile on pl-rt versions past 1.02.3
v0.06: Removed Text Editing Routines, Added Buttons to plterm-ui
Released on 2025/6/13 by CinnamonWolfy
Eighth release. Here are the changes:
- Removed plterm-edit
- I remebered that this is supposed to be a TUI toolkit first and foremost rather than an editor in a library
- This code will be reused for internal functions within pl-coreutils
- Overhauled Menu system to utilize a universal plterm-ui list type
- Added Buttons to plterm-ui
- Utilizes the same list format as the Menu system