About the GUI once again.
I came to think that one of the problem of the previous design, was that Up Down was moving from the (same application) instances. I was also thinking on the fact that limiting to a single application on the screen is a ... drawback. Often someone will work with different kinds of programs at the same time. Havin to Escape to go to a different application is not fun. Also, I was thinking about tiling manager (which I am not used to). Now, it came to my idea that tiling at first glance means that all sub-windows are rectangles. But it seems more usefull for me, to have one main application occupy full screen, except for a less often used application occupying one of the corner. So I begin to think about what I would call the corner window manager.
Basically at the beginning, the screen is empty, except for a '+' icon at each corner, plus one '+' at the center of the screen.
When you click on one of the + icon, a popup screen allows you to choose which program to open. The newly open program appears in the corner where you had clicked or the center if you had clicked on the + at the center of the screen. You can change the size of the newly opened program. It is important to note that the size is linked to the program occupying the corner, not to the corner itself.
So you can open up to 5 programs. Each corner and the center is either active if a program is open there, or inactive if there is no program there. An active corner have a closing icon. An inactive corner (or the middle) have a opening icon: '+'. Also, the program in the center occupy the full 'screen', except for the active corners programs that appears to overlap it.
As soon as one program is opened, the floating control center appears. It has 3 buttons with the following functions: -Rotate programs to the right (clockwise) among active corners and the center if it is active. -Rotate programs to the left (counterclockwise) among active corners and the center if it is active. -Close the main program (the one in the center)
So if you have just the center and a single corner active, pressing any of the Rotate buttons does exchange the main program with the corner program.
It make some sense to me to add also on each corner, a floating icon. That would transform the program in the corner, to an overlapping window. Floating windows would not be affected by rotation commands. Floating windows would have an 'unfloat' icon, to allow them to move back in an inactive corner if there is one. So that they would once again, by 'rotatable'. Floating windows would also have a closing icon.