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).
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).
*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-contextmode to make things a bit simpler.
git clone https://github.com/rstacruz/halla.git cd halla npm install
Run it with
npm start. Note that it'll download nw.js on its first run (pretty big).
Or run it with the SDK (more resource-intensive, but has Inspect Element):
npm run start:sdk
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
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)
Here are some more feature-rich alternatives to Halla: