Siggo: A terminal GUI for signal-CLI, written in Go

栏目: IT技术 · 发布时间: 4年前

内容简介:A terminal gui for signal-cli, written in Go.

siggo

A terminal gui for signal-cli, written in Go.

Siggo: A terminal GUI for signal-CLI, written in Go

Dependencies

siggo uses the dbus daemon feature of signal-cli, so libunixsocket-java (Debian) or libmatthew-unix-java (AUR) is required.

Install signal-cli and put it somewhere safe in your path. You will need to follow its instructions to either link or register your device. The siggo link <phonenumber> subcommand has been added to make linking more user-friendly, but has not been tested sufficiently. Be sure to prefix with + and country code (for example +12345678901 ).

When setup is finished, you should be able to run without error:

signal-cli -u +<yourphonenumber> receive --json

You are now ready to use siggo .

Security

siggo shells out to signal-cli , so if that worries you, don't use it, for now. I have lofty goals of eventually replacing this with libsignal .

Build

make build

Run

bin/siggo

Keybinds

  • j - Scroll Down
  • k - Scroll Up
  • J - Next Contact
  • K - Previous Contact
  • i - Insert Mode
    • CTRL+L - Clear input field
  • I - Compose (opens $EDITOR and lets you make a fancy message)
  • y - Yank Mode
    yy
    yl
    
  • o - Open Mode
    oo
    ol
    
  • ESC - Normal Mode
  • CTRL+Q - Quit ( CTRL+C should also work)

Configuration

See the configuration README here .

Message History

Message saving is an opt-in feature.

If you enable it, conversations are stored in plain text in ~/.siggo/conversations .

Delete them like this:

rm ~/.siggo/conversations/*

Development

Honestly the code is a hot mess right now, and I don't recommend trying to contribute yet. But I will absolutely take a PR if you want to throw one at me.

If you save the output of signal-cli like so:

signal-cli -u +<yourphonenumber> receive --json > example_messages.json

You can then run siggo using it as mock input. This is useful for development and testing.

bin/siggo -m example_messages.json

This way you can test without sending yourself messages.

Similar Projects / Inspiration

Roadmap

Here is a list of things that are currently broken.

  • Send read receipts for incoming messages ( signal-cli limitation, but might be fixed soon)

Here is a list of features I'd like to add soonish.

  • Better Attachments Support
    • Sending attachments
    • Opening attachments (besides the most recent)
  • gui configuration
    • colors and border styles
  • let user re-sort contact list (for example alphabetically)
  • command to go to next contact with message waiting
  • command to go to contact with fuzzy matching
  • groups support
  • use dbus to send instead of signal-cli, to avoid having to spin up the JVM (might also fix the read receipt issue)
  • there is still some data that i'm dropping on the floor
  • wouldn't tests be neat?

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Agile Web Development with Rails 4

Agile Web Development with Rails 4

Sam Ruby、Dave Thomas、David Heinemeier Hansson / Pragmatic Bookshelf / 2013-10-11 / USD 43.95

Ruby on Rails helps you produce high-quality, beautiful-looking web applications quickly. You concentrate on creating the application, and Rails takes care of the details. Tens of thousands of deve......一起来看看 《Agile Web Development with Rails 4》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具