This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/layers/+chat/slack
wang-d 4daa844574
Add more slack keybindings (#13806)
* alphabetize slack keybindings

Alphabetization makes it easier...
- to read the list
- to add new keybindings (because there's an obvious place)
- to merge this file (because insertions won't all happen at the end)

* Add more slack keybindings

T 'slack-all-threads
u 'slack-all-unreads

* Update documentation and changelog for slack keybindings

Also alphabetized the keybindings in the slack README

Co-authored-by: Damon Wang <damon.wang@gmail.com>
2020-08-09 10:51:12 +02:00
..
img
config.el [slack] Refactor window-purpose config 2020-06-27 22:55:36 +02:00
funcs.el [slack] Refactor window-purpose config 2020-06-27 22:55:36 +02:00
layers.el [slack] Refactor window-purpose config 2020-06-27 22:55:36 +02:00
packages.el Add more slack keybindings (#13806) 2020-08-09 10:51:12 +02:00
README.org Add more slack keybindings (#13806) 2020-08-09 10:51:12 +02:00

Slack layer

/TakeV/spacemacs/media/commit/638bbb0c388c9304a4fc5999848a408edfb5ad92/layers/+chat/slack/img/slack.png

Description

This layer provides an interface to the Slack chat service via the emacs-slack package. Where possible, this layer aims to reuse key bindings from the IRC packages in Spacemacs.

Features:

Install

To use this configuration layer, add it to your ~/.spacemacs. You will need to add slack to the existing dotspacemacs-configuration-layers list in this file.

Configuration

Follow the instructions in the emacs-slack package for obtaining your client ID, client secret, and token.

To test that everything is alright put the following snippet in your dotspacemacs/user-config() replacing client-id, client-secret and token with your info.

Important Do not keep private data in your dotfile. You can put your private stuff elsewhere (like Dropbox for instance) and load the file in your dotfile.

  (slack-register-team
    :name "emacs-slack"
    :default t
    :client-id "my@email.address"
    :client-secret "mypassword"
    :token "token"
    :subscribed-channels '(general slackbot))

Spacemacs layout integration

A Spacemacs custom layout is defined by the layer. The name and the key binding for it can be customized with the following layer variables:

  • slack-spacemacs-layout-name for the layout name,
  • slack-spacemacs-layout-binding for the key binding.

By default the values are:

  (setq-default dotspacemacs-configuration-layers '(
    (slack :variables slack-spacemacs-layout-name "@Slack"
                      slack-spacemacs-layout-binding "s")))

Key bindings

Key binding Description
SPC a c s T Show all threads followed in a workspace
SPC a c s d Direct message someone
SPC a c s g Join a group (private channel)
SPC a c s j Join a channel
SPC a c s q Close connection
SPC a c s r Join a channel, group, or direct messge
SPC a c s s (Re)connects to Slack
SPC a c s u Show all unread in a workspace
SPC m ( Remove reaction (emoji) to a message
SPC m ) Add reaction (emoji) to a message
SPC m c Embed mention of channel
SPC m d Direct message someone
SPC m e Edit message at point
SPC m j Join a channel
SPC m m Embed mention of user
SPC m p Load previous messages
SPC m q Quit Slack
SPC m t Show or create thread

The following bindings are provided to mimic bindings in the official Slack client.

Key binding Description
SPC m # Embed mention of channel
SPC m ) Add a rection
SPC m : Embed emoji
SPC m @ Embed mention of user
SPC m k Join a channel

In insert state, one can also use :, @, and # directly without the leader key prefix.