made slate.js better with 6 screens

This commit is contained in:
Grant 2016-06-01 18:00:35 -06:00
parent 5abc386935
commit 058e0dd011

104
slate.js
View File

@ -49,7 +49,26 @@ var moveScreen2 = slate.operation("throw", {
var moveScreen3 = slate.operation("throw", { var moveScreen3 = slate.operation("throw", {
screen: "3" screen: "3"
}); });
var moveScreen4 = slate.operation("throw", {
screen: "4"
});
var moveScreen5 = slate.operation("throw", {
screen: "5"
});
function googleChromeLayout(windowObject) {
var title = windowObject.title();
slate.log(title);
if (title !== undefined && title.match(/^Grafana.+$/)) {
windowObject.doOperation(moveScreen2);
windowObject.doOperation(full);
} else if (title !== undefined && title == "Postman") {
//do nothing
} else {
windowObject.doOperation(moveScreen5);
windowObject.doOperation(full);
}
}
slate.bind("down:cmd,alt", function (win) { slate.bind("down:cmd,alt", function (win) {
if (!win) { if (!win) {
@ -87,8 +106,8 @@ slate.bind("left:ctrl,alt,cmd", function (win) {
var screen = win.screen().id() - 1; var screen = win.screen().id() - 1;
if(screen < 0){ if (screen < 0) {
screen = 3 screen = 5;
} }
slate.log(screen); slate.log(screen);
var op = slate.operation("throw", { var op = slate.operation("throw", {
@ -105,8 +124,8 @@ slate.bind("right:ctrl,alt,cmd", function (win) {
var screen = win.screen().id() + 1; var screen = win.screen().id() + 1;
if(screen > 3){ if (screen > 5) {
screen = 0 screen = 0;
} }
slate.log(screen); slate.log(screen);
var op = slate.operation("throw", { var op = slate.operation("throw", {
@ -131,70 +150,95 @@ slate.bind("0:cmd,alt", function (win) {
win.doOperation(moveScreen0); win.doOperation(moveScreen0);
}); });
slate.config("orderScreensLeftToRight", true); slate.config("orderScreensLeftToRight", true);
var screen0Top = slate.operation("move", {
var screen0Top = slate.operation("move",{
x: "screenOriginX-5", x: "screenOriginX-5",
y: "screenOriginY", y: "screenOriginY",
width: "screenSizeX-5", width: "screenSizeX-5",
height: "screenSizeY/2", height: "screenSizeY/2",
screen: "0" screen: "0"
}); });
var screen0Bottom = slate.operation("move",{ var screen0Bottom = slate.operation("move", {
x: "screenOriginX-5", x: "screenOriginX-5",
y: "screenOriginY+screenSizeY/2", y: "screenOriginY+screenSizeY/2",
width: "screenSizeX-5", width: "screenSizeX-5",
height: "screenSizeY/2", height: "screenSizeY/2",
screen: "0" screen: "0"
}); });
var fourMonitorLayout = slate.layout("fourMonitor", { var screen3Full = slate.operation("move", {
x: "screenOriginX",
y: "screenOriginY",
width: "screenSizeX",
height: "screenSizeY",
screen: "3"
});
var screen4Full = slate.operation("move", {
x: "screenOriginX",
y: "screenOriginY",
width: "screenSizeX",
height: "screenSizeY",
screen: "4"
});
var sixMonitorLayout = slate.layout("sixMonitor", {
"Slack": { "Slack": {
"operations": [screen0Top], "operations": [moveScreen0, topHalf],
"main-first": true, "main-first": true,
"ignore-fail":true, "ignore-fail": true,
"repeat" : true "repeat": true
}, },
"HipChat": { "HipChat": {
"operations": [screen0Top], "operations": [moveScreen0, topHalf],
"main-first": true, "main-first": true,
"ignore-fail":true, "ignore-fail": true,
"repeat" : true "repeat": true
}, },
"Microsoft Outlook": { "Microsoft Outlook": {
"operations":[screen0Bottom], "operations": [screen0Bottom],
"main-first": true, "main-first": true,
"ignore-fail":true, "ignore-fail": true,
"repeat": true "repeat": true
}, },
"VMware Fusion": { "VMware Fusion": {
"operations": [moveScreen1, full], "operations": [moveScreen1, full],
"main-first": true, "main-first": true,
"ignore-fail":true, "ignore-fail": true,
"repeat" : true "repeat": true
},
"Google Chrome": {
"operations": [googleChromeLayout],
"repeat": true,
"ignore-fail": true
},
"PyCharm": {
"operations": [screen3Full],
"main-first": true,
"ignore-fail": true,
"repeat": true
},
"WebStorm": {
"operations": [screen4Full],
"main-first": true,
"ignore-fail": true,
"repeat": true
} }
}); });
slate.bind("a:ctrl,alt,cmd", slate.operation("layout", { slate.bind("a:ctrl,alt,cmd", slate.operation("layout", {
name: fourMonitorLayout name: sixMonitorLayout
})); }));
slate.default(6, fourMonitorLayout); slate.default(6, sixMonitorLayout);
if(slate.screenCount() == 4){ if (slate.screenCount() == 6) {
slate.operation("layout", { slate.operation("layout", {
name: fourMonitorLayout name: sixMonitorLayout
}).run() }).run();
} }
slate.log("screen count " + slate.screenCount()); slate.log("screen count " + slate.screenCount());
slate.eachScreen(function(screenObject) { slate.eachScreen(function (screenObject) {
slate.log(screenObject.id()+" "+JSON.stringify(screenObject.rect())); slate.log(screenObject.id() + " " + JSON.stringify(screenObject.rect()));
}); });