Skip to content

AkshJain99/zulip-terminal

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

109 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zulip Terminal

An interactive terminal interface for Zulip.

Build Status Zulip chat

Setup:

  1. Download and install the prerequisite tools (pipsi)
$ curl -SsLo /tmp/get-pipsi.py https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get-pipsi.py
$ python3 /tmp/get-pipsi.py
$ printf '\nexport PATH="%s:$PATH"\n' '${HOME}/.local/bin' | tee -a ~/.bashrc
  1. Install the package:
$ pipsi install --python python3 'git+https://github.com/zulip/zulip-terminal.git@master#egg=zulipterminal'
  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 ~/zuliprc
  1. Run Zulip Terminal client (zulip-term)
$ zulip-term

Alternatively, you can specify the location of zuliprc using the -c option

$ zulip-term -c /path/to/zuliprc

Example zuliprc file

[api]
email=example@example.com
key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
site=https://realm.zulipchat.com

[zterm]
# Theme can also be set to 'blue' and 'light'
theme=default

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
Go Back esc
Narrow to a stream S
Narrow to a topic s
Next Unread Topic n
Next Unread PM p
Send a message Alt Enter
Search People w>
Search Messages /
Beginning of line Ctrl + A
Backward one character Ctrl + B /
Backward one word Meta + B
Delete one character Ctrl + D
Delete one word Meta + D
End of line Ctrl + E
Forward one character Ctrl + F /
Forward one word Meta + F
Delete previous character Ctrl + H
Transpose characters Ctrl + T
Kill (cut) forwards to the end of the line Ctrl + K
Kill (cut) backwards to the start of the line Ctrl + U
Kill (cut) forwards to the end of the current word Meta + D
Kill (cut) backwards to the start of the current word Ctrl + W
Previous line Ctrl + P /
Next line Ctrl + N /
Clear screen Ctrl + L

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

Development

For development, the setup process is a little different.

  1. Install pipenv
$ curl https://bootstrap.pypa.io/get-pip.py -o /tmp/get-pip.py
$ python3 /tmp/get-pip.py --user
$ printf '\nexport PATH="%s:$PATH"\n' '${HOME}/.local/bin' | tee -a ~/.bashrc
$ python3 -m pip install --user pipenv
  1. Clone the zulip/zulip-terminal repository locally
$ git clone git@github.com:zulip/zulip-terminal.git
  1. Install dev requirements
$ cd zulip-terminal
$ pipenv --three
$ pipenv install --dev
$ pipenv run python setup.py develop
  1. Run the client
$ pipenv run zulip-term

Running tests

  • To run all tests:
pipenv run pytest
  • To generate coverage report for tests:
pipenv run pytest --cov-report html:cov_html --cov=./
  • To run the linter:
pipenv run pytest --pep8
  • To check the type annotations, run:
pipenv run ./tools/run-mypy
  • To open in debug mode:
pipenv run zulip-term -d
  • To profile runtime:
pipenv run zulip-term --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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%