2
2
<h1><img width="200" height="200" src="docs/iamb.svg"></h1>
3
3
4
4
[ ![ Build Status] ( https://github.com/ulyssa/iamb/actions/workflows/ci.yml/badge.svg )] ( https://github.com/ulyssa/iamb/actions?query=workflow%3ACI+ )
5
- [ ![ License: Apache 2.0] ( https://img.shields.io/crates/l/iamb.svg?logo=apache )] ( https:// crates.io/crates/ iamb)
5
+ [ ![ License: Apache 2.0] ( https://img.shields.io/crates/l/iamb.svg?logo=apache )] [ crates-io- iamb ]
6
6
[ ![ #iamb:0x.badd.cafe] ( https://img.shields.io/badge/matrix-%23iamb:0x.badd.cafe-blue )] ( https://matrix.to/#/#iamb:0x.badd.cafe )
7
- [ ![ Latest Version] ( https://img.shields.io/crates/v/iamb.svg?logo=rust )] ( https:// crates.io/crates/ iamb)
7
+ [ ![ Latest Version] ( https://img.shields.io/crates/v/iamb.svg?logo=rust )] [ crates-io- iamb ]
8
8
[ ![ iamb] ( https://snapcraft.io/iamb/badge.svg )] ( https://snapcraft.io/iamb )
9
9
10
10
![ Example Usage] ( https://iamb.chat/static/images/iamb-demo.gif )
14
14
15
15
## About
16
16
17
- ` iamb ` is a Matrix client for the terminal that uses Vim keybindings.
17
+ ` iamb ` is a Matrix client for the terminal that uses Vim keybindings. It includes support for:
18
18
19
- This project is a work-in-progress, and there's still a lot to be implemented,
20
- but much of the basic client functionality is already present.
19
+ - Threads, spaces, E2EE, and read receipts
20
+ - Image previews in terminals that support it (sixels, Kitty, and iTerm2), or using pixelated blocks for those that don't
21
+ - Notifications via terminal bell or desktop environment
22
+ - Creating, joining, and leaving rooms
23
+ - Sending and accepting room invitations
24
+ - Editing, redacting, and reacting to messages
25
+ - Custom keybindings
26
+ - Multiple profiles
27
+
28
+ _ You may want to [ see this page as it was when the latest version was published] [ crates-io-iamb ] ._
21
29
22
30
## Documentation
23
31
@@ -32,6 +40,8 @@ Install Rust (1.70.0 or above) and Cargo, and then run:
32
40
cargo install --locked iamb
33
41
```
34
42
43
+ See [ Configuration] ( #configuration ) for getting a profile set up.
44
+
35
45
### NetBSD
36
46
37
47
On NetBSD a package is available from the official repositories. To install it simply run:
@@ -64,93 +74,39 @@ nix profile install "github:ulyssa/iamb"
64
74
65
75
### Snap
66
76
67
- A snap for Linux distributions which [ support] ( https://snapcraft.io/docs/installing-snapd ) the packaging system.
77
+ A snap for Linux distributions which [ support] ( https://snapcraft.io/docs/installing-snapd ) the packaging system.
68
78
69
79
```
70
80
snap install iamb
71
81
```
72
82
73
83
## Configuration
74
84
75
- You can create a basic configuration in ` $CONFIG_DIR/iamb/config.json ` that looks like:
85
+ You can create a basic configuration in ` $CONFIG_DIR/iamb/config.toml ` that looks like:
76
86
77
- ``` json
78
- {
79
- "profiles" : {
80
- "example.com" : {
81
- "user_id" : " @user:example.com"
82
- }
83
- }
84
- }
87
+ ``` toml
88
+ [profiles ."example .com" ]
89
+ user_id = " @user:example.com"
85
90
```
86
91
87
92
If you homeserver is located on a different domain than the server part of the
88
93
` user_id ` and you don't have a [ ` /.well-known ` ] [ well_known_entry ] entry, then
89
94
you can explicitly specify the homeserver URL to use:
90
95
91
- ``` json
92
- {
93
- "profiles" : {
94
- "example.com" : {
95
- "url" : " https://example.com" ,
96
- "user_id" : " @user:example.com"
97
- }
98
- }
99
- }
96
+ ``` toml
97
+ [profiles ."example .com" ]
98
+ url = " https://example.com"
99
+ user_id = " @user:example.com"
100
100
```
101
101
102
- ## Comparison With Other Clients
103
-
104
- To get an idea of what is and isn't yet implemented, here is a subset of the
105
- Matrix website's [ features comparison table] [ client-comparison-matrix ] , showing
106
- two other TUI clients and Element Web:
107
-
108
- | | iamb | [ gomuks] | [ weechat-matrix] | Element Web/Desktop |
109
- | --------------------------------------- | :---------- | :------: | :--------------: | :-----------------: |
110
- | Room directory | ❌ ([ #14 ] ) | ❌ | ✔️ | ✔️ |
111
- | Room tag showing | ✔️ | ✔️ | ❌ | ✔️ |
112
- | Room tag editing | ✔️ | ✔️ | ❌ | ✔️ |
113
- | Search joined rooms | ❌ ([ #16 ] ) | ✔️ | ❌ | ✔️ |
114
- | Room user list | ✔️ | ✔️ | ✔️ | ✔️ |
115
- | Display Room Description | ✔️ | ✔️ | ✔️ | ✔️ |
116
- | Edit Room Description | ✔️ | ❌ | ✔️ | ✔️ |
117
- | Highlights | ❌ ([ #8 ] ) | ✔️ | ✔️ | ✔️ |
118
- | Pushrules | ❌ | ✔️ | ❌ | ✔️ |
119
- | Send read markers | ✔️ | ✔️ | ✔️ | ✔️ |
120
- | Display read markers | ✔️ | ❌ | ❌ | ✔️ |
121
- | Sending Invites | ✔️ | ✔️ | ✔️ | ✔️ |
122
- | Accepting Invites | ✔️ | ✔️ | ✔️ | ✔️ |
123
- | Typing Notification | ✔️ | ✔️ | ✔️ | ✔️ |
124
- | E2E | ✔️ | ✔️ | ✔️ | ✔️ |
125
- | Replies | ✔️ | ✔️ | ❌ | ✔️ |
126
- | Attachment uploading | ✔️ | ❌ | ✔️ | ✔️ |
127
- | Attachment downloading | ✔️ | ✔️ | ✔️ | ✔️ |
128
- | Send stickers | ❌ | ❌ | ❌ | ✔️ |
129
- | Send formatted messages (markdown) | ✔️ | ✔️ | ✔️ | ✔️ |
130
- | Rich Text Editor for formatted messages | ❌ | ❌ | ❌ | ✔️ |
131
- | Display formatted messages | ✔️ | ✔️ | ✔️ | ✔️ |
132
- | Redacting | ✔️ | ✔️ | ✔️ | ✔️ |
133
- | Multiple Matrix Accounts | ✔️ | ❌ | ✔️ | ❌ |
134
- | New user registration | ❌ | ❌ | ❌ | ✔️ |
135
- | VOIP | ❌ | ❌ | ❌ | ✔️ |
136
- | Reactions | ✔️ | ✔️ | ❌ | ✔️ |
137
- | Message editing | ✔️ | ✔️ | ❌ | ✔️ |
138
- | Room upgrades | ❌ ([ #41 ] ) | ✔️ | ❌ | ✔️ |
139
- | Localisations | ❌ | 1 | ❌ | 44 |
140
- | SSO Support | ✔️ | ✔️ | ✔️ | ✔️ |
141
- | Image preview | ✔️ | ❌ | ❌ | ✔️ |
142
-
143
102
## License
144
103
145
104
iamb is released under the [ Apache License, Version 2.0] .
146
105
147
106
[ Apache License, Version 2.0 ] : https://github.com/ulyssa/iamb/blob/master/LICENSE
148
107
[ client-comparison-matrix ] : https://matrix.org/clients-matrix/
108
+ [ crates-io-iamb ] : https://crates.io/crates/iamb
149
109
[ iamb.chat ] : https://iamb.chat
150
110
[ gomuks ] : https://github.com/tulir/gomuks
151
111
[ weechat-matrix ] : https://github.com/poljar/weechat-matrix
152
112
[ well_known_entry ] : https://spec.matrix.org/latest/client-server-api/#getwell-knownmatrixclient
153
- [ #8 ] : https://github.com/ulyssa/iamb/issues/8
154
- [ #14 ] : https://github.com/ulyssa/iamb/issues/14
155
- [ #16 ] : https://github.com/ulyssa/iamb/issues/16
156
- [ #41 ] : https://github.com/ulyssa/iamb/issues/41
0 commit comments