punchagan / zulip-terminal

A terminal interface for Zulip.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Zulip Terminal

An interactive terminal interface for Zulip.

Build Status

Setup:

  1. Download this repository
git clone https://github.com/zulip/zulip-terminal
  1. Install the requirements:
cd zulip-terminal
sudo apt-get install python3-pip
pip3 install pipenv
pipenv --python 3
pipenv install
  1. Download the zuliprc configuration file to your computer:
  • Log in to the Zulip server(e.g. chat.zulip.org or yourSubdomain.zulipchat.com, or your own development server).
  • Go to Settings -> Your account
  • Click on Show/Change your API key under the API key section.
  • Download the zuliprc file by clicking Get API key.
  • Copy the file to a destination of your choice, e.g. to ~/zuliprc
  1. Run Zulip-Terminal
pipenv shell
./run.py -c ~/zuliprc

Hot Keys

Command Key Combination
Previous message Up, k
Next message Down, j
Go left left, h
Go right right, l
Go to the last message G, end
Narrow to private messages P
Scroll down PgDn, J
Scroll up PgUp, K
Reply to a message r
Reply to an author R
New stream message c
Move back from Compose box to the message esc
Narrow to a stream S
Narrow to a topic s
Send a message Alt Enter

Note: You can use arrows, home, end, Page up and Page down keys to move around in Zulip-Terminal.

Running tests

  • Install Dev Requirements:
pipenv install --dev
  • To run all tests:
pytest
  • To generate coverage report for tests:
pytest --cov-report html:cov_html --cov=./
  • To run the linter:
pytest --pep8
  • To check the type annotations, run:
./tools/run-mypy
  • To open in debug mode:
./run.py -c ~/zuliprc -d
  • To profile runtime:
./run.py -c ~/zuliprc --profile

Contributor Guidelines

Zulip Terminal is being build by an awesome community of Zulip.

To be a part of it and to contribute to the code, feel free to work on any issue or propose your idea on #zulip-terminal.

Do checkout our commit message guidelines and git guide.

Need Help?

Come meet us at Zulip.

About

A terminal interface for Zulip.

License:Apache License 2.0


Languages

Language:Python 100.0%