Verify against a real Frame; switch clipboard to Klipper

The headset desktop is nested Plasma in gamescope with no wl-copy/xclip,
so paste-to-frame.sh now calls Klipper over plasmashell's D-Bus bus.
connect.sh, push.sh, paste-to-frame.sh and install-apps.sh were exercised
on SteamOS 0.3.0 (build 20260922); docs record what was confirmed.
Cross-provider review skipped at Alex's request (Astra quota exhausted).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
saphidandClaude Opus 5.5 committed 2026-09-25 19:35:16 +10:00
1 parent 1f6115b789
commit a7ae41b94f
8 files changed
+78 -48

No files matched your search

+7 -7
View File
@@ -26,13 +26,13 @@ virtual keyboard's paste key or a right-click → Paste.
echo "https://example.com" | ./scripts/paste-to-frame.sh -
```
How it works (untested). Over SSH, the script finds the logged-in Plasma
session's `XDG_RUNTIME_DIR` and `wayland-*` socket, then runs `wl-copy`. If
there's no Wayland socket or no `wl-copy`, it tries `xclip` with `DISPLAY=:0`.
It assumes the in-headset desktop is a normal Plasma session owned by
`steamos`. That isn't known yet: the headset desktop may be a KWin session
nested inside SteamVR. If both methods fail, the script prints what it found so
the approach can be adjusted.
How it works (verified 2026-09-25). The headset's desktop is a Plasma Wayland
session nested inside gamescope, with its own runtime dir
(`/run/user/1000/nested_plasma`) and its own D-Bus bus. `wl-copy` and `xclip`
aren't installed. The script reads the bus address from `plasmashell`'s
environment and calls Klipper's `setClipboardContents` with `qdbus6`. The
desktop has to be running in the headset. It's text only, and pastes over about
100 KB hit the argument limit, so send big things with `push.sh`.
A simpler fallback: `ssh frame 'cat > ~/clip.txt'` < file, then open it in the
headset.