


Electron functions on Chromium's multi-process model, with each Slack team signed into a separate process and memory space. It also helps prevent remote content to directly access desktop features using a feature called WebView Element which creates a fresh Chromium renderer process and assigns rendering of content for its hosting renderer. Additional security can be ensured by preventing Node.js modules from leaking into the API surface and watching out for APIs with file paths. Noodlesoft, the creators, describes it as Automated Organization for Your Mac, and that is a great tagline. Communication between processes on Electron is carried out via electron-remote, a pared-down, zippy version of Electron's remote module, which makes implementing the web apps UI much easier. Noodlesoft, the creators of Hazel, describe it as Automated Organization for Your Mac, and that is a great tagline. It was difficult to think ‘maybe I should just give this up’ - but as I’ve said before it’s ok to cut your losses sometimes.Essentially, you tell the Hazel app to watch a folder (or multiple folders), set some rules you want it to watch for, and when something happens in that folder that matches one of your rules, take an action (or actions) that you define. It was a good learning experience, though, and now I understand more about what tools are out there. Now I’ve decided that I don’t need it - in fact, I’m not even hosting it on github - it’s just not far along enough to show anyone I don’t think. Because I realized I don’t need this tool anymore, I started to make less time for learning about it and working on it. In fact, if that was really a problem, that’s just a symptom of something else (lack of trust, output doesn’t match expectations, etc). InterludeĪfter some time, if I’m honest, I came to realize that no one is watching my slack status, no one is monitoring me, I was just being paranoid. Since this is such a simple concept, I thought it was probably pretty safe to just use this mechanism instead. I think they do this by using web-views directly (with the built-in browsers) - as opposed to bundling in a web runtime into the app.

I stumbled upon MacGap which promises binaries as low as 1mb. After some initial research, I found out that the output of this is rather large - 10’s and 100’s of mb - and just for this small task, that’s crazy. Since I’m primarily a web programmer, I went to look into Electron. The idea was that I could make a light-weight app that could run in the background and maybe have a taskbar icon or something to allow you to control the functionality. In order to use this, all I’d need is a slack token and then to set up a loop to ping the API every 15 minutes with this message. But, if you have “nothing else to do,” you can just call this directly. In fact, every incoming slack api request can have a flag to indicate that this request should make the user appear as they’re active again. The slack api allows you to call the tActive method to set the user active. The only problem with that was that I’d have to remember to close the app when I was done for the day - but I figured I could manage that.
#Macgap slack mac#
I decided to go down the route of making a Mac app that could authenticate to slack and then ping it on an interval to make sure that I look active. So, I wanted some of this same functionality. I know other people use the Slack App - and that tends to keep you available, even if it’s not focused. If you’re hard-core programming, you might not have slack focused for hours - and this is really confusing for your teammates as you might look non-active or even out for the day.īut, to be honest, my real concern was visibility - visibility that I might look ’not busy’ - even though I was. When this is not focused, however, it tends to mark you automatically inactive/away after 30 minutes. I tend to use either the web interface for Slack or I use Franz to manage my open connections.
