Saturday, May 28, 2011

Internal Tiling Window Manager

I haven't been updating quite often enough to this blog, but I feel that as my project moves along and picks up momentum, so will the amount of blog posts. I went to a professor's summer BBQ today, so I ended up starting a bit later than usual. This should of been posted yesterday, but I apparently created the post without actually publishing it the first time. :)

For the sake using the maximum amount of screen space possible, the PySoy Scene Designer will be using a tiling method to manage the windows. For an example of this simple see something like dwm or awesome (tiling window mangers tend not to use capital letters in their names for some reason...), which are two tiling window managers which are used under X. It will be a relatively simple one to start off with, but if it seems necessary I'll add more stuff to it later after other parts of the program have been implemented.

So what I've been working on is the tiling window manager to be used within the program. HBoxes and VBoxes are already implemented in libsoy, so it's just a matter of adding the python c extensions to pysoy. (Which I'm going to work on tomorrow, when I get a chance to clarify. 

The tiling window manager used here really comes down to following three things:
  1. The ability to switch the contents of HBoxes with the contents of HBoxes.
  2. The ability to switch the contents of the VBoxes with the contents of VBoxes.
  3. The ability to full screen any windows.
To help manage this there needs to be a 'active' window at all times. Switches will happen relative to the current window, switching the current window to being the in the primary HBox should be as simple as a key combination press, switching out whatever was in the primary HBox into the secondary HBox, at the top VBox there. And another key combination should allow you to switch back instantly. 

This could be extended to work like cmd-tab does on OS-X (and I think Gnome), if you press cmd-tab once it will go to the last window you used, however if you continue to press tab continuously before unpressing the cmd key it cycles through all of them. The visual functionality of this could be implemented as 'highlighting' the edges of the currently selected window.

No comments:

Post a Comment