Scanline is an unofficial native GTK4 / Adwaita client for Plex
How to Install »
Features
·
Report Bug or Request Feature
·
Join the Matrix Room
Scanline is not affiliated with or endorsed by Plex. Scanline is provided as-is without any warranty or guarantees. A Plex account and access to a Plex media server are required.
- Multi-server support with per-server enable/disable
- Full-text search across servers
- Library browsing by section (Movies, TV Shows, etc.)
- Video playback
- Fullscreen playback
- Windowed playback W.I.P.
- P.I.P Support W.I.P.
- Quality presets
- Audio presets
- Subtitles W.I.P.
- Auto-hiding player controls
- Changing playback speed W.I.P.
- Continue watching with progress tracking W.I.P.
- Watchlist support W.I.P.
- Jellyfin support W.I.P.
- EMBY support W.I.P.
Scanline is a native, modern looking client for Plex built with GTK4 and Libadwaita in Go. It is designed to fit naturally into the GNOME desktop alongside its existing applications, something web apps and Electron apps often struggle with.
Scanline builds on Tonearm's schwifty UI framework, which provides a SwiftUI-inspired approach to building GTK applications in Go.
Currently the only tested installation method is the Nix flake provided in the repository. If you want to package this software for another distro or marketplace, please do open an issue so we can coordinate.
This assumes that your system configuration is already done using a system flake. First add this repository as an input to your flake.
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
... your other inputs ...
scanline = {
url = "github:0SkillAllLuck/Scanline";
inputs.nixpkgs.follows = "nixpkgs";
};
}then add this anywhere in your system configuration as you see fit
{ inputs, ... }:
{
# System Packages
environment.systemPackages = [
inputs.scanline.packages.${pkgs.stdenv.hostPlatform.system}.scanline
];
# Or if you prefer via Home Manager
home.packages = [
inputs.scanline.packages.${pkgs.stdenv.hostPlatform.system}.scanline
];
}If you don't want to install Scanline directly on your system, or don't feel like rebuilding it, you can run the software in a "one-off" way, with the following command:
nix run "github:0SkillAllLuck/Scanline"#scanlineNote
This command requires the nix-command nix experimental feature1. You probably enabled it at the same time you did flakes.
The following projects and resources served as inspiration or were helpful during the development of Scanline.
- Tonearm and its schwifty UI framework for providing the foundation
- puregotk for making this project possible with only minimal CGO bindings
- Plex for the media server platform
- Dråfølin for the beautiful icon
- Phosphor Icons (MIT) for the macOS icon set