⚙️ 🤖 FlipDrop: Floating-Fenster als XDND-Drag-Quelle für Screenshots bauen #1
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
Reviewed/Confirmed
Reviewed/Duplicate
Reviewed/Invalid
Reviewed/Won't Fix
Status/Abandoned
Status/Blocked
Status/Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
holm.tools.public/FlipDrop#1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
█████░░░░░████████░░███░░░░░░░████████░░█████░░░░░Anforderung
Kleines, immer-obenauf-Fenster unter X11/i3, das als Drag-and-Drop-Quelle für
Screenshots dient.
~/SyncDir/Screenshotsohne ihn zu öffnen
Terminal
xclipUmsetzung
webContents.startDrag({ file, icon })im Main-Prozess,ausgelöst per IPC aus dem Renderer — Electron erledigt damit das XDND-Protokoll,
ein eigener XDND-Stack ist nicht nötig
alwaysOnTop,skipTaskbar, kleine Default-Größe;i3-Verhalten ggf. über Fenster-Klasse/
for_window-Regel steuernfs.watch/chokidar), damit ein neuer Screenshot sofort obenauftaucht
Offene Punkte
Abnahme
Ein Screenshot lässt sich aus dem Fenster heraus in VSCodium, einen Browser und ein
Terminal ziehen und kommt dort als Datei bzw. Pfad an; ein Klick legt den Pfad im
Clipboard ab.
Erledigt — Commit
18d68f6(feat: FlipDrop-App — Floating-Fenster als XDND-Drag-Quelle) aufdev, signiert und gepusht.Was gebaut wurde
Electron-App:
main.js,preload.js,renderer/index.html, dazu Starterflipdrop.shundshell.nix. Das Fenster liegt immer obenauf (X11/i3) und zeigt ein Verzeichnis (Default~/SyncDir/Screenshots) nach ctime absteigend — bewusst nicht nach mtime, weil bei Nextcloud-/SyncDir-Kopien die mtime die des Originals bleibt und der frische Screenshot dann nicht oben steht. Maximal 200 Einträge, Auto-Refresh perfs.watch, große Bildvorschau.Bedienung: Klick = Pfad ins Clipboard (CLIPBOARD und PRIMARY), Doppelklick = öffnen, Ziehen = XDND,
+/-Spaltenzahl 1–4 (inlocalStoragegemerkt),r/F5 neu laden,q/Esc schließen. Aufrufparameter-d/--dir=, EnvFLIPDROP_DIR,FLIPDROP_GEOM(Default380 900),FLIPDROP_POS(Default60 60).Tests — alle vier bestanden (live durch holm)
Zwei Befunde
ELECTRON_RUN_AS_NODE-Falle. Aus einem VSCodium-Terminal gestartet erbt der ProzessELECTRON_RUN_AS_NODE=1; Electron läuft dann als reines Node und stirbt sofort mitCannot find module 'electron'— sieht nach kaputtem Setup aus, ist aber nur die geerbte Variable.flipdrop.shräumt sie samt derVSCODE_*-Geschwister vor dem Start ab. Beim direktenelectron .-Aufruf muss man das selbst tun.flipdrop.shhilft einmalig perxdotool+i3-msgnach; dauerhaft besser ist diefor_window-Regel in der i3-Config:Beides steht als eigener Abschnitt im README. Kein Tag, kein Release, kein Merge nach
main— das bleibt separater Entscheidung vorbehalten.