• Immutable Page
  • Info
  • Attachments


Move and resize your windows to fit an imaginary grid.

Inspired by winsplit revolution http://www.winsplit-revolution.com/

Git repository http://cgit.compiz.org/compiz/plugins/grid/

Blog http://suasol.wordpress.com/category/projects/


On a fresh install of ubuntu you will need to

  • install those necessary dependencies
  • clone the git repository
  • make, make install
  • enable and configure "grid"

sudo apt-get install git libtool compiz-dev compizconfig-settings-manager
git clone git://anongit.compiz.org/compiz/plugins/grid
cd grid
mkdir build; cd build
cmake ..
make install
ccsm (to enable and configure "grid")

To update the changes when changes are committed to the repository

cd grid
git pull
make install

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.)
  • After enabling grid, sometimes windows won't "redraw" until you unmaximize or move them. :-(


  • 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
  • Original Size (KP5 cycle). Sometimes when you open an application, it has a "typical" size to match the look and feel of the app. For certain circumstances, one might want to use grid to tile it for a brief period of time. It would be useful if grid could remember all windows "start size & position". Makes sense to be a toggle of the KP5 cycle.

  • Laptop Keyboard without numberblock - I use grid on my laptop without a numberblock (and I can only assume that KP means numberblock). I overwrote the shortcuts simulating a numberblock with the letter K in the middle. Any chance you could make an alternativ and intuitive default for laptop-keyboards?


  • Drag-to-edge capabilities and additional 'grid cycles' (1/5 instead of 1/3) were added in the 0.9.x version of grid. This functionality does not exist in the 0.8.x version.

Plugins/Grid (last edited 2012-07-29 06:03:32 by Soreau)