A system tray and background apps portal for Phosh
  • C 96.6%
  • Meson 3.4%
Find a file
2026-11-01 12:30:04 -06:00
.github/workflows ci: set GH_REPO for the release step 2026-10-31 18:48:14 -05:00
debian ci: permission fix 2026-10-31 18:27:52 -05:00
po Initial commit 2026-10-31 17:39:50 -05:00
prefs Initial commit 2026-10-31 17:39:50 -05:00
protocol Initial commit 2026-10-31 17:39:50 -05:00
screenshots better screenshot formatting 2026-11-01 11:59:53 -06:00
.gitignore Initial commit 2026-10-31 17:39:50 -05:00
background-app-item.c Initial commit 2026-10-31 17:39:50 -05:00
background-app-item.h Initial commit 2026-10-31 17:39:50 -05:00
background-app-watcher.c Initial commit 2026-10-31 17:39:50 -05:00
background-app-watcher.h Initial commit 2026-10-31 17:39:50 -05:00
background-portal.c Initial commit 2026-10-31 17:39:50 -05:00
background-portal.h Initial commit 2026-10-31 17:39:50 -05:00
LICENSE Initial commit 2026-10-31 17:39:50 -05:00
meson.build Add manual CI trigger and tag/changelog version check 2026-10-31 18:02:03 -05:00
mobi.phosh.plugins.tray-quick-setting.gschema.xml Initial commit 2026-10-31 17:39:50 -05:00
phosh-plugin-tray-quick-setting.c Initial commit 2026-10-31 17:39:50 -05:00
phosh-plugin-tray-quick-setting.gresources.xml Initial commit 2026-10-31 17:39:50 -05:00
phray.portal Initial commit 2026-10-31 17:39:50 -05:00
portals-conf.c Initial commit 2026-10-31 17:39:50 -05:00
portals-conf.h Initial commit 2026-10-31 17:39:50 -05:00
qs.ui Initial commit 2026-10-31 17:39:50 -05:00
README.md add install section to README 2026-11-01 12:30:04 -06:00
sni-item.c Initial commit 2026-10-31 17:39:50 -05:00
sni-item.h Initial commit 2026-10-31 17:39:50 -05:00
sni-watcher.c Initial commit 2026-10-31 17:39:50 -05:00
sni-watcher.h Initial commit 2026-10-31 17:39:50 -05:00
tray-quick-setting.c Initial commit 2026-10-31 17:39:50 -05:00
tray-quick-setting.desktop.in.in Initial commit 2026-10-31 17:39:50 -05:00
tray-quick-setting.h Initial commit 2026-10-31 17:39:50 -05:00
wl-toplevel-tracker.c Initial commit 2026-10-31 17:39:50 -05:00
wl-toplevel-tracker.h Initial commit 2026-10-31 17:39:50 -05:00

Phray

A Phosh quick-settings plugin that combines StatusNotifierItem (KStatusNotifierItem/AppIndicator) tray icons and the GNOME Background Apps portal into a single tile, bringing desktop-style system tray functionality to Phosh-based mobile Linux.

Developed and tested on FuriOS (Debian forky, aarch64).

Features

  • Shows StatusNotifierItem tray icons, including their DBusMenu menus.
  • Shows apps reported by org.freedesktop.background.Monitor, with Show and Quit actions.
  • Optionally provides org.freedesktop.impl.portal.Background itself, for systems where no other backend implements it (off by default; applies on Phosh restart).
  • Settings are available in Mobile Settings.

Screenshots

Phray tile expanded, listing background apps Tray item menu expanded, with Settings, Pause / Resume, Sync Now, and Quit Background Portal app expanded, with Show and Quit
Phray in Mobile Settings, Top Bar Phray Preferences dialog

Requirements

  • Phosh providing libphosh-0.45 (built and tested against Phosh 0.58.0).
  • Mobile Settings, to open the settings dialog.
  • xdg-desktop-portal, for the Background Apps source, which reads org.freedesktop.background.Monitor.

Installation

Download the latest .deb (arm64) and install it:

sudo apt install ./phray_arm64-latest.deb

Versioned packages are on the releases page.

Building

Prerequisites

  • libphosh-0.45 and the phosh-plugins pkg-config package (Debian: libphosh-0.45-dev, phosh-dev)
  • GTK 3 (>= 3.22) and libhandy-1 for the main plugin; GTK 4 and libadwaita-1 for the settings plugin
  • GLib/GIO (>= 2.68) and gsettings-desktop-schemas (>= 42)
  • wayland-client and wayland-scanner
  • meson (>= 0.59), ninja, pkg-config, gettext

debian/control lists the Debian build dependencies.

Compiling

meson setup builddir
ninja -C builddir
sudo ninja -C builddir install

A Debian package can be built with dpkg-buildpackage.

Project page: https://dev.dunevent.net/aj/Phray

AI Disclaimer

This project has relied extensively on AI-assisted development, primarily Anthropic's Claude (various models), under human direction and manual testing.

Contribution Profile

Phase                    Human █                  ░ AI
───────────────────────────────────────────────────────
Requirements & Scope      100% ████████████████████  0%
Architecture & Design      60% ████████████░░░░░░░░ 40%
Implementation             15% ███░░░░░░░░░░░░░░░░░ 85%
Testing                   100% ████████████████████  0%
Documentation              25% █████░░░░░░░░░░░░░░░ 75%

License

GPL-3.0-or-later. See LICENSE.