Grid
Move and resize your windows to fit an imaginary grid.
Inspired by winsplit revolution http://www.winsplit-revolution.com/
Git repository http://cgit.compiz-fusion.org/~stevek/grid/
Blog http://suasol.wordpress.com/category/projects/
Install
Note that grid is now included in compiz so you're unlikely to need to fetch from git unless you've an old version of compiz.
FIXME: the git link is wrong - the plugin has moved to compiz/plugins/grid and an older version (not the head) is needed.
On a fresh install of ubuntu 8.10 you will need to
- uncomment the "intrepid-backports main restricted universe multiverse" and "intrepid partner" repositories in your sources.list
- update your list of available packages
- install those necessary dependencies
- clone the git repository
- make, make install
- enable and configure "grid"
sudo gedit /etc/apt/sources.list sudo aptitude update sudo aptitude install git-core libtool compiz-dev compiz-fusion-bcop compizconfig-settings-manager mkdir tmp;cd tmp git clone git://anongit.compiz-fusion.org/users/stevek/grid;cd grid make make install ccsm (to enable and configure "grid")
To update the changes when changes are committed to the repository
cd tmp/grid (for instance!) git pull make make install
Apparently sudo apt-get install build-dep compiz-fusion-plugins-main does the job. -> did not work for me
Bugs / Enhancements
For some reason when i'm resizing the windows it never reaches the real bottom part of the screen, there always is a gap between the taskbar and the window itself (ie. On my Dell 2407 external monitor @ 1920x1200 resolution, the plugin appears to underestimate the desktop height slightly. On every command, the resized window is about 50 pixels short: That is, the move location is correct, but the vertical resize is just slightly short in every location. http://forum.compiz-fusion.org/showpost.php?s=6377310b9edb2af908a04df2e608307f&p=66531&postcount=16). FIXED in latest git
"Put center, top, bottom" does not have 66% nor 50% size (only 33% and 100%). That's by design - if the center used those sizes, they would not tile with windows on the edges.
- If I go to a new desktop and use one of the "move window" keys, the window is brought from its desktop to the new current one.
- I can't reproduce this, can you give a more complete repro please? Perhaps you have some unusual focus setting enabled?
- This happens to me too, but only in the case where the new desktop has no current windows. 1) Bring a window ("W") to the foreground on the current desktop. 2) Change to an empty desktop. 3) Use a "window resize" key combo. Window W is brought to current desktop (and properly resized.)
- I can't reproduce this, can you give a more complete repro please? Perhaps you have some unusual focus setting enabled?
Ideas
- Make the grid size reconfigurable instead of the fixed 33%,50%,66% sizes (ie. Maybe an even better option is to retain the 2x3 grid, but allow the user to specify how big the grid blocks are.)
- Perhaps assign a layout per workspace or hotkey to switch between grid sizes
- Keyboard shortcuts to switch focus based on window position
- In addition to the horizontal 1/2 and 2/3 cycle, it would be great to have a vertical 1/3 and 2/3 cycle. -- Unfortunately that gives a cycle of length 9 when combined with the horizontal cycle. Unless you can think of better shortcut keys.
- Have a way to "group" 2 (or more?) windows (and horizontally organize this group). Concrete example : i like to have 66% of my screen occupied by Firefox and then 33% split in 2 for skype+pidgin contact lists (all of these windows full height).
- Sticky windows - adjacent windows to the one being tiled get resized along with the current one. We would need some way to toggle stickyness to allow a 2x1 layout to be changed into a 3x1