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?

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

查看所有标签

猜你喜欢:

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

UNIX网络编程 卷1:套接字联网API(第3版)

UNIX网络编程 卷1:套接字联网API(第3版)

[美]W. 理查德•史蒂文斯(W. Richard Stevens)、比尔• 芬纳(Bill Fenner)、安德鲁 M. 鲁道夫(Andrew M. Rudoff) / 匿名 / 人民邮电出版社 / 2014-6-1 / 129.00

《UNIX环境高级编程(第3版)》是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的第3版。在本书第2版出版后的8年中,UNIX行业发生了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持前一版风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/......一起来看看 《UNIX网络编程 卷1:套接字联网API(第3版)》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具