Name: pocketds-screen-toolbox Version: 20260517 Release: 20260517180000%{?dist} Summary: Dual-screen layout switcher for the AYANEO Pocket DS (CLI + Plasma 6 applet) License: GPL-2.0-or-later URL: https://gitlab.com/linux-pocketds # ── CLI wrapper + desktop entry ── Source0: pocketds-screens Source1: pocketds-screens.desktop # ── Plasma 6 plasmoid (system-tray applet) ── # Files are flat in the package dir (RPM Sources can't reference # nested paths because rpkg stages each Source by basename into a # flat results directory). %install reassembles them under # /usr/share/plasma/plasmoids/org.pocketds.screens/. Source10: plasmoid-metadata.json Source11: plasmoid-main.qml BuildArch: noarch %global debug_package %{nil} %global plasmoid_id org.pocketds.screens # kscreen-doctor (CLI front-end for libkscreen) is what does the work. Requires: libkscreen # python3 is used by the rotation-cycle helper in pocketds-screens for # the JSON parse; same dep already pulled in by pocketds-userspace, so # adding it here is a no-op on the SteamOS image. Requires: python3 # The plasmoid loads only under Plasma 6; weak dep so non-KDE installs # of the CLI alone don't pull KDE in. Recommends: plasma-workspace >= 6.0 %description Pocket DS dual-screen toolbox. Ships: * /usr/bin/pocketds-screens — kscreen-doctor wrapper with named presets (both, top-only, bottom-only, swap-primary, rotate-cw, rotate-ccw, status, reset) tuned for the Pocket DS's vertically- stacked DSI-1 / DSI-2 panel pair. * org.pocketds.screens — Plasma 6 system-tray applet that fronts those subcommands with one-tap buttons and a live `kscreen-doctor -o` status pane. * /usr/share/applications/pocketds-screens.desktop — kickoff entry that defaults to the "both" preset (re-applies the canonical vertical-stack layout when the user drags the .desktop onto a panel as a quick-action). The applet shells out to the CLI on every press; Plasma's own kscreen daemon stays the single source of truth for the saved layout. Output names default to DSI-1 / DSI-2 but can be overridden via POCKETDS_SCREENS_TOP / POCKETDS_SCREENS_BOTTOM env vars. %prep # no build; sources are dropped in directly %build # nothing to build %install # CLI + desktop entry install -D -m 0755 %{SOURCE0} %{buildroot}%{_bindir}/pocketds-screens install -D -m 0644 %{SOURCE1} %{buildroot}%{_datadir}/applications/pocketds-screens.desktop # Plasma 6 plasmoid — rpmbuild SOURCE references are flat files, so we # can't `cp -r` a directory from %{_sourcedir}. Recreate the layout # explicitly from the two Sources above. install -D -m 0644 %{SOURCE10} %{buildroot}%{_datadir}/plasma/plasmoids/%{plasmoid_id}/metadata.json install -D -m 0644 %{SOURCE11} %{buildroot}%{_datadir}/plasma/plasmoids/%{plasmoid_id}/contents/ui/main.qml %files %{_bindir}/pocketds-screens %{_datadir}/applications/pocketds-screens.desktop %dir %{_datadir}/plasma/plasmoids/%{plasmoid_id} %dir %{_datadir}/plasma/plasmoids/%{plasmoid_id}/contents %dir %{_datadir}/plasma/plasmoids/%{plasmoid_id}/contents/ui %{_datadir}/plasma/plasmoids/%{plasmoid_id}/metadata.json %{_datadir}/plasma/plasmoids/%{plasmoid_id}/contents/ui/main.qml %changelog * Sun May 17 2026 Pocket DS Maintainers - %{version}-%{release} - Initial package: kscreen-doctor wrapper + Plasma 6 system-tray applet for the Pocket DS dual-DSI layout.