A system tray and background apps portal for Phosh
- C 96.6%
- Meson 3.4%
| .github/workflows | ||
| debian | ||
| po | ||
| prefs | ||
| protocol | ||
| screenshots | ||
| .gitignore | ||
| background-app-item.c | ||
| background-app-item.h | ||
| background-app-watcher.c | ||
| background-app-watcher.h | ||
| background-portal.c | ||
| background-portal.h | ||
| LICENSE | ||
| meson.build | ||
| mobi.phosh.plugins.tray-quick-setting.gschema.xml | ||
| phosh-plugin-tray-quick-setting.c | ||
| phosh-plugin-tray-quick-setting.gresources.xml | ||
| phray.portal | ||
| portals-conf.c | ||
| portals-conf.h | ||
| qs.ui | ||
| README.md | ||
| sni-item.c | ||
| sni-item.h | ||
| sni-watcher.c | ||
| sni-watcher.h | ||
| tray-quick-setting.c | ||
| tray-quick-setting.desktop.in.in | ||
| tray-quick-setting.h | ||
| wl-toplevel-tracker.c | ||
| wl-toplevel-tracker.h | ||
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.Backgrounditself, for systems where no other backend implements it (off by default; applies on Phosh restart). - Settings are available in Mobile Settings.
Screenshots
![]() |
![]() |
![]() |
![]() |
![]() |
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 readsorg.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.45and thephosh-pluginspkg-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-clientandwayland-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.




