From 0a57b961762fc7afe439ff989ddc731341cd1dad Mon Sep 17 00:00:00 2001 From: Grant Date: Fri, 27 May 2016 09:15:57 -0600 Subject: [PATCH] wat --- init.el | 12 ++++ slate.js | 200 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 212 insertions(+) create mode 100644 init.el create mode 100644 slate.js diff --git a/init.el b/init.el new file mode 100644 index 0000000..b94d720 --- /dev/null +++ b/init.el @@ -0,0 +1,12 @@ +(require 'package) ;; You might already have this line +(add-to-list 'package-archives + '("melpa" . "https://melpa.org/packages/")) + + +(global-set-key [f8] 'neotree-toggle) + +(global-set-key (kbd "C-x p") 'previous-multiframe-window) +(put 'downcase-region 'disabled nil) + + +(setq-default indent-tabs-mode nil) diff --git a/slate.js b/slate.js new file mode 100644 index 0000000..ed11014 --- /dev/null +++ b/slate.js @@ -0,0 +1,200 @@ +var leftHalf = slate.operation("move", { + x: "screenOriginX", + y: "screenOriginY", + width: "screenSizeX/2", + height: "screenSizeY" +}); + +var rightHalf = slate.operation("move", { + x: "screenOriginX+screenSizeX/2", + y: "screenOriginY", + width: "screenSizeX/2", + height: "screenSizeY" +}); + + +var topHalf = slate.operation("move", { + x: "screenOriginX", + y: "screenOriginY", + width: "screenSizeX", + height: "screenSizeY/2" +}); + +var bottomHalf = slate.operation("move", { + x: "screenOriginX", + y: "screenOriginY+screenSizeY/2", + width: "screenSizeX", + height: "screenSizeY/2" +}); + +var full = slate.operation("move", { + x: "screenOriginX", + y: "screenOriginY", + width: "screenSizeX", + height: "screenSizeY" +}); + +var moveScreen0 = slate.operation("throw", { + screen: "0" +}); + +var moveScreen1 = slate.operation("throw", { + screen: "1" +}); + +var moveScreen2 = slate.operation("throw", { + screen: "2" +}); + +var moveScreen3 = slate.operation("throw", { + screen: "3" +}); + + +slate.bind("down:cmd,alt", function (win) { + if (!win) { + return; + } + win.doOperation(bottomHalf); +}); + + +slate.bind("up:cmd,alt", function (win) { + if (!win) { + return; + } + win.doOperation(topHalf); +}); + +slate.bind("left:cmd,alt", function (win) { + if (!win) { + return; + } + win.doOperation(leftHalf); +}); + +slate.bind("right:cmd,alt", function (win) { + if (!win) { + return; + } + win.doOperation(rightHalf); +}); + +slate.bind("left:ctrl,alt,cmd", function (win) { + if (!win) { + return; + } + + var screen = win.screen().id() - 1; + + if(screen < 0){ + screen = 3 + } + slate.log(screen); + var op = slate.operation("throw", { + screen: screen.toString() + }); + win.doOperation(op); + +}); + +slate.bind("right:ctrl,alt,cmd", function (win) { + if (!win) { + return; + } + + var screen = win.screen().id() + 1; + + if(screen > 3){ + screen = 0 + } + slate.log(screen); + var op = slate.operation("throw", { + screen: screen.toString() + }); + win.doOperation(op); + +}); + + +slate.bind("f:cmd,alt", function (win) { + if (!win) { + return; + } + win.doOperation(full); +}); + +slate.bind("0:cmd,alt", function (win) { + if (!win) { + return; + } + win.doOperation(moveScreen0); +}); + + +slate.config("orderScreensLeftToRight", true); + + + + + +var screen0Top = slate.operation("move",{ + x: "screenOriginX-5", + y: "screenOriginY", + width: "screenSizeX-5", + height: "screenSizeY/2", + screen: "0" +}); +var screen0Bottom = slate.operation("move",{ + x: "screenOriginX-5", + y: "screenOriginY+screenSizeY/2", + width: "screenSizeX-5", + height: "screenSizeY/2", + screen: "0" +}); +var fourMonitorLayout = slate.layout("fourMonitor", { + "Slack": { + "operations": [screen0Top], + "main-first": true, + "ignore-fail":true, + "repeat" : true + }, + "HipChat": { + "operations": [screen0Top], + "main-first": true, + "ignore-fail":true, + "repeat" : true + }, + "Microsoft Outlook": { + "operations":[screen0Bottom], + "main-first": true, + "ignore-fail":true, + "repeat": true + }, + "VMware Fusion": { + "operations": [moveScreen1, full], + "main-first": true, + "ignore-fail":true, + "repeat" : true + } + +}); + +slate.bind("a:ctrl,alt,cmd", slate.operation("layout", { + name: fourMonitorLayout +})); + + +//slate.default(["0X0","2880x1800","1080x1920","1920x1080"], fourMonitorLayout); +slate.default(4, fourMonitorLayout); + +if(slate.screenCount() == 4){ + slate.operation("layout", { + name: fourMonitorLayout + }).run() +} + +slate.log("screen count " + slate.screenCount()); +slate.eachScreen(function(screenObject) { + slate.log(screenObject.id()+" "+JSON.stringify(screenObject.rect())); +});