The best CLI client for Slack, because everything is terrible!
The project is still under alpha, there are lots of things already done, but there is also a lot of work to do! If you want to help, please contact me under [email protected] or create an issue! Working in community, we can soon have a CLI client as complete as the web one!
The first thing you need to do is to get a Slack token here. Use, create or request a token for each workspace that you'll use on Sclack. Not all workspaces allow you to generate a token, so sometimes you'll need to ask for the administrator to enable the feature.
Sclack seems better when used with a Nerd Font. Using them is completely optional, but it is how some Sclack icons are possible. Personally, I use Fira Code Nerd Font. Download, install and set as the default font of your terminal emulator.
Sclack uses caca-utils
to create ANSI/VT100 + ASCII versions of pictures and
render them. Images will only be rendered if both caca-utils
is installed
and features.pictures
is configured to true
. To install caca-utils
, just
run sudo apt-get install caca-utils
on Debian and brew install libcaca
on
OS X.
Ensure you have Python 3.4 or superior version.
pip
git clone https://github.com/haskellcamargo/sclack.git
cd sclack
pip3 install -r requirements.txt
chmod +x ./app.py
./app.py
pipenv
git clone https://github.com/haskellcamargo/sclack.git
cd sclack
export PIPENV_VENV_IN_PROJECT=1
pipenv install # install deps
pipenv shell # enter virtualenv
python app.py # run app
If you don't have Python installed, you can get the compiled binary for Sclack on releases page. Versions will be available for Linux x86/x64 and OS X.
Run ./app.py
after giving the correct permissions. If you don't have a ~/.sclack
file, you can generate one here by providing your workspace token. You can change the theme, enable or disable images, emojis, markdown, configure keyboards and everything else on config.json
. Important: use q
to quit!
Your ~/.sclack
file will look like:
{
"workspaces": {
"default": "wow-such-secret"
}
}
If you want to, you can use Sclack in multiple workspaces. You can have
at most 9 workspaces defined inside workspaces
:
{
"workspaces": {
"default": "wow-such-secret",
"another": "wow-another-secret"
}
}
You can use the keys from 1 up to 9 to switch workspaces or event right-click the indicator:
{
"cursor_down": "j",
"cursor_left": "h",
"cursor_right":"l",
"cursor_up": "k",
"delete_message": "d",
"edit_message": "e",
"go_to_chatbox": "c",
"go_to_profile": "p",
"go_to_sidebar": "esc",
"quit_application": "q",
"set_edit_topic_mode": "t",
"set_insert_mode": "i",
"yank_message": "y",
}
The mouse support also has been programmed. You can scroll the chatbox and the sidebar and double click the channels to select.
Sclack has been tested with the following terminal emulators:
- Gnome Terminal
- iTerm2
- QTerminal
- Terminal (OS X)
- Terminator
- XTerm
Contributions are very welcome, and there is a lot of work to do! You can...
- Check out our open issues
- Provide bug reports
- Create packages for pip, apt, dnf, rpm, pacman and brew
- Improve documentation
- Implement handler for new events
- Refactor the workarounds in the code
- Create new themes
- Make things easier to configure
Made with ๐ก by @haskellcamargo