:tomato: Slack integrated pomodoro timer... with Electron + ClojureScript!
An electron app written in ClojureScript. Integrates with Slack to let people know you are doing great things! Uses reagent for the UI.
Slack usage is optional, but if configured - your profile will be updated like so:
Tomaat currently relies on legacy-tokens to facilitate a simple text field entry of a slack token. Some day when the sun goes out and Slack deprecates these, then we will look into building a view for authentication.
Tomaat uses lein-figwheel for hot reloading of all
source files. Since Tomaat leverages electron apis across the board - all builds target :nodejs
.
To start development process:
$ lein start
$ lein electron
Note: figwheel requires the ws
node module for node targets. I opted to install this globally:
$ npm install -g ws
All source files are under src/tomaat
, and several build targets are laid out in project.clj
. Tomaat follows
a structure that allows for the main electron process, a renderer process, and a worker process.
The worker process runs as an invisible window for the purpose of running the timer, persisting config, and interacting with slack.
Tomaat is packaged using electron-packager. It has currently only been built and tested on macOS.
Just use make
to build Tomaat.
$ make