I think I'll first try to set up a basic Operating System (I'm trying to make something like "miniOS", so basically imitate DOS a bit) and when the basic system is working, I'll try implementing your idea, if that's okay. Anyway, thanks for your help!
Yeah, that's true, but as I said, if I wanted to have "virtual terminals" (-> "windows") and they overlap and I wanted to redraw the one in the background, I somehow need the data that was on it before, which means I have to have its pixels stored somehow. Again, my methods involving having these pixels in a table lead to the whole redrawing process being really slow, as it would call a gpu method for every pixel.
Piorjade reacted to an answer to a question: Undocumented "window" parameter in the term API wiki
That's a great idea! The reason I wanted to make it is that I wanted to try to make an OS myself, idk really why lol. Anyway, I'll take a look at that buffer library that OpenOS apparently uses for I/O. EDIT: I experimented with process metadata and your answer regarding term.internal.open and I don't get why the process doesn't have a "window" entry in the data table and after you set that as the newly created window it only THEN prints to the new window, which is why I also don't get why you used term.bind in the beginning as that apparently doesn't redirect input/output, it binds these components to the current window/terminal (which is still the original one at in that moment) (I attached some screenshots)
Okay, thanks for the tip. Another question (it isn't directly related to the topic, so if that's not good tell me and I'll create a new topic for it) If I wanted to make such a system myself (a self-made term API that allows creating multiple windows), how would I have to handle redrawing the content of them? I already tried having pixels saved in a table (with information like background- and foregroundcolor and which character they contain) but that made it really slow as it iterated through the whole table and made a gpu call for every pixel. I need redrawing if I for example have 2 windows overlap each other and I saw something in the OpenOS code about a stream for the ttys.
Thanks! Is there any wiki page that shows what metadata processes exactly have?
Piorjade started following Undocumented "window" parameter in the term API wiki
Piorjade posted a question in ProgrammingSo I am coming from ComputerCraft and the term API there is pretty straight forward and allows us to create windows to write / redirect to. Anyway, in the term API wikipage of OpenComputers there is for example the method term.bind with an optional parameter "window", the problem is I can't find any information about this parameter and I assumed that this would be the same kind of "window" as in CC and I won't have to write my own API for it. Do you guys know something about it?