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.)

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