racket / gui

Other
64 stars 77 forks source link

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

Open ghost opened 1 year ago

ghost commented 1 year ago

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
kengruven commented 1 year ago

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