Sclid - a signal interface for your terminal*
It no longer works and I will no longer work on it, so it’s archived.
this was inspired by scli and uses a (highly) modified version of signal-cli
*if your terminal is kitty - not guaranteed to work on other terminals.
JRE 10
or above - it’s bad enough working with java, at least let me have a modern(ish) version,dmd
or another d compiler, if you want to use another modifyDC
in the Makefilew3imgdisplay
- for showing images - in the future other protocols might be available,pnglatex
- for muh \LaTeX - not optional,ranger
- for selecting attachments,sqlite3
- for storing the message history - even if you don’t store message to disk (which you probably shouldn’t) you need this,xclip
- for copying messages to clipboard,feh
andqrencode
- only needed for the setup,- by the default you need a powerline patched font. you could edit
config.d
to replace those characters, - some sort of editor - you probably have at least
nano
or something.
sudo pacman -S jre11-openjdk dmd w3m ranger sqlite3 xclip feh qrencode
pnglatex
is only available in the aur. So replace yay
with your aur helper of choice.
yay -S pnglatex
The easy part:
clone this to a directory of your choice
git clone https://github.com/azbyn/sclid
Before doing anything you should go to dlang/config.d
and edit things there.
This is customized to work on my machine and might not work on yours.
(or there might be things i want, but you don’t (like the storing of messages part)
While this is a valid dub
project, you shouldn’t run dub
for building, that’s only for testing the ui
without waiting for signal (the java bit) to load up.
You could build it in release mode, but you shouldn’t do that yet. There might be are bugs, and you wouldn’t
know what went wrong.
make -j2
sudo make install
sclid YOUR_PHONE_NUMBER
Where you should replace YOUR_PHONE_NUMBER
with your full phone number (natürlich)
(something like +1234567890
)
When the qr code shows up (you should respond with y
before that), on your phone’s Signal app go to
Settings > Linked Devices
scan the code.
You should now be see some windows.
You should type :sync
to sync your contacts.
if you only have one user setup, you can do:
sclid
otherwise just:
sclid YOUR_PHONE_NUMBER
Minubuffer
that bit at the bottom with the:
that you open with:
orM-x
ContactsWindow
the one on the leftMessagesWindow
the one that has the messagesInputWindow
where you write the message - below messages
There are vim-like and emacs-like keybindings. You’ll figure it out.
(look in dlang/graphics/windowBase.d replaceSimilar
and in dlang/graphics/inputWindow.d loop
for a full list)
Something that might be useful is that in InputWindow
Alt+enter
adds a new line but doesn’t send the message.
In the MinibufferWindow
(that bit at the bottom with the :
) you can use these commands:
quit
for quitting,sync
for syncing (you already know that one),reply
replies to the message you highlighted with your cursor inMessagesWindow
unreply
to quit out of the replyingattach
for attaching filesedit
to edit the message in your favorite editorreact
react to message you highlighted. If used alone it removes the reaction. Otherwise you should appendlaugh
,up
,down
,wow
,angry
,heart
orsad
, which do what they sound like they do.copy
for copying the current message to the clipboard
(look in dlang/graphics/minibuffer.d
for a full list)