README

Frost matrix client

builds.sr.ht status

Frost is a experimental matrix client written in Golang using the gio library and my matrix library. It should work on Linux, Windows, macOS, Android and WASM but most testing happens on Linux.

If you have any comments about the codebase feel free to visit #frost-dev:intothecyber.space

Building

Frost can be built using go build ./cmd/frost. If you do not want to compile with crypto support use go build -tags nocrypto ./cmd/frost.

Some screenshots

History of a room List of rooms List of users in a room Desktop layout

Documentation

Overview

Frost is a matrix client built using gio. It consists of Views and Components interacting with another.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BackEvent

type BackEvent struct{}

func (BackEvent) FrostEvent

func (s BackEvent) FrostEvent()

type CloseMemberlistEvent

type CloseMemberlistEvent struct{}

func (CloseMemberlistEvent) FrostEvent

func (s CloseMemberlistEvent) FrostEvent()

type CloseRoomhistoryEvent

type CloseRoomhistoryEvent struct{}

func (CloseRoomhistoryEvent) FrostEvent

func (s CloseRoomhistoryEvent) FrostEvent()

type Component

type Component interface {
	Run(rx chan Event, tx chan Event)
	Stop()
}

type Event

type Event interface {
	FrostEvent()
}

type InvalidationEvent

type InvalidationEvent struct{}

func (InvalidationEvent) FrostEvent

func (s InvalidationEvent) FrostEvent()

type Mux

type Mux struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func NewMux

func NewMux() *Mux

func (*Mux) Register

func (m *Mux) Register() (id uint, rx, tx chan Event)

func (*Mux) Run

func (m *Mux) Run()

func (*Mux) Stop

func (m *Mux) Stop()

func (*Mux) Unregister

func (m *Mux) Unregister(id uint)

type ShowMemberlistEvent

type ShowMemberlistEvent struct {
	Room matrix.Room
}

func (ShowMemberlistEvent) FrostEvent

func (s ShowMemberlistEvent) FrostEvent()

type ToggleNavigation

type ToggleNavigation struct{}

func (ToggleNavigation) FrostEvent

func (s ToggleNavigation) FrostEvent()

type View

type View interface {
	Component

	Layout(layout.Context) layout.Dimensions
}

Directories

Path Synopsis
cmd
component
Package platform contains all platform specific code in frost.
Package platform contains all platform specific code in frost.
view