Please sign in to access this page
A terminal shell made with ncurses that saves your sessions.
No followers yet
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
The terminal multiplexing is finally here. I've switched from pure ANSI escape codes to ncurses because I just couldn't make multiple panes with ANSI escape codes alone, it just wasn't working for whatever reason. But with switching to ncurses, I've made programs that use ANSI escape codes break, because ncurses is stupid and doesn't know how to interpret escape codes. I'll have to build a vt100 terminal emulator, but hey! At least, we got multiple panes now!
Previously the pseudoconsole started in a separate window. But now it runs in the same window as the terminal. This may make it seem as if I've just made a program that runs cmd.exe but it's so much greater than that. This is a pseudoconsole you are looking at. Also I can make multiple of them in the same window, allowing me to make a terminal multiplexer... FOR WINDOWS! I've also got input and output working, all output from the pseudoconsole is printed into the main terminal and input is taken from the main terminal and passed through the pseudoconsole, previously I wasn't able to do this because the damn pipes weren't transferring anything. All hail ConPTY.
Finally added a pseudo console using the Windows ConPTY API. The pseudo console currently starts in a separate window which I don't want, I'll change it to be in the main window in the next devlog. The reason I'm using virtual terminals is because I'm using ncurses for the terminal UI in the main window so output of external commands isn't going to mesh well with ncurses. Also it gives me the potential option of making multiple pseudoconsoles which would make the project a terminal multiplexer. UNIX PTYs will have to wait though, that's a whole other can of worms.
Initial devlog.
Project at this state is capable of being a (semi) functional shell. External commands runs very poorly as ncurses does not recognize external output. I'll need to do something with pseudo terminals but that's going to be insanely difficult on Windows.