ceb13292ac
* v0.3.0: (25 commits) Update readme Update readme and reset defaults Fix MarkAsRead Make search more robust Remove RankFind Start with improved search Implement theming for several components Start with theming functionality Start with adding colors for messages Fix notification for channels Fix input component overflow runewidth > 1 Refactor to get service reference out of components Add support for double width runes Fix Chat component border labels Speed up Channels component Add profiling endpoints Add overflow functionality Input component Update Debug component Update Debug component Refactor to create more loose coupling ... |
||
---|---|---|
components | ||
config | ||
context | ||
handlers | ||
service | ||
vendor | ||
views | ||
.gitignore | ||
LICENSE | ||
main.go | ||
Makefile | ||
README.md | ||
screenshot.png |
Slack-Term
A Slack client for your terminal.
Installation
Binary installation
Download a
compatible binary for your system. For convenience, place slack-term
in a
directory where you can access it from the command line. Usually this is
/usr/local/bin
.
$ mv slack-term /usr/local/bin
Via Go
If you want you can also get slack-term
via Go:
$ go get -u github.com/erroneousboat/slack-term
Setup
-
Get a slack token, click here
-
Create a
slack-term.json
file, place it in your home directory. Below is an an example file, you can leave out theOPTIONAL
parts, you are only required to specify aslack_token
. Remember that your file should be a valid json file so don't forget to remove the comments.
{
"slack_token": "yourslacktokenhere",
// OPTIONAL: set the width of the sidebar (between 1 and 11), default is 1
"sidebar_width": 3,
// OPTIONAL: define custom key mappings, defaults are:
"key_map": {
"command": {
"i": "mode-insert",
"k": "channel-up",
"j": "channel-down",
"g": "channel-top",
"G": "channel-bottom",
"<previous>": "chat-up",
"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"
},
"insert": {
"<left>": "cursor-left",
"<right>": "cursor-right",
"<enter>": "send",
"<escape>": "mode-command",
"<backspace>": "backspace",
"C-8": "backspace",
"<delete>": "delete",
"<space>": "space"
},
"search": {
"<left>": "cursor-left",
"<right>": "cursor-right",
"<escape>": "clear-input",
"<enter>": "clear-input",
"<backspace>": "backspace",
"C-8": "backspace",
"<delete>": "delete",
"<space>": "space"
}
},
// OPTIONAL: override the default theme (see wiki for more information),
// defaults are:
"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": ""
}
}
}
Usage
When everything is setup correctly you can run slack-term
with the following
command:
$ 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.
$ slack-term -config [path-to-config-file]
Default Key Mapping
Below are the default key-mapping for slack-term
, you can change them
in your slack-term.json
file.
mode | key | action |
---|---|---|
command | i |
insert mode |
command | / |
search mode |
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 |
command | n |
next search match |
command | N |
previous search match |
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 |
search | esc |
command mode |
search | enter |
command mode |