Files
swyx/src/SwyxFFPlugin/README.md
T
Sven 78b17a1350 SwyxTray und Firefox-Plugin in das Repository aufnehmen
Windows-Tray-Anwendung (CLMgr-Anbindung an SwyxIt!) samt WebSocket-Zugang,
Firefox-Erweiterung und Browser-Beispielclient.
2026-08-21 11:33:52 +02:00

39 lines
2.0 KiB
Markdown

# SwyxFFPlugin
Firefox-Erweiterung zur Tab-Verwaltung fuer SwyxTray. Das Hintergrundskript
haelt eine WebSocket-Verbindung zum **Plugin-Port** von SwyxTray
(voreingestellt `ws://127.0.0.1:17655/`, einstellbar ueber `PluginPort` in
`%LOCALAPPDATA%\SwyxTray\websocket.json`) und beantwortet drei Auftraege:
| Auftrag | Antwort |
|---|---|
| `{"type":"tab","id":…,"action":"list"}` | `{"cmd":"tabresult","id":…,"ok":true,"tabs":[{id,title,url,active},…]}` |
| `{"type":"tab","id":…,"action":"open","url":…}` | `{"cmd":"tabresult","id":…,"ok":true,"tabId":…}` |
| `{"type":"tab","id":…,"action":"close","tabId":…}` | `{"cmd":"tabresult","id":…,"ok":true}` |
Das Protokoll im Einzelnen steht im [Haupt-README](../../README.md) unter
„Firefox-Plugin (SwyxFFPlugin)".
Auf diesem Kanal fragt SwyxTray, das Plugin antwortet — genutzt vom
`focus`-Kommando des Hauptports und von den Kontextmenuepunkten **Lese Tabs**,
**Tab oeffnen** und **Tab schliessen** des Tray-Symbols. Laeuft SwyxTray (noch) nicht, verbindet das Skript sich selbst
neu: beginnend mit 1 s Abstand, je Fehlversuch verdoppelt bis hoechstens 30 s.
## Installieren (zum Erproben)
1. In Firefox `about:debugging#/runtime/this-firefox` oeffnen.
2. **Temporaeres Add-on laden…** und die [manifest.json](manifest.json) dieses
Ordners auswaehlen.
3. Im Protokoll von SwyxTray erscheint `WebSocket … verbunden (…, Plugin-Port)`.
Ein temporaeres Add-on ueberlebt den Firefox-Neustart nicht. Fuer eine
dauerhafte Installation muss die Erweiterung signiert werden (etwa unsigniert
nur in Firefox Developer Edition/ESR mit `xpinstall.signatures.required=false`).
Sind in SwyxTray die Handshake-Pruefungen eingeschaltet (zur Zeit sind sie
abgeschaltet, siehe Haupt-README), braucht die Adresse in
[background.js](background.js) zusaetzlich das Token
(`ws://127.0.0.1:17655/?token=…`), und in `AllowedOrigins` muss der Origin
`moz-extension://<UUID>` der Erweiterung stehen — die UUID zeigt
`about:debugging` als „Interne UUID".