Windows-Tray-Anwendung (CLMgr-Anbindung an SwyxIt!) samt WebSocket-Zugang, Firefox-Erweiterung und Browser-Beispielclient.
2.0 KiB
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 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)
- In Firefox
about:debugging#/runtime/this-firefoxoeffnen. - Temporaeres Add-on laden… und die manifest.json dieses Ordners auswaehlen.
- 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 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".