2018-04-01 13:03:28 +02:00
|
|
|
slack-term
|
2016-09-11 17:55:19 +02:00
|
|
|
==========
|
2016-10-02 16:07:35 +02:00
|
|
|
|
2016-10-22 09:41:35 +02:00
|
|
|
A [Slack](https://slack.com) client for your terminal.
|
2016-10-02 16:07:35 +02:00
|
|
|
|
2016-10-15 23:07:24 +02:00
|
|
|
![Screenshot](/screenshot.png?raw=true)
|
2016-10-02 16:07:35 +02:00
|
|
|
|
2017-08-26 10:50:19 +02:00
|
|
|
Installation
|
|
|
|
------------
|
|
|
|
|
|
|
|
#### Binary installation
|
|
|
|
|
|
|
|
[Download](https://github.com/erroneousboat/slack-term/releases) a
|
2017-12-22 13:48:36 +01:00
|
|
|
compatible binary for your system. For convenience, place `slack-term` in a
|
2017-08-26 10:50:19 +02:00
|
|
|
directory where you can access it from the command line. Usually this is
|
|
|
|
`/usr/local/bin`.
|
|
|
|
|
|
|
|
```bash
|
|
|
|
$ mv slack-term /usr/local/bin
|
|
|
|
```
|
|
|
|
|
|
|
|
#### Via Go
|
|
|
|
|
|
|
|
If you want you can also get `slack-term` via Go:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
$ go get -u github.com/erroneousboat/slack-term
|
|
|
|
```
|
|
|
|
|
|
|
|
Setup
|
|
|
|
-----
|
|
|
|
|
|
|
|
1. Get a slack token, click [here](https://api.slack.com/docs/oauth-test-tokens)
|
|
|
|
|
|
|
|
2. Create a `slack-term.json` file, place it in your home directory. Below is
|
|
|
|
an an example file, you can leave out the `OPTIONAL` parts, you are only
|
|
|
|
required to specify a `slack_token`. Remember that your file should be
|
|
|
|
a valid json file so don't forget to remove the comments.
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
{
|
|
|
|
"slack_token": "yourslacktokenhere",
|
|
|
|
|
|
|
|
// OPTIONAL: set the width of the sidebar (between 1 and 11), default is 1
|
2018-04-01 13:03:28 +02:00
|
|
|
"sidebar_width": 1,
|
|
|
|
|
|
|
|
// OPTIONAL: turn on desktop notifications for all incoming messages,
|
|
|
|
default is false
|
|
|
|
"notify": false,
|
2017-08-26 10:50:19 +02:00
|
|
|
|
|
|
|
// OPTIONAL: define custom key mappings, defaults are:
|
|
|
|
"key_map": {
|
|
|
|
"command": {
|
2017-12-22 13:48:36 +01:00
|
|
|
"i": "mode-insert",
|
2017-12-23 11:47:10 +01:00
|
|
|
"/": "mode-search",
|
2017-12-22 13:48:36 +01:00
|
|
|
"k": "channel-up",
|
|
|
|
"j": "channel-down",
|
|
|
|
"g": "channel-top",
|
|
|
|
"G": "channel-bottom",
|
2017-08-26 10:50:19 +02:00
|
|
|
"<previous>": "chat-up",
|
2017-12-22 13:48:36 +01:00
|
|
|
"C-b": "chat-up",
|
|
|
|
"C-u": "chat-up",
|
|
|
|
"<next>": "chat-down",
|
|
|
|
"C-f": "chat-down",
|
|
|
|
"C-d": "chat-down",
|
|
|
|
"n": "channel-search-next",
|
|
|
|
"N": "channel-search-previous",
|
|
|
|
"q": "quit",
|
|
|
|
"<f1>": "help"
|
2017-08-26 10:50:19 +02:00
|
|
|
},
|
|
|
|
"insert": {
|
2017-12-22 13:48:36 +01:00
|
|
|
"<left>": "cursor-left",
|
|
|
|
"<right>": "cursor-right",
|
|
|
|
"<enter>": "send",
|
|
|
|
"<escape>": "mode-command",
|
2017-08-26 10:50:19 +02:00
|
|
|
"<backspace>": "backspace",
|
2017-12-22 13:48:36 +01:00
|
|
|
"C-8": "backspace",
|
|
|
|
"<delete>": "delete",
|
|
|
|
"<space>": "space"
|
2017-08-26 10:50:19 +02:00
|
|
|
},
|
|
|
|
"search": {
|
2017-12-22 13:48:36 +01:00
|
|
|
"<left>": "cursor-left",
|
|
|
|
"<right>": "cursor-right",
|
|
|
|
"<escape>": "clear-input",
|
|
|
|
"<enter>": "clear-input",
|
2017-08-26 10:50:19 +02:00
|
|
|
"<backspace>": "backspace",
|
2017-12-22 13:48:36 +01:00
|
|
|
"C-8": "backspace",
|
|
|
|
"<delete>": "delete",
|
|
|
|
"<space>": "space"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
2017-12-22 14:17:03 +01:00
|
|
|
// OPTIONAL: override the default theme (see wiki for more information),
|
|
|
|
// defaults are:
|
2017-12-22 13:48:36 +01:00
|
|
|
"theme": {
|
|
|
|
"view": {
|
|
|
|
"fg": "white",
|
|
|
|
"bg": "default",
|
|
|
|
"border_fg": "white",
|
|
|
|
"border_bg": "white",
|
|
|
|
"par_fg": "white",
|
|
|
|
"par_label_fg": "white"
|
|
|
|
},
|
|
|
|
"channel": {
|
|
|
|
"prefix": "",
|
|
|
|
"icon": "",
|
|
|
|
"text": ""
|
|
|
|
},
|
|
|
|
"message": {
|
|
|
|
"time": "",
|
|
|
|
"name": "",
|
|
|
|
"text": ""
|
2016-10-27 18:52:54 +02:00
|
|
|
}
|
2016-10-15 23:07:24 +02:00
|
|
|
}
|
2017-08-26 10:50:19 +02:00
|
|
|
}
|
|
|
|
```
|
2016-10-15 23:07:24 +02:00
|
|
|
|
2017-08-26 10:50:19 +02:00
|
|
|
Usage
|
|
|
|
-----
|
2016-10-15 23:07:24 +02:00
|
|
|
|
2017-08-26 10:50:19 +02:00
|
|
|
When everything is setup correctly you can run `slack-term` with the following
|
|
|
|
command:
|
2016-10-15 23:07:24 +02:00
|
|
|
|
2017-08-26 10:50:19 +02:00
|
|
|
```bash
|
|
|
|
$ slack-term
|
|
|
|
```
|
|
|
|
|
|
|
|
You can also specify the location of the config file, this will give you
|
|
|
|
the possibility to run several instances of `slack-term` with different
|
|
|
|
accounts.
|
|
|
|
|
|
|
|
```bash
|
|
|
|
$ slack-term -config [path-to-config-file]
|
|
|
|
```
|
2016-10-02 16:07:35 +02:00
|
|
|
|
2016-10-27 18:52:54 +02:00
|
|
|
Default Key Mapping
|
|
|
|
-------------------
|
2016-10-02 16:07:35 +02:00
|
|
|
|
2017-08-26 10:50:19 +02:00
|
|
|
Below are the default key-mapping for `slack-term`, you can change them
|
|
|
|
in your `slack-term.json` file.
|
|
|
|
|
2016-10-30 14:26:12 +01:00
|
|
|
| mode | key | action |
|
|
|
|
|---------|-----------|----------------------------|
|
|
|
|
| command | `i` | insert mode |
|
2017-07-15 23:56:39 +02:00
|
|
|
| command | `/` | search mode |
|
2016-10-30 14:26:12 +01:00
|
|
|
| command | `k` | move channel cursor up |
|
|
|
|
| command | `j` | move channel cursor down |
|
|
|
|
| command | `g` | move channel cursor top |
|
|
|
|
| command | `G` | move channel cursor bottom |
|
|
|
|
| command | `pg-up` | scroll chat pane up |
|
|
|
|
| command | `ctrl-b` | scroll chat pane up |
|
|
|
|
| command | `ctrl-u` | scroll chat pane up |
|
|
|
|
| command | `pg-down` | scroll chat pane down |
|
|
|
|
| command | `ctrl-f` | scroll chat pane down |
|
|
|
|
| command | `ctrl-d` | scroll chat pane down |
|
2017-12-22 13:48:36 +01:00
|
|
|
| command | `n` | next search match |
|
|
|
|
| command | `N` | previous search match |
|
2016-10-30 14:26:12 +01:00
|
|
|
| command | `q` | quit |
|
|
|
|
| command | `f1` | help |
|
|
|
|
| insert | `left` | move input cursor left |
|
|
|
|
| insert | `right` | move input cursor right |
|
|
|
|
| insert | `enter` | send message |
|
|
|
|
| insert | `esc` | command mode |
|
2017-07-15 23:56:39 +02:00
|
|
|
| search | `esc` | command mode |
|
|
|
|
| search | `enter` | command mode |
|