基本的には https://github.com/jigish/slate/wiki/JavaScript-Configs を参照
- .slate.jsをホームディレクトリに置く
- .slate => .slate.js の順で読み込まれる
- slate => SlateのAPIにアクセスできる
- _ => underscore.jsを使う
- Slateの設定と環境やウィンドウの情報を取得できる
- S というオブジェクトにエイリアスされているので、slate.log("hi");がS.log("hi");と書ける
https://github.com/jigish/slate/wiki/Global-Configs の設定を行う。
- slate.config(name, value);と設定できる。
- name : 設定名
- value: 設定によって文字列や数値 etc. となる
- configAll, cfga
- 一括設定できる
Slateのoperationオブジェクトを生成する。 Slateが提供している操作の一覧は→ https://github.com/jigish/slate/wiki/Operations
var object = slate.operation(name, params);
- name: move等の操作名
- params: 操作に渡すパラメータをハッシュ形式で
var fullscreen = slate.operation("move", { "x" : "screenOriginX", "y" : "screenOriginY", "width" : "screenSizeX", "height" : "screenSizeY" });
キーバインドの設定
slate.bind(keystroke, action, repeat);
- keystroke : "1:ctrl" の用に設定する
- action: eoperationオブジェクトを設定
- もしくは関数オブジェクト
- 関数オブジェクトへの引数にはフォーカスしているウィンドウオブジェクトが渡される
- repat
layout情報を持つオブジェクトを生成。
var name = slate.layout(name, { app : params, app : params ... });
解像度やモニターの数などを設定できる。
外部設定ファイルの読み込み。
コマンドの実行結果を取得できる。
var output = slate.shell(commandAndArgs, waitForExit, path); var echoOutput = S.sh("/usr/echo hello", true, "~/");
- commandAndArgs : 文字列でコマンドと引数を渡す
- waitForExit : true にしておくとコマンドの実行が終わるまで待つ
- path : ワーキングディレクトリ
現在フォーカスしているウィンドウの情報を取得。
var windowObject = slate.window();
windowオブジェクトについては→ https://github.com/jigish/slate/wiki/Window-Object
x,y座標で指定したところにあるウィンドウのオブジェクトを取得。これを使うと面白いことができそう。
それぞれのscreenに対して処理を行う
S.log(message);
でコンソールアプリに出力される
- pid, nameが取得できる
- eachWindowはアプリケーション内のウィンドウのそれぞれに対して処理できる
- mainWindow