I realize I am becoming a bit off topic with this window manager idea. Complain if you think I am too much.
Just adding some late thoughts on this.
First, previous comment was making corners to accept just one application, by the fact that once you added a program in a corner, the opening icon was changed to a closing one. This is really a mistake because one of my main usage pattern expected is to use just center area plus many applications open in one corner, only one being visible at a time. So my first change is to say that the opening icon is always visible in a corner. I wish also to allow opening in the same way many programs at the center (full-screen) area, only the last being visible. That is why I wish to make the opening icon permanent on the floating 'control center'. This allows the usage pattern of just using the center slot, making it similar to one of my previous 'full-page' only one window open at a time.
One of the rational of the design is to make it easy to change how programs are 'tiled' on screen with minimal keybord shortcuts: Ctrl-PageUp to rotate programs counterclockwise (probably 2 to 8) among the visual slots (corners). Ctrl-PageDown to rotate in the other direction: clockwise.
I have seen realized that sometime, the corner will cover a usefull spot of the center (full-screen) program. For this, my first idea, that I am keeping is to have a button on the control center to hide/show all corners. This button would alsow hide/show opening/closing icons too. If floating windows is kept in the design, on other button to hide/show all floating windows (except control center) would be added too.
A fancy design, could allow each corner to hide/show individually. I came with the 5 on a dice toggle buttons for this: O O O O O
Each corner would hide/show the corresponding corner. The center button would hide/show all the corner. There could also be small buttons between the center button and corners buttons, to allows flipping the program in the corner with the one in the center.
Now, an other solution to a corner hiding important window on the center app, is to allow to rotate not only the programs but the corner themselves. I guess I would not only rotate active corners, but all the corners. So now we would add to buttons in the control center: RCL: Rotate Corners Counterclockwise (Left) RCR: Rotate Corners Clockwise (Right)
It has also come to my mind that maybe corners could not be the best place to put my slots. Maybe, Up, Right, Down, Left would have been less used on the center app than it's corners. So at first, I thought about changing the CornerWindowManager to a CrossWindowManager. Actually, I guess it is a question of taste.
So I suggest that: Rotating Clockwise/CounterClockwise corners of a CornerWindow would make it a CrossWindow. Rotating Clockwise/CounterClockwise Up/Right/Down/Left slots of a CrossWindow would make it a CornerWindow.
Basically, the slots would looks like 1 2 3 4 5 6 7 8 9 in the initial position.
Rotating Slots Right (Clockwise) on initial position leads to: 4 1 2 7 5 3 8 9 6
Rotating Slots Left (Counterclockwise) on *initial* position leads to: 2 3 6 1 5 9 4 7 8
It is important to note that each slots is not just one program, but a stack of programs (latest open on the top, which is the visible one). So that when rotating clockwise *Programs*, if you examine one of the slots: -The program on the bottow of the stack goes to top of the 'next' slot -All programs goes down one level in the stack -The top (visible) level of the stack is filled with 'previous' slot
When rotating counterclockwise programs, one one slot: -The top level program is moved to the bottom of an other slot -All programs goes up one level in the stack -The bottom program is filled with an other slot top program
Frankly, I am not too sure how this design would feel. But sure I'd like to be able to test it!