ncurses Delta Chat client developed in Python with the urwid library.
Install Cursed Delta with pip:
$ pip install -U deltachat-cursed
After installation the command delta should be available, or you can use python3 -m deltachat-cursed.
The first time you use Cursed Delta you need to configure your account:
$ delta init me@example.com YourStrongPassword # omit password to use OAuth2
Then run delta command to start the application with your configured account.
If you want to use an already existent account, for example to open an account created with the official Delta Chat client:
$ delta --db ~/.config/DeltaChat/accounts/XXXXXXXXX/dc.db
- Messages will be displayed in red if someone mentions you.
- You will get a notification if someone mentions you in a group.
- The message timestamp will be gray if the message is encrypted, or red if message is not encrypted.
- You will see
→in your message if it is not sent yet,✓if it was send,✓✓when the message was read, or✖if the message was not delivered to some of the recipients. - You can send emojis sending typing their string representation, for example:
:thumbs_up: - You can have emoji, contact names and commands autocompletion typing
:,@or/and pressing Tab - You can tweak the app colors editing
~/.curseddelta/theme.json - You can tweak the app keymap editing
~/.curseddelta/keymap.json - You can tweak the app settings editing
~/.curseddelta/curseddelta.conf - Put global theme, keymap, and config files in
/etc/curseddelta/ - You can have per-folder config files, the application search for this files in the current working directory:
./curseddelta-theme.json,./curseddelta-keymap.json,./curseddelta.conf - If you like to use the mouse, you can use the mouse to select chats in the chat list, select the draft area or scroll in the message history.
Inside your curseddelta.conf file, create a [global] section and there you can set:
account_path: the path to the default accouunt database to be open when the program is launched without--dboptionnotification: set toyes/noto enable/disable notifications (default: yes)date_format: format of the date marker in chats (default:%x)display_emoji: set toyes/noto enable/disable emoji rendering (default: no)
- Press Esc to leave the draft/editing area.
- Press q to quit Cursed Delta.
- Press Ctrl + x to toggle the chat list.
- Use Meta + Enter to send the message.
- Use Ctrl + o to open attachemnt in the last message in chat.
- You can navigate the chat list with Meta + ↑ and Meta + ↓.
- Vim-like key bindings are also available, use h j k l to navigate between lists, use i to select the draft area and Esc to leave it.
- For shortcuts in the draft/editing area see: urwid_readline
This are some temporal commands to do things that are not implemented yet using a menu:
- Send
/query user@example.comto start a chat withuser@example.com - Send
/add user@example.comto adduser@example.comto the group where the command is sent. - Send
/kick user@example.comto removeuser@example.comfrom the group where the command is sent. - Send
/partin a group to leave it. - Send
/namesin a group to get the member list in the buffer, use Ctrl + l to clear. - Use
/join GroupNameto create a group namedGroupName - Send
/idin a chat to get the chat's ID - Use
/send /path/to/file.txtto send a file attachment - To send a message starting with
/use//
The user interface is based on ncTelegram
Some code and ideas were taken from scli
Licensed GPLv3+, see the LICENSE file for details.
Copyright © 2020-2022 Cursed Delta contributors.
