A solid backbone for your `.slate.js.`
Switch branches/tags
Nothing to show
Clone or download
Latest commit 3ec74e7 Dec 30, 2013
Failed to load latest commit information.
README.md Update README.md Dec 30, 2013
reslate.js allow 1px of leeway in window size Jul 7, 2013
slate.example.js add 1.5x mappings for corners Jun 27, 2013



A solid backbone for your .slate.js.

What does this add to Slate?

  • Concise configuration.
  • Extensibility - it wraps the Screen, Window, and Rect objects into proxy classes. You can extend these classes pretty easily using JavaScript prototypes.
  • Many convenience methods:
    • Reslate will take most object types in a binding and make sense of them.
    • Nested object syntax for binding hotkeys (reduces need for repetition - see slate.bindAll in slate.example.js).
    • Array syntax will do a slate.chain for you.
    • Strings automatically map to slate's "operation" objects.
  • Works around some issues in Slate:
    • It's harder to lose a window offscreen.
    • Some useless popups are silenced.
  • When you hit an exception, you're provided with a full traceback if possible (see them in Console.app). You can also use $.backtrace to generate one yourself.
  • The $ object ( https://github.com/lunixbochs/reslate/blob/master/reslate.js#L36 )

You should compare the reslate example config with Slate's example JS config.

Getting Started

  1. Do you have Slate? Get Slate.

  2. git clone https://github.com/lunixbochs/reslate.git somewhere convenient.

  3. ln -s "$(pwd)"/reslate.js ~/.reslate.js (Run this in Terminal / bash inside the repo).

  4. S.src('.reslate.js'); from .slate.js to use this if you're a Slate veteran.

    If you're new to Slate, copy my slate.example.js to ~/.slate.js instead.

  5. Either way, look at slate.example.js for a full configuration.

  6. Reslate has a high ratio of comments to code. Dive into reslate.js and hack away.

What will Slate do for me?


Your desktop has never looked better.

Hyper Key

You should probably set up a Hyper key if you plan on using Slate and your computer at the same time.

Using PCKeyboardHack and KeyRemap4Macbook to create a Hyper key.

I recommend modifying your private.xml to only map Hyper to ctrl+alt+cmd (and not shift).

This allows you to bind both hyper and hyper+shift as modifiers.