Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/neilalexander/seaglass

A truly native Matrix client for macOS - written in Swift/Cocoa, with E2E encryption support
https://github.com/neilalexander/seaglass

cocoa macos matrix swift

Last synced: about 1 month ago
JSON representation

A truly native Matrix client for macOS - written in Swift/Cocoa, with E2E encryption support

Awesome Lists containing this project

README

        

# Seaglass

[![#seaglass:matrix.org](https://img.shields.io/matrix/seaglass:matrix.org.svg?label=%23seaglass:matrix.org)](https://matrix.to/#/#seaglass:matrix.org)
[![CircleCI Build Status](https://circleci.com/gh/neilalexander/seaglass.svg?style=shield)](https://circleci.com/gh/neilalexander/seaglass)
[![Stable Version](https://img.shields.io/badge/download-stable-green.svg)](https://github.com/neilalexander/seaglass/releases/latest)

Seaglass is a truly native macOS client for Matrix. It is written in Swift and
uses the Cocoa user interface framework.

![Screenshot of Seaglass](image.png)

## Install Seaglass

You can [find the latest release on GitHub](https://github.com/neilalexander/seaglass/releases)
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. :-)