It's really hard to explain what I am looking for exactly so I have made some example output of how I would like my terminal to behave. (each number at the start of a line represents a return on that line and > represents the input line.
> me@computer:~$ 5. me@computer:~$ cat somefile < command start of file < output < output this < output is < output the < output content < output of < output the < output file < output < output end of file < output 4. me@computer:~$ 3. me@computer:~$ 2. me@computer:~$ 1. me@computer:~$ echo this is the first line < command this is the first line < output
in this example the input line where you type the commands that you want to execute will always be on the top. And it will push each command and it's output downwards as "events" so to speak. So if you cat a file, it won'd output everything in the reverse order, so the appearance of the output of each command is unchanged, just it's position.