Files
claude-live-dashboard/package.json
T
swinksandClaude Opus 4.8 c1b899ec8b Linux-Fassung (Ubuntu) ergaenzen
Die Fachlogik war bereits plattformneutral — paths.js loeste ~/.config
schon auf, jsonl.js liest ueber os.homedir(). Zu tun waren Autostart,
Build-Targets und drei Linux-Eigenheiten der Oberflaeche.

XWayland erzwingen: Ab Electron 36 waehlt Chromium in einer
Wayland-Sitzung von sich aus Wayland. Dort darf sich ein Fenster weder
selbst positionieren noch dauerhaft in den Vordergrund legen — beides
ist der Kern dieses Widgets. Der Schalter muss auf der Kommandozeile
stehen, weil Ozone die Plattform vor dem Main-Skript festlegt;
appendSwitch() und ELECTRON_OZONE_PLATFORM_HINT kommen beide zu spaet.
Bleibt ein einmaliger Neustart mit --ozone-platform=x11, der sich am
Argument selbst als Abbruchbedingung erkennt. Im AppImage muss dabei
execPath auf APPIMAGE zeigen, sonst laeuft der Nachfolger in den
/tmp-Einhaengepunkt, den der Vorgaenger beim Beenden wegraeumt.

Autostart: app.setLoginItemSettings() gibt es unter Linux nicht. Das
neue Modul autostart.js kapselt die Weiche und schreibt bzw. loescht
dort ~/.config/autostart/claude-live-dashboard.desktop. Der Startbefehl
kommt aus APPIMAGE, falls gesetzt.

Ausserdem: enable-transparent-visuals fuer echte Transparenz, das
32-px-Tray-Symbol in der GNOME-Leiste, plattformabhaengige
Beschriftungen in Tray-Menue und Einstellungsdialog, AppImage- und
deb-Targets, icon.png auf 512 px (electron-builder rechnet daraus die
Linux-Groessen herunter) und start.sh als Gegenstueck zu start.cmd.

Getestet unter GNOME/Wayland: Fenster auf X11 an erwarteter Position,
gemerkte Position wird wiederhergestellt, Tray registriert sich auf
DBus, dump liest die Transkripte, beide Pakete bauen und das AppImage
startet ohne Schalter.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 21:52:08 +02:00

102 lines
2.7 KiB
JSON

{
"name": "claude-live-dashboard",
"productName": "Claude Live Dashboard",
"version": "1.0.0",
"private": true,
"description": "Always-on-Top Mini-Dashboard für Claude-Plan-Auslastung unter Windows und Linux",
"main": "src/main/index.js",
"scripts": {
"start": "electron .",
"dump": "node src/main/dump.js",
"calibrate": "node src/main/calibrate.js",
"icons": "node tools/make-icon.js",
"dist": "electron-builder --win",
"pack": "electron-builder --win --dir",
"dist:linux": "electron-builder --linux",
"pack:linux": "electron-builder --linux --dir"
},
"author": "",
"license": "MIT",
"_homepage": "Platzhalter — nur nötig, weil das .deb-Paket ein Homepage-Feld verlangt.",
"homepage": "https://github.com/exilkieler/claude-live-dashboard",
"devDependencies": {
"electron": "^43.2.0",
"electron-builder": "^25.1.8"
},
"build": {
"appId": "de.local.claude-live-dashboard",
"productName": "Claude Live Dashboard",
"copyright": "Copyright © 2026",
"directories": {
"output": "release",
"buildResources": "assets"
},
"files": [
"src/**/*",
"assets/**/*",
"config.json",
"!**/*.map"
],
"win": {
"target": [
{
"target": "nsis",
"arch": [
"x64"
]
},
{
"target": "portable",
"arch": [
"x64"
]
}
],
"icon": "assets/icon.png",
"artifactName": "${productName}-${version}-${arch}.${ext}"
},
"nsis": {
"oneClick": false,
"perMachine": false,
"allowToChangeInstallationDirectory": true,
"createDesktopShortcut": true,
"createStartMenuShortcut": true,
"shortcutName": "Claude Live Dashboard",
"installerLanguages": [
"de_DE"
],
"language": "1031",
"deleteAppDataOnUninstall": false
},
"portable": {
"artifactName": "${productName}-${version}-portable.${ext}"
},
"linux": {
"target": [
{
"target": "AppImage",
"arch": [
"x64"
]
},
{
"target": "deb",
"arch": [
"x64"
]
}
],
"icon": "assets/icon.png",
"executableName": "claude-live-dashboard",
"category": "Utility",
"maintainer": "Stefan <exilkieler@gmail.com>",
"synopsis": "Auslastung des Claude-Abos im Blick",
"description": "Rahmenloses Always-on-Top-Widget, das die Auslastung des Claude-Abos aus den lokalen Claude-Code-Transkripten liest.",
"desktop": {
"StartupWMClass": "claude-live-dashboard"
},
"artifactName": "${productName}-${version}-${arch}.${ext}"
}
}
}