Skip to content
forked from boxdot/gurk-rs

Signal Messenger client for terminal

License

Notifications You must be signed in to change notification settings

ephemer4l/gurk-rs

 
 

Repository files navigation

gurk 🥒

CI chat

Signal Messenger client for terminal.

screenshot

Installation

Pre-compiled binary

Download a pre-compiled binary from Releases for following targets:

  • x86-64 Linux GNU
  • x86-64 Linux musl
  • aarch64 Linux GNU
  • aarch64 Linux musl (>= v0.2.4 only)
  • x86-64 Darwin
  • aarch64 Darwin

From source (using cargo)

cargo install --git https://github.com/boxdot/gurk-rs gurk

Arch Linux

Packaged in the AUR: gurk-git and gurk-bin

Nix/NixOS

Either per user:

$ nix-env --install gurk-rs

or system-wide:

environment.systemPackages = with pkgs; [ gurk-rs ];

Usage

Run

gurk

On the first run, it will open a QR code in your favorite image viewer, such that you can link the client as a new device. This will also create a configuration file at the default config location. For the configuration directives, see src/config.rs.

Note: The binary cannot be published on crates.io, because it depends on several official Signal libraries that are not available on crates.io.

Chat

chat-qr

Features

  • Store data in the db from presage's Manager instead of a JSON file.
  • Encrypt the storage by default.
  • Notifications over dbus or similar.
  • Scrolling of messages.
  • Reply functionality to a single message.
  • Mouse navigation (works for channels, missing for the messages list).
  • Search of messages/chats. Add quick switch between chats by name.
  • Multiline messages; the Enter key sends the message, Alt+Enter switches modes.
  • Viewing/sending of attachments.
  • Support for blocked contacts/groups.
  • Reactions with emojis.
  • Open URL in selected message.

Key bindings

  • App navigation
    • f1 Toggle help panel.
    • alt+tab Switch between message input box and search bar.
  • Message input
    • tab Send emoji from input line as reaction on selected message.
    • alt+enter Switch between multi-line and singl-line input modes.
    • alt+left, alt+right Jump to previous/next word.
    • ctrl+w / ctrl+backspace / alt+backspace Delete last word.
    • enter when input box empty in single-line mode Open URL from selected message.
    • enter otherwise Send message.
  • Multi-line message input
    • enter New line
    • ctrl+j / Up Previous line
    • ctrl+k / Down Next line
  • Cursor
    • alt+f / alt+Right / ctrl+Right Move forward one word.
    • alt+b / alt+Left / ctrl+Left Move backward one word.
    • ctrl+a / Home Move cursor to the beginning of the line.
    • ctrl+e / End Move cursor the the end of the line.
  • Message/channel selection
    • Esc Reset message selection.
    • alt+Up / PgUp Select previous message.
    • alt+Down / PgDown Select next message.
    • ctrl+j / Up Select previous channel.
    • ctrl+k / Down Select next channel.

License

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this document by you, as defined in the AGPL-3.0-only license, shall be licensed as above, without any additional terms or conditions.

About

Signal Messenger client for terminal

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%