diff --git a/README.md b/README.md
index 064f066..6089d46 100644
--- a/README.md
+++ b/README.md
@@ -2,9 +2,9 @@

[](https://github.com/ulyssa/iamb/actions?query=workflow%3ACI+)
-[](https://crates.io/crates/iamb)
+[][crates-io-iamb]
[](https://matrix.to/#/#iamb:0x.badd.cafe)
-[](https://crates.io/crates/iamb)
+[][crates-io-iamb]
[](https://snapcraft.io/iamb)

@@ -14,10 +14,18 @@
## About
-`iamb` is a Matrix client for the terminal that uses Vim keybindings.
+`iamb` is a Matrix client for the terminal that uses Vim keybindings. It includes support for:
-This project is a work-in-progress, and there's still a lot to be implemented,
-but much of the basic client functionality is already present.
+- Threads, spaces, E2EE, and read receipts
+- Image previews in terminals that support it (sixels, Kitty, and iTerm2), or using pixelated blocks for those that don't
+- Notifications via terminal bell or desktop environment
+- Creating, joining, and leaving rooms
+- Sending and accepting room invitations
+- Editing, redacting, and reacting to messages
+- Custom keybindings
+- Multiple profiles
+
+_You may want to [see this page as it was when the latest version was published][crates-io-iamb]._
## Documentation
@@ -32,6 +40,8 @@ Install Rust (1.70.0 or above) and Cargo, and then run:
cargo install --locked iamb
```
+See [Configuration](#configuration) for getting a profile set up.
+
### NetBSD
On NetBSD a package is available from the official repositories. To install it simply run:
@@ -64,7 +74,7 @@ nix profile install "github:ulyssa/iamb"
### Snap
-A snap for Linux distributions which [support](https://snapcraft.io/docs/installing-snapd) the packaging system.
+A snap for Linux distributions which [support](https://snapcraft.io/docs/installing-snapd) the packaging system.
```
snap install iamb
@@ -72,85 +82,31 @@ snap install iamb
## Configuration
-You can create a basic configuration in `$CONFIG_DIR/iamb/config.json` that looks like:
+You can create a basic configuration in `$CONFIG_DIR/iamb/config.toml` that looks like:
-```json
-{
- "profiles": {
- "example.com": {
- "user_id": "@user:example.com"
- }
- }
-}
+```toml
+[profiles."example.com"]
+user_id = "@user:example.com"
```
If you homeserver is located on a different domain than the server part of the
`user_id` and you don't have a [`/.well-known`][well_known_entry] entry, then
you can explicitly specify the homeserver URL to use:
-```json
-{
- "profiles": {
- "example.com": {
- "url": "https://example.com",
- "user_id": "@user:example.com"
- }
- }
-}
+```toml
+[profiles."example.com"]
+url = "https://example.com"
+user_id = "@user:example.com"
```
-## Comparison With Other Clients
-
-To get an idea of what is and isn't yet implemented, here is a subset of the
-Matrix website's [features comparison table][client-comparison-matrix], showing
-two other TUI clients and Element Web:
-
-| | iamb | [gomuks] | [weechat-matrix] | Element Web/Desktop |
-| --------------------------------------- | :---------- | :------: | :--------------: | :-----------------: |
-| Room directory | ❌ ([#14]) | ❌ | ✔️ | ✔️ |
-| Room tag showing | ✔️ | ✔️ | ❌ | ✔️ |
-| Room tag editing | ✔️ | ✔️ | ❌ | ✔️ |
-| Search joined rooms | ❌ ([#16]) | ✔️ | ❌ | ✔️ |
-| Room user list | ✔️ | ✔️ | ✔️ | ✔️ |
-| Display Room Description | ✔️ | ✔️ | ✔️ | ✔️ |
-| Edit Room Description | ✔️ | ❌ | ✔️ | ✔️ |
-| Highlights | ❌ ([#8]) | ✔️ | ✔️ | ✔️ |
-| Pushrules | ❌ | ✔️ | ❌ | ✔️ |
-| Send read markers | ✔️ | ✔️ | ✔️ | ✔️ |
-| Display read markers | ✔️ | ❌ | ❌ | ✔️ |
-| Sending Invites | ✔️ | ✔️ | ✔️ | ✔️ |
-| Accepting Invites | ✔️ | ✔️ | ✔️ | ✔️ |
-| Typing Notification | ✔️ | ✔️ | ✔️ | ✔️ |
-| E2E | ✔️ | ✔️ | ✔️ | ✔️ |
-| Replies | ✔️ | ✔️ | ❌ | ✔️ |
-| Attachment uploading | ✔️ | ❌ | ✔️ | ✔️ |
-| Attachment downloading | ✔️ | ✔️ | ✔️ | ✔️ |
-| Send stickers | ❌ | ❌ | ❌ | ✔️ |
-| Send formatted messages (markdown) | ✔️ | ✔️ | ✔️ | ✔️ |
-| Rich Text Editor for formatted messages | ❌ | ❌ | ❌ | ✔️ |
-| Display formatted messages | ✔️ | ✔️ | ✔️ | ✔️ |
-| Redacting | ✔️ | ✔️ | ✔️ | ✔️ |
-| Multiple Matrix Accounts | ✔️ | ❌ | ✔️ | ❌ |
-| New user registration | ❌ | ❌ | ❌ | ✔️ |
-| VOIP | ❌ | ❌ | ❌ | ✔️ |
-| Reactions | ✔️ | ✔️ | ❌ | ✔️ |
-| Message editing | ✔️ | ✔️ | ❌ | ✔️ |
-| Room upgrades | ❌ ([#41]) | ✔️ | ❌ | ✔️ |
-| Localisations | ❌ | 1 | ❌ | 44 |
-| SSO Support | ✔️ | ✔️ | ✔️ | ✔️ |
-| Image preview | ✔️ | ❌ | ❌ | ✔️ |
-
## License
iamb is released under the [Apache License, Version 2.0].
[Apache License, Version 2.0]: https://github.com/ulyssa/iamb/blob/master/LICENSE
[client-comparison-matrix]: https://matrix.org/clients-matrix/
+[crates-io-iamb]: https://crates.io/crates/iamb
[iamb.chat]: https://iamb.chat
[gomuks]: https://github.com/tulir/gomuks
[weechat-matrix]: https://github.com/poljar/weechat-matrix
[well_known_entry]: https://spec.matrix.org/latest/client-server-api/#getwell-knownmatrixclient
-[#8]: https://github.com/ulyssa/iamb/issues/8
-[#14]: https://github.com/ulyssa/iamb/issues/14
-[#16]: https://github.com/ulyssa/iamb/issues/16
-[#41]: https://github.com/ulyssa/iamb/issues/41