/halla

Native Slack wrapper app without the bloat

Primary LanguageJavaScript

Halla

Native Slack wrapper app without the bloat

Halla is yet another "native" app for accessing your Slack teams. It tries to be more conservative with resources. Halla is built on nw.js, which takes less resources than Electron (most other wrapper apps) or MacGap (Slack official app).

Download Halla →

Status

Config

Create a file called ~/.hallarc. You may add as many Slack teams here, as well as any arbitrary URLs.

[services.myteam]
name = My Slack
url = https://myteam.slack.com

[services.otherteam]
name = Their Slack
url = https://otherteam.slack.com

[services.facebook]
name = Messenger
url = https://messenger.com

You may add any URL (!), but only certain sites get extra features (eg, Slack team icons and badge notifications).

Developer setup

*Show developer info...*

Under the hood

  • nw.js for the native wrapping
  • nwjs-builder to simplify management of different nw.js versions
  • Decca for virtual DOM
  • Brunch.io + Sass + Autoprefixer for CSS

A few notes on how it's put together:

  • There's no JS transpilation. This means no JSX (a bit painful, but you'll get used to it!).
  • No Gulp, Grunt or whatnot--just plain npm scripts with npm-run-all.
  • nw.js is in --mixed-context mode to make things a bit simpler.

Starting up

git clone https://github.com/rstacruz/halla.git
cd halla
npm install

Running

Run it with npm start. Note that it'll download nw.js on its first run (pretty big).

npm start

Or run it with the SDK (more resource-intensive, but has Inspect Element):

npm run start:sdk

Testing

npm test

Packaging

This will create OSX .app files in /dist. This is automatically done by Travis on every new version (ie, new git tags).

npm run dist

Limitations

Most everything you expect will work, except for a few things:

  • Slack sounds (help me find out why!)
  • Native notifications (they'll use Rich Chrome Notifications instead)
  • Flash (ie, Spotify/Soundcloud won't work)
  • Skype plugin (Skype works, but no calls)

Alternatives

Here are some more feature-rich alternatives to Halla:

Thanks

halla © 2016+, Rico Sta. Cruz. Released under the MIT License.
Authored and maintained by Rico Sta. Cruz with help from contributors (list).

ricostacruz.com  ·  GitHub @rstacruz  ·  Twitter @rstacruz