/cljs-phoenix

Configuration in ClojureScript for the OSX window manager Phoenix

Primary LanguageClojure

cljs-phoenix

ClojureScript configuration for version 2.0 of the OS X window manager Phoenix.

Background

Phoenix is a window manager that provides a JavaScript API for managing your windows in OS X. I've been a user of Phoenix from its early days and highly recommend it.

For the 1.* versions of Phoenix I had my configuration written in JavaScript. With the release of version 2.0 I decided to try to write my configuration using ClojureScript.

Prior to this I've used ClojureScript for building production user interfaces but have always use Leiningen and lein-cljsbuild for building my projects. This project was used to learn what it takes to not use those tools. It was also used to further my understanding of what needs to happen to use a foreign JavaScript library with ClojureScript's advanced compilation mode.

Using

Requirements

  • Java 8+ is installed on your machine.
  • You're using Phoenix 2.2+.

Building

make release builds out/main.js. This is your ~/.phoenix.js file.

Developing

make watch watches for changes and builds out/main.js whenever a ClojureScript file changes. It is recommended to symlink ~/.phoenix.js to this project's out/main.js in order to have Phoenix pick up configuration changes and new builds finish.

rm ~/.phoenix.js; ln -s $(pwd)/out/main.js ~/.phoenix.js