Windows-Tray-Anwendung (CLMgr-Anbindung an SwyxIt!) samt WebSocket-Zugang, Firefox-Erweiterung und Browser-Beispielclient.
39 lines
2.0 KiB
Markdown
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".
|