Hacker News new | past | comments | ask | show | jobs | submit login
Keep your Slack distractions under control with Emacs (endlessparentheses.com)
86 points by zeveb on Sept 18, 2017 | hide | past | favorite | 10 comments

I was rather displeased with the built in color scheme on a dark background, so I changed it to a nice purple and removed the underline:

    (set-face-attribute 'slack-message-output-header nil
                    :foreground "#C080FF"
                    :underline nil)
Binding slack-select-unread-rooms to something useful is a good choice. I have it bound to M-T.

If your users have avatars in their usernames, makes them go away in the source of slack-user-message.el in slack-message-sender with

    - (status (slack-user-status (slack-message-sender-id m) team))
    + (status "")
I found people with stuff in their statuses made room names distracting, especially with group chats In slack-im.el, in slack-room-display-name,

    -  (format "%s %s" 
    -    (slack-room-name room)
    -    status)) 
    + (format "%s" (slack-room-name room))
I am not good enough at Elisp to figure out how to make these hooks and I've been a bad open source person at opening an issue on these.

I didn't know about `slack-select-unread-rooms`, but I actually use a custom solution of my own for that (I'll post about it later).

I'll definitely follow you lead on the status/room-name issue. Mind if I include those tips in a future post?


This is a great example of why Emacs (and the lisp machine idea in general) is so amazing. Though as a demonstration of the power of emacs it's understated; I thought this was going to require some advice or dynamic rebinding.

Now if only I could do this for WhatsApp...

I think all this, distraction aware apps, open a new killer feature that can bring healthness to teams. It is obvious that Slack omnipresence can get you mad but they can easily infer that you cannot attend every @channel or @your-name tag. In this case Slack can be a mediator and recommend abusers to slow down or bring specific analytics tools to executives to improve communication structures.

Nice article on the extensibility of emacs.

On the particular case of slack, using their irc gateway one can use any irc client, which probably has already some kind of distraction-silencing method. Also, IRC bots are now slack bots. As another emacs' extensibility showoff here's an example for temporarily ignoring users[1].

Unfortunately, slack is adding more and more features every day that do not map easily to IRC.

1. http://puntoblogspot.blogspot.com.es/2014/11/temporarily-ign...

True. I tried using Erc for slack for a while, but it started getting a bit limited. To be fair though, as they add more features it gets hard for client-apps to keep up as well.

Indeed. And it seems it's only going to get worse as they just got $250 million, so go figure!

Btw, welcome back!

There is also a Golang Slack client, slack-cli, that is quite good.

You can also filter by severity (i.e. high, trivial, etc)

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact