Flatsonar

Screensaver

by ali-kenjo

A native GTK4 screensaver for Linux

Extensive permissions
Screenshot 1 Screenshot 2

About

A production-quality screensaver application built with Python, GTK4, and libadwaita, targeting Pop!_OS (GNOME and COSMIC) with both Wayland and X11 sessions. Features: - Idle detection on X11 (XScreenSaver extension) and Wayland (ext-idle-notify-v1) - Automatically suppressed by fullscreen video, presentations, and games via the freedesktop screensaver-inhibit interface - Five built-in modes: blank, clock (with burn-in-safe position drift), photo slideshow, GLSL shaders, and random lines (calm, warm-colored line segments) - Optional session locking on activation - Runs across every connected monitor simultaneously This app was built on Pop!_OS Linux, largely through AI-assisted "vibe coding". It is free and open source (GPL-3.0-or-later): use it, read and modify its source, integrate it into your own projects, and redistribute it, all at no cost. As with any software you run on your own machine, please use good judgment and keep your usual backup/update habits.

Permissions

6 permissions weaken the sandbox. Flatsonar asks before installing.

  • unrestricted access to the session D-Bus (all your running apps)
    --socket=session-bus
  • unrestricted access to the system D-Bus (system services, hardware)
    --socket=system-bus
  • access to a sensitive location (xdg-config/autostart): credentials or autostart
    --filesystem=xdg-config/autostart:create
  • owns freedesktop name org.freedesktop.ScreenSaver: can impersonate a system service
    --own-name=org.freedesktop.ScreenSaver
  • wildcard own-name org.kde.StatusNotifierItem-*: can impersonate system services
    --own-name=org.kde.StatusNotifierItem-*
  • session management (logout, suspend)
    --talk-name=org.freedesktop.login1
  • Wayland display
    --socket=wayland
  • X11 display, only when Wayland is unavailable
    --socket=fallback-x11
  • GPU acceleration
    --device=dri
  • access to your pictures folder
    --filesystem=xdg-pictures:ro
  • battery status
    --talk-name=org.freedesktop.UPower
  • talks to org.gnome.ScreenSaver
    --talk-name=org.gnome.ScreenSaver
  • system tray
    --talk-name=org.kde.StatusNotifierWatcher

Who publishes this

Nobody has confirmed that the publisher controls this app id. Flatsonar warns before installing.

  • com.yourusername.screensaver claims the domain yourusername.com; only its owner can prove that
    publisher:namespace

Maintenance

Recent activity on the upstream repository, or built and reviewed by Flathub.

No staleness signals: recent activity, or built and reviewed by Flathub.