- Clean CMake + QML module structure - AGPL-3.0 licensed - Cross-platform ready (Linux, Windows, macOS) - Dark Material theme window working
95 lines
2.2 KiB
Markdown
95 lines
2.2 KiB
Markdown
# Aether
|
|
|
|
A beautiful, fast, native desktop client for [Stoat](https://github.com/stoat-chat/stoat) — the best open-source, self-hosted alternative to Discord.
|
|
|
|
> **Status:** Under active development. Not yet feature-complete.
|
|
|
|
---
|
|
|
|
## About
|
|
|
|
Aether is built with **Qt 6** and **QML**, targeting a fully native experience on Windows, macOS, and Linux from day one. It communicates with a self-hosted Stoat backend over its HTTP/WebSocket API.
|
|
|
|
**Key properties:**
|
|
|
|
- Native, GPU-accelerated UI via Qt Quick
|
|
- Clean separation between QML frontend and C++ backend layer
|
|
- AGPL-3.0 licensed — free as in freedom
|
|
|
|
---
|
|
|
|
## Requirements
|
|
|
|
| Dependency | Minimum version |
|
|
|---|---|
|
|
| Qt | 6.8 |
|
|
| CMake | 3.28 |
|
|
| Ninja | 1.11 |
|
|
| C++ compiler | C++20 support (GCC 13, Clang 16, MSVC 2022) |
|
|
|
|
---
|
|
|
|
## Building (Linux)
|
|
|
|
```bash
|
|
# 1. Clone the repository
|
|
git clone https://github.com/aether-client/aether.git
|
|
cd aether
|
|
|
|
# 2. Configure
|
|
cmake -S . -B build -G Ninja \
|
|
-DCMAKE_BUILD_TYPE=Release
|
|
|
|
# 3. Build
|
|
cmake --build build --parallel
|
|
|
|
# 4. Run
|
|
./build/aether
|
|
```
|
|
|
|
### Debug build
|
|
|
|
```bash
|
|
cmake -S . -B build-debug -G Ninja \
|
|
-DCMAKE_BUILD_TYPE=Debug
|
|
|
|
cmake --build build-debug --parallel
|
|
./build-debug/aether
|
|
```
|
|
|
|
### With a custom Qt installation
|
|
|
|
```bash
|
|
cmake -S . -B build -G Ninja \
|
|
-DCMAKE_PREFIX_PATH=/opt/Qt/6.8.0/gcc_64
|
|
```
|
|
|
|
---
|
|
|
|
## Project structure
|
|
|
|
```
|
|
aether/
|
|
├── CMakeLists.txt # Root build configuration
|
|
├── cmake/ # Future CMake helpers
|
|
├── resources/
|
|
│ └── icons/ # Application icons
|
|
└── src/
|
|
├── CMakeLists.txt # Executable target
|
|
├── main.cpp # Application entry point
|
|
├── qml/ # QML UI layer (module URI: Aether)
|
|
│ ├── main.qml
|
|
│ └── components/ # Reusable QML components
|
|
└── cpp/ # C++ backend modules (coming soon)
|
|
```
|
|
|
|
---
|
|
|
|
## License
|
|
|
|
Copyright (C) 2026 Aether Contributors
|
|
|
|
Aether is free software: you can redistribute it and/or modify it under the
|
|
terms of the **GNU Affero General Public License** as published by the Free
|
|
Software Foundation, either version 3 of the License, or (at your option) any
|
|
later version. See [LICENSE](LICENSE) for the full text.
|