var fullScreen = slate.operation("move", {
  "x" : "screenOriginX",
  "y" : "screenOriginY",
  "width" : "screenSizeX",
  "height" : "screenSizeY"
});

var pushLeftThird = slate.operation("push", {
  "direction" : "left",
  "style" : "bar-resize:screenSizeX/3"
});

var pushRightThird = slate.operation("push", {
  "direction" : "right",
  "style" : "bar-resize:screenSizeX/3"
});

var pushRight2Thirds = slate.operation("push", {
  "direction" : "right",
  "style" : "bar-resize:2*screenSizeX/3"
});

var pushLeft2Thirds = slate.operation("push", {
  "direction" : "left",
  "style" : "bar-resize:2*screenSizeX/3"
});

var pushCenterThird = slate.operation("move", {
  "x": "screenOriginX+screenSizeX/3",
  "y": "screenOriginY",
  "width": "screenSizeX/3",
  "height" : "screenSizeY"
});

var pushLeft = slate.operation("push", {
  "direction" : "left",
  "style" : "bar-resize:screenSizeX/2"
});

var pushRight = slate.operation("push", {
  "direction" : "right",
  "style" : "bar-resize:screenSizeX/2"
});

slate.bind("right:ctrl;alt", function(win) {
    win.doOperation(pushRight);
});

slate.bind("left:ctrl;alt", function(win) {
    win.doOperation(pushLeft);
});

slate.bind("left:shift;ctrl", function(win) {
    win.doOperation(pushLeftThird);
});

slate.bind("right:shift;ctrl", function(win) {
    win.doOperation(pushRightThird);
});

slate.bind("right:shift;ctrl;alt",function(win) {
    win.doOperation(pushRight2Thirds);
});

slate.bind("left:shift;ctrl;alt",function(win) {
    win.doOperation(pushLeft2Thirds);
});

slate.bind("f:alt;ctrl",function(win) {
    win.doOperation(fullScreen);
});

/* 
  tried to map this to up-arrow, seems to be confounded with 
  something from mission control or something.
*/
slate.bind("c:shift;ctrl",function(win) {
    win.doOperation(pushCenterThird);
});

@@ -137,32 +137,389 @@
 reenSizeY%22%0A%7D);%0A%0A
+var pushTopLeftThird = slate.operation(%22move%22, %7B%0A    %22x%22 : %22screenOriginX%22,%0A    %22y%22 : %22screenOriginY%22,%0A    %22width%22 : %22screenSizeX/3%22,%0A    %22height%22 : %22screenSizeY/2%22%0A%7D);%0A%0Avar pushTopRightThird = slate.operation(%22move%22, %7B%0A    %22x%22 : %22screenOriginX+2*screenSizeX/3%22,%0A    %22y%22 : %22screenOriginY%22,%0A    %22width%22 : %22screenSizeX/3%22,%0A    %22height%22 : %22screenSizeY/2%22%0A%7D);%0A%0A
 var pushLeftThir
@@ -540,32 +540,32 @@
 ation(%22push%22, %7B%0A
-
   %22direction%22 : 
@@ -1434,32 +1434,208 @@
 ushRight);%0A%7D);%0A%0A
+slate.bind(%22up:ctrl;shift%22, function(win) %7B%0A    win.doOperation(pushTopLeftThird);%0A%7D);%0A%0Aslate.bind(%22up:alt;shift%22, function(win) %7B%0A    win.doOperation(pushTopRightThird);%0A%7D);%0A%0A
 slate.bind(%22left
@@ -2140,17 +2140,16 @@
 %0A%7D);%0A%0A/*
- 
 %0A  tried
@@ -2201,17 +2201,16 @@
 ded with
- 
 %0A  somet

add keystrokes for top (half) left/right third.