Linux: afbeelding naar klembord kopiëren doet niets (pasteboard heeft geen Linux-schrijfpad) #758

Closed
opened 2026-07-23 15:48:06 +00:00 by brenno · 2 comments
Owner

Gevonden door de eerste CI-run van de kwaliteitspoort op Linux (#741/#751).

Pasteboard.writeImage uit het pasteboard-pakket (0.5.0) heeft alleen mac/iOS/Android/Windows-takken; op Linux is het een stille no-op. ImageService.copyImageBytesToClipboard meldde daardoor "gelukt" terwijl er niets op het klembord stond. Sinds #751 geeft de service op Linux eerlijk false terug — de knop toont dus een mislukking — maar de functie ontbreekt daarmee nog steeds op Linux.

Echt oplossen kan langs twee routes:

  • upstream: een Linux-schrijfpad in pasteboard (GTK-clipboard in de plugin), of
  • een eigen kanaal in de Linux-runner van OciDeck (gtk_clipboard_set_image), zoals desktop_multi_window al gevendord is.

Lezen ván het klembord werkt op Linux wél (het pakket heeft dat pad); alleen schrijven ontbreekt.

Gevonden door de eerste CI-run van de kwaliteitspoort op Linux (#741/#751). `Pasteboard.writeImage` uit het pasteboard-pakket (0.5.0) heeft alleen mac/iOS/Android/Windows-takken; op Linux is het een stille no-op. `ImageService.copyImageBytesToClipboard` meldde daardoor "gelukt" terwijl er niets op het klembord stond. Sinds #751 geeft de service op Linux eerlijk `false` terug — de knop toont dus een mislukking — maar de functie ontbreekt daarmee nog steeds op Linux. Echt oplossen kan langs twee routes: - upstream: een Linux-schrijfpad in pasteboard (GTK-clipboard in de plugin), of - een eigen kanaal in de Linux-runner van OciDeck (gtk_clipboard_set_image), zoals desktop_multi_window al gevendord is. Lezen ván het klembord werkt op Linux wél (het pakket heeft dat pad); alleen schrijven ontbreekt.
Author
Owner

Opgepakt. Tak: fix/linux-klembord-schrijfpad-758, vanaf main. Route: een eigen MethodChannel in de Linux-runner (gtk_clipboard_set_image), geen nieuwe afhankelijkheid en geen fork van pasteboard. Let op voor de #751-sessie: dit raakt ImageService.copyImageBytesToClipboard — zodra het schrijfpad er is, is de eerlijke-false-tussenstap uit #751 op Linux niet meer nodig; wie het laatst merget, rebased dat stukje weg.

Opgepakt. Tak: `fix/linux-klembord-schrijfpad-758`, vanaf main. Route: een eigen MethodChannel in de Linux-runner (`gtk_clipboard_set_image`), geen nieuwe afhankelijkheid en geen fork van pasteboard. Let op voor de #751-sessie: dit raakt `ImageService.copyImageBytesToClipboard` — zodra het schrijfpad er is, is de eerlijke-false-tussenstap uit #751 op Linux niet meer nodig; wie het laatst merget, rebased dat stukje weg.
Author
Owner

Opgelost en op main: merge-commit 5509a9f5 (PR #763). Linux heeft nu een echt klembord-schrijfpad: een eigen MethodChannel (ocideck/clipboard) in de GTK-runner — gdk_pixbuf decodeert, gtk_clipboard_set_image plaatst, en het native oordeel (gelukt of niet) is wat de knop meldt. Geen nieuwe afhankelijkheid, geen fork van pasteboard; lezen was al goed en is ongemoeid. Regressietest op de Dart-kant (eerst rood gezien); de native kant is door de Linux-CI gecompileerd (proefbouw groen). Verificatieschuld die blijft: het echte klembordgedrag op een draaiende Linux-desktop is nog niet met de hand getoetst. Voor de #751-tak: de eerlijke-false-tussenstap op Linux is hiermee overbodig — rebase dat stukje weg.

Opgelost en op main: merge-commit `5509a9f5` (PR #763). Linux heeft nu een echt klembord-schrijfpad: een eigen MethodChannel (`ocideck/clipboard`) in de GTK-runner — gdk_pixbuf decodeert, gtk_clipboard_set_image plaatst, en het native oordeel (gelukt of niet) is wat de knop meldt. Geen nieuwe afhankelijkheid, geen fork van pasteboard; lezen was al goed en is ongemoeid. Regressietest op de Dart-kant (eerst rood gezien); de native kant is door de Linux-CI gecompileerd (proefbouw groen). Verificatieschuld die blijft: het echte klembordgedrag op een draaiende Linux-desktop is nog niet met de hand getoetst. Voor de #751-tak: de eerlijke-false-tussenstap op Linux is hiermee overbodig — rebase dat stukje weg.
brenno 2026-07-23 16:31:09 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#758
No description provided.