C++ library extending existing NCurses++ library and providing a tiling window manager and a (more or less) working pseudo terminal window based on libvterm.
Find a file
Christian Burger 3be5336ca0 refactoring tiling window manager
Laying out the windows in the window manager frame, is a very similar
process regardless of doing it horizontally or vertically. So the
template design pattern was applied and the general functionality was
pulled up; only specific functionalities were put into the corresponding
classes.

kNCursesDemoApp: Separated the screen into three windows vertically. The
top and bottom window contain another two windows each, lay out
horizontally. The top left window is fixed to width 1 and the top right
takes the rest of the space. Bottom two windows take 50 % of the space
each.

Remarks: There are still some rendering bugs, when hiding and showing
windows. E. g. when hiding the top or middle window with `<F1>` or
`<F2>` respectively, the bottom window has some errors. Maybe some
timing issue.
2022-05-18 21:15:13 +02:00
.vscode renamed to project to kNCurses 2022-05-06 22:42:09 +02:00
cmake cmake: some improvements 2022-04-23 22:24:08 +02:00
include/kNCurses refactoring tiling window manager 2022-05-18 21:15:13 +02:00
.gitignore cmake: determines version from latest Git tag 2022-04-23 10:00:33 +02:00
CMakeLists.txt added HorizontalWindowManager to DemoApp 2022-05-08 21:37:06 +02:00
Debug.cpp improvements to debug output for syscalls 2022-04-18 22:53:25 +02:00
Debug.hpp improvements to debug output for syscalls 2022-04-18 22:53:25 +02:00
DemoApp.cpp refactoring tiling window manager 2022-05-18 21:15:13 +02:00
DemoApp.hpp refactoring tiling window manager 2022-05-18 21:15:13 +02:00
HorizontalTilingWindowManager.cpp refactoring tiling window manager 2022-05-18 21:15:13 +02:00
LICENSE added license and basic "read me" information 2022-04-05 10:24:22 +02:00
main.cpp renamed App.* to DemoApp.* 2022-05-08 21:26:12 +02:00
PtyWindow.cpp renamed to project to kNCurses 2022-05-06 22:42:09 +02:00
README.md consistent naming of project NCursesPtyWindow 2022-04-05 10:28:10 +02:00
SingleUserInput.cpp renamed to project to kNCurses 2022-05-06 22:42:09 +02:00
TilingWindowManager.cpp refactoring tiling window manager 2022-05-18 21:15:13 +02:00
VerticalTilingWindowManager.cpp refactoring tiling window manager 2022-05-18 21:15:13 +02:00
Window.cpp horizontal window manager now resizes correctly 2022-05-08 22:52:23 +02:00

Description

WARNING: This is a prototype. Things will probably break; in spectacular ways.

NCursesPtyWindow provides a pseudo terminal in a ncurses window.

Building

Requires:

Running

Though this is a library, there is a demo application. It starts the currently running shell (or /bin/bash if SHELL environment variable is not set) and runs it in a ncurses window.