Skip to content
A solid backbone for your `.slate.js.`
Find file
Latest commit 3ec74e7 @lunixbochs Update
Failed to load latest commit information. Update
reslate.js allow 1px of leeway in window size
slate.example.js add 1.5x mappings for corners


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 You can also use $.backtrace to generate one yourself.
  • The $ object ( )

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 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.

Something went wrong with that request. Please try again.