mirror of
https://github.com/webgefrickel/dotfiles
synced 2024-11-01 21:40:19 +00:00
162 lines
4.0 KiB
JavaScript
162 lines
4.0 KiB
JavaScript
/* global slate: true */
|
|
/* global screenSizeX: true */
|
|
/* global screenSizeY: true */
|
|
/* global screenOriginX: true */
|
|
/* global screenOriginY: true */
|
|
|
|
|
|
/* default configs
|
|
====================================================================== */
|
|
|
|
slate.configAll({
|
|
"defaultToCurrentScreen": true,
|
|
"windowHintsShowIcons": true,
|
|
"windowHintsIgnoreHiddenWindows": false,
|
|
"windowHintsSpread": true,
|
|
"windowHintsWidth": 50,
|
|
"windowHintsHeight": 50,
|
|
"nudgePercentOf": "screenSize",
|
|
"resizePercentOf": "screenSize",
|
|
"secondsBetweenRepeat": 0.1,
|
|
"checkDefaultsOnLoad": true,
|
|
"focusCheckWidthMax": 3000,
|
|
"modalEscapeKey": "esc"
|
|
});
|
|
|
|
|
|
/* operations
|
|
====================================================================== */
|
|
|
|
// show the overlay hints for applications
|
|
var hint = slate.operation("hint", { "characters": "ASDFGHJKLQWERTYUIOPCVBN" });
|
|
|
|
|
|
// custom resize grids for all monitors 6x4
|
|
var grid = slate.operation("grid", {
|
|
"padding": 10,
|
|
"grids": {
|
|
"0": {
|
|
"width": 6,
|
|
"height": 4
|
|
},
|
|
"1": {
|
|
"width": 6,
|
|
"height": 4
|
|
},
|
|
"2": {
|
|
"width": 6,
|
|
"height": 4
|
|
}
|
|
}
|
|
});
|
|
|
|
|
|
// ultrafast application-switching
|
|
var iterm = slate.operation("focus", { "app": "iTerm" });
|
|
var chrome = slate.operation("focus", { "app": "Google Chrome" });
|
|
var mail = slate.operation("focus", { "app": "Mail" });
|
|
var fork = slate.operation("focus", { "app": "ForkLift" });
|
|
var ical = slate.operation("focus", { "app": "iCal" });
|
|
var shop = slate.operation("focus", { "app": "Photoshop" });
|
|
var launch = slate.operation("focus", { "app": "Launchbar" });
|
|
var ecoute = slate.operation("focus", { "app": "Ecoute" });
|
|
|
|
|
|
var fullscreen = slate.operation("move", {
|
|
"x": "screenOriginX",
|
|
"y": "screenOriginY",
|
|
"width": "screenSizeX",
|
|
"height": "screenSizeY"
|
|
});
|
|
|
|
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 mobile = slate.operation("move", {
|
|
"x": "screenOriginX",
|
|
"y": "screenOriginY",
|
|
"width": "480",
|
|
"height": "screenSizeY"
|
|
});
|
|
|
|
var tablet = slate.operation("move", {
|
|
"x": "screenOriginX",
|
|
"y": "screenOriginY",
|
|
"width": "1024",
|
|
"height": "768"
|
|
});
|
|
|
|
var desktop = slate.operation("move", {
|
|
"x": "screenOriginX",
|
|
"y": "screenOriginY",
|
|
"width": "1280",
|
|
"height": "800"
|
|
});
|
|
|
|
var fullhd = slate.operation("move", {
|
|
"x": "screenOriginX",
|
|
"y": "screenOriginY",
|
|
"width": "1920",
|
|
"height": "1080"
|
|
});
|
|
|
|
|
|
/* Key bindings
|
|
====================================================================== */
|
|
|
|
var hyper = ":shift,ctrl,alt,cmd";
|
|
var hyperModal = hyper + ",m:toggle";
|
|
|
|
// f = fast switching and a nice position in the home row
|
|
slate.bind("[" + hyper, hint, false);
|
|
// g = grid view
|
|
slate.bind("]" + hyper, grid, false);
|
|
|
|
// most important apps on easy accesible keys
|
|
slate.bind("a" + hyper, iterm, false);
|
|
slate.bind("s" + hyper, chrome, false);
|
|
slate.bind("d" + hyper, mail, false);
|
|
slate.bind("f" + hyper, fork, false);
|
|
|
|
slate.bind("j" + hyper, ical, false);
|
|
slate.bind("k" + hyper, ecoute, false);
|
|
slate.bind("l" + hyper, launch, false);
|
|
slate.bind(";" + hyper, shop, false);
|
|
|
|
// movements in modal mode with m
|
|
slate.bind("1" + hyperModal, lefthalf, false);
|
|
slate.bind("2" + hyperModal, righthalf, false);
|
|
slate.bind("3" + hyperModal, tophalf, false);
|
|
slate.bind("4" + hyperModal, bottomhalf, false);
|
|
slate.bind("5" + hyperModal, mobile, false);
|
|
slate.bind("6" + hyperModal, tablet, false);
|
|
slate.bind("7" + hyperModal, desktop, false);
|
|
slate.bind("8" + hyperModal, fullhd, false);
|
|
slate.bind("space" + hyperModal, fullscreen, false);
|
|
|