Seaglass
Seaglass is a truly native macOS client for Matrix. It is written in Swift and uses the Cocoa user interface framework.
Install Seaglass
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
Open up Seaglass.xcworkspace
in Xcode and build!
Current features
- 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
/invite
) - Emotes (using
/me
) - 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
Disclaimer
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. :-)