termpixels icon indicating copy to clipboard operation
termpixels copied to clipboard

Simpler abstraction for terminal I/O on Unix and Windows

Results 10 termpixels issues
Sort by recently updated
recently updated
newest added

Not all possible key/modifier combinations are currently detected. Implement support for more key combinations.

status: in progress
high priority

wrap_text() is not only broken in some cases, but it assumes by default that all unicode spaces, and only unicode spaces, are word wrap break points. This is simply not...

bug
status: planning

Add unit tests, better docs for draw_frame() introduced in 1ec69c2eef79c3c4f3de8b2695616d659d24cb7d

Ideally, we communicate with Unix terminals entirely using terminfo strings. However, many people/terminals have chosen unfavorable TERM environment variable values which point to terminfo entries that do not express the...

status: planning

Given more backend support like cursor save/restore and relative cursor motion, we could create a rich REPL utility for the non-alternate screen. Some ideas: - REPL helper which can print()...

status: planning

Windows 10 Console supports a VT emulation mode, which seems to be more performant and has features such as improved color support. Create a backend which uses this mode instead...

status: planning
high priority

Both [Unix (VT-like terminal)](https://invisible-island.net/xterm/ctlseqs/ctlseqs.html) and [Windows](https://docs.microsoft.com/en-us/windows/console/scrolling-a-screen-buffer-s-contents) support scrolling sub-regions of the terminal's buffer contents. Add a method to `Screen` such as `Screen.scroll_buffer()` which accepts a rectangle and a scroll vector....

status: planning
low priority

`Screen` records whether cells need to be updated on a cell-by-cell basis. Modify `Screen` internals to, e.g., record the minimum and maximum extents of the region that has been modified,...

status: planning
low priority

Find an efficient and intuitive method of representing text decorations such as underline, bold, and italic in the `PixelData` class. Implement rendering in backend.

status: planning