racket/gui

the-clipboard cannot be cleared, or set at the end of a program.

Opened this issue · 1 comments

The system clipboard the-clipboard cannot be cleared by sending it an empty string. And as far as I can tell, there is no clear-clipboard-string procedure available.

Also, if the clipboard is set using set-clipboard-string at the end of a program, it will not set the clipboard unless an extra (sleep 1) is inserted after.

This happens on Linux X11.

#lang racket/base

(require racket/class)
(require racket/gui/base)

;; This works.
(send the-clipboard set-clipboard-string "test" (current-seconds))
(sleep 1)

;; Problem 1: doesn't clear the clipboard
(send the-clipboard set-clipboard-string "" (current-seconds))
(sleep 1)

;; Problem 2: Clipboard not set without an extra sleep
(send the-clipboard set-clipboard-string "test2" (current-seconds))
;; (sleep 1) ;shouldn't need this

I can confirm this occurs on Linux, and can report that neither problem is present on macOS.