Go to file
Lyle Hanson ce1d8ce03f Respect the XDG Base Directory specification for configs
Rather than assuming a configuration file at `~/.slack-term`, respect
the user's choice per the XDG Base Directory specification
(https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html)
to find the configuration.

Uses a cross-platform XDG library to abstract the details of the
specification and encompass any future changes
(https://github.com/OpenPeeDeeP/xdg, https://godoc.org/github.com/OpenPeeDeeP/xdg).

After merging, the [wiki home page](https://github.com/erroneousboat/slack-term/wiki)
should be updated to reflect the new configuration location.

This closes #170 and closes #203.
2020-01-08 11:39:16 +01:00
.github Update issue template 2019-09-21 13:42:16 +02:00
components Import lithammer/fuzzysearch instead of renstrom/fuzzysearch 2020-01-08 10:59:44 +01:00
config Make columns render correctly 2019-06-29 12:07:41 +02:00
context Fix initial loading of threads 2019-09-14 12:34:53 +02:00
handlers Reload view when new thread is created 2019-10-05 12:40:12 +02:00
service Add reply to thread functionality 2019-06-29 12:07:41 +02:00
vendor Update nsf/termbox-go dependency 2020-01-08 11:32:45 +01:00
views Fix initial loading of threads 2019-09-14 12:34:53 +02:00
.gitignore Update .gitignore to add vendor folder to project 2017-08-26 10:50:39 +02:00
CONTRIBUTING.md Add CONTRIBUTING.md 2018-10-27 17:13:07 +02:00
Dockerfile Respect the XDG Base Directory specification for configs 2020-01-08 11:39:16 +01:00
go.mod Respect the XDG Base Directory specification for configs 2020-01-08 11:39:16 +01:00
go.sum Respect the XDG Base Directory specification for configs 2020-01-08 11:39:16 +01:00
LICENSE Make project public 2016-10-02 16:08:59 +02:00
main.go Respect the XDG Base Directory specification for configs 2020-01-08 11:39:16 +01:00
Makefile Fix vendor build 2019-05-29 10:20:38 +02:00
README.md Respect the XDG Base Directory specification for configs 2020-01-08 11:39:16 +01:00
screenshot.png Update screenshot 2018-10-27 15:24:45 +02:00
snapcraft.yaml Move snapcraft to root folder 2018-01-27 13:16:36 +01:00

slack-term

A Slack client for your terminal.

Screenshot

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
$ cd $GOPATH/src/github.com/erroneousboat/slack-term
$ go install .

Setup

  1. Get a slack token, click here

  2. Create a file named config in the $XDG_CONFIG_HOME/slack-term directory (the XDG Base Directory Specification specifies $HOME/.config/ if you do not have $XDG_CONFIG_HOME explicitly set). Below is an example of such a file. You are only required to specify a slack_token. For more configuration options of the config file, see the wiki.

{
    "slack_token": "yourslacktokenhere"
}

Usage

When everything is setup correctly you can run slack-term with the following command:

$ slack-term

Default Key Mapping

Below are the default key-mappings for slack-term, you can change them in your config 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