Skip to content
MizerdPublic

About

Native Matrix desktop client: Qt 6 and the official Rust SDK, not Electron. Search in encrypted rooms, group calls, screen sharing. Linux, Windows, macOS.

Topics

Resources

Contributing

Stars

37 stars

Watchers

1 watching

Forks

Repository files navigation

Lightning logo

Lightning

A native Matrix client for the desktop. Qt 6, not Electron.
Built on the official Rust Matrix SDK, with search that works in encrypted rooms and MatrixRTC group calls.

Latest release Flathub Licence: GPL-3.0-or-later GitHub stars Matrix room

Website · Get it on Flathub · All downloads · Install guide

Get it on Flathub

Lightning in its default theme: a room conversation with a shared picture, replies, reactions and a thread
A group call with a screen share on the stage A thread and its replies beside the conversation The theme editor building a custom theme
Group calls Threads Themes

Beta. Lightning is usable day to day but young, and is listed as Beta in the Matrix client directory. Expect rough edges, and please report them.

Why Lightning

  • Actually native. Qt 6 / QML with C++ for the app. No Electron, no web view, not a fork of another client.
  • The official SDK does the Matrix part. Sync, timelines, threads, media and end-to-end encryption come from matrix-rust-sdk. Lightning implements no cryptography of its own.
  • Search that covers encrypted rooms. A local index on your computer, since a server cannot search ciphertext. The catch: message content is stored unencrypted on disk (see Security and privacy).
  • Group calls. MatrixRTC audio, camera and screen sharing, tested against Element Call, Sable and Lightning on Linux and Windows. Not tested on macOS.
  • Linux first, also Windows and macOS. Flatpak, AppImage, deb, rpm, snap, a Nix flake, and Windows and macOS builds. Windows and macOS packages are unsigned.
  • No telemetry. No analytics or crash reporting. Lightning has not been formally security audited.
  • Free software. GPL-3.0-or-later.

If Lightning is useful to you, a star on GitHub helps other people find it. Bug reports and patches help more: see Contributing.

Lightning is a Matrix client for Linux, Windows and macOS. The interface is Qt 6 / QML with C++ for the application layer, and the official matrix-rust-sdk does synchronisation, timelines, end-to-end encryption, threads and media.

Features

  • Messaging: replies, edits, reactions, mentions, read receipts, pinned messages, polls, drafts, and forwarding to several rooms at once.
  • Threads: real Matrix threads in a side panel, encrypted rooms included.
  • Encryption: handled by the SDK. Cross-signing, emoji and QR verification, key backup restore, and messages that decrypt in place when a key arrives.
  • Search: a local index on your computer, so encrypted rooms are searchable too; server search where the server can read the room.
  • Calls: MatrixRTC group calls with audio, camera and screen sharing that work with Element Call. Not yet tested on macOS.
  • Spaces: a single activity-ordered list, or a Spaces rail with nested subspaces, drag-to-reorder and local folders.
  • Accounts: password or browser (OAuth 2.0 / OIDC) sign-in, several accounts on different homeservers, and signing your other devices in from this one with a code.
  • Media: inline images, video, audio and voice messages; stickers, custom emoji and a GIF picker (GIPHY or KLIPY) that sends only your search term.
  • Desktop: eleven themes and a theme editor that checks contrast, eleven languages including Arabic, native notifications (with reply where supported), tray, Ctrl+K switcher and rebindable shortcuts.
  • Updates: checks for new releases and installs them where the package format allows, verified against a signed manifest.

The full tour, more screenshots and the known limits are in docs/features.md.

Message keyboard navigation covers compose focus, message selection, independent paging, Activity and quick-switcher selection/dismissal, and cursor blinking preferences, with a configuration-file example.

Install

On Linux, Flathub is the easiest route. The Flatpak brings its own Qt, GStreamer and C library, so it also runs on distributions too old for the deb, the rpm and the AppImage.

Every release also ships these on GitHub Releases, with a SHA256SUMS file:

Platform Packages
Linux (x86-64) AppImage, .deb for Debian 13+ or Ubuntu 26.04+, .rpm for Fedora 44+, .flatpak, .snap
NixOS nix run github:Mizerd/lightning, or the flake with its Home Manager module
Windows 10+ (x86-64) MSI, Setup EXE or portable ZIP, per-user by default. Unsigned, so SmartScreen warns
macOS 26+ (Apple Silicon) ZIP. Not notarized, so the first launch needs Open Anyway. Does not update itself

docs/install.md has the commands, which distributions each package is known to work on, the NixOS flake, all-users installs on Windows and the macOS first-launch steps.

Build from source

With the repository's Nix flake on Linux:

git clone https://github.com/Mizerd/lightning.git
cd lightning
nix develop -c cmake -S . -B build-rust -G Ninja -DENABLE_RUST_SDK_BACKEND=ON
nix develop -c cmake --build build-rust
scripts/run-dev.sh

docs/building.md covers the mock-backend tree, the tests, build options and how the layers fit together.

Contributing

Bug reports, testing and focused patches are welcome. Read CONTRIBUTING.md first.

Security and privacy

End-to-end encryption is handled entirely by the Rust Matrix SDK. Lightning collects nothing: no analytics, telemetry or crash reporting. Besides your homeserver it contacts the release host for an anonymous update check (on by default, sending only Lightning/<version>) and the GitHub mirror when you install an update, a GIF provider only while the GIF picker is open, and a linked site only for a link preview you ask for.

Message content, from encrypted rooms too, is stored unencrypted on disk in your account's store directory, readable only by your user account; full-disk encryption is what protects it at rest. Lightning has not been formally security audited.

Licence

Copyright © 2026 Rokas Smetonis. Lightning is free software licensed under the GNU General Public License v3.0 or later — see LICENSE.

Maintainer: Rokas Smetonis — antrasrokas@gmail.com

About

Native Matrix desktop client: Qt 6 and the official Rust SDK, not Electron. Search in encrypted rooms, group calls, screen sharing. Linux, Windows, macOS.

Topics

Resources

Contributing

Stars

37 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages