Seaglass is a truly native macOS client for Matrix. It is written in Swift and
uses the Cocoa user interface framework.
You can find the latest release on GitHub
or you can install Seaglass from Homebrew Cask. Either way, you’ll be able to use the built
in auto updating feature to ensure you have the latest version.
brew cask install seaglass
Building from source
Use Xcode 9.4 or Xcode 10.0 on macOS 10.13. Seaglass may require macOS 10.13 as a
result of using auto-layout for some table views, which seems to have been introduced
with High Sierra. I hope to find an alternate way to relax this requirement.
If you do not already have CocoaPods installed, then install it:
sudo gem install cocoapods
Clone the Seaglass repository and install dependencies:
git clone https://github.com/neilalexander/seaglass cd seaglass pod install
Seaglass.xcworkspace in Xcode and build!
- Logging in to a homeserver you are already registered with
- Creating and leaving rooms and direct chats
- Joining and parting rooms
- Inviting users to rooms (through
- Emotes (using
- Message redaction
- Posting text to rooms with Markdown formatting
- Changing some room settings (history visibility, join rules, name, topic, aliases)
- Message coalescing
- End-to-end encryption
- Enabling end-to-end encryption in rooms
- Marking devices as verified or blacklisted
- Exporting and importing encryption keys (compatible with Riot)
- Requesting (and re-requesting) keys from other Matrix clients
- Choosing whether to send encrypted messages to unverified devices
- Viewing inline images and stickers
- Links to non-image attachments
At this stage it is early in development and stands a good chance of being buggy
and unreliable. I’m also not a Swift expert – I only started using Swift three
or four days before my initial commit – and this code is probably awful. You’ve
been warned. ?