diff --git a/src/run/display/gtk.cr b/src/run/display/gtk.cr index c6a35a0..d7a9a83 100644 --- a/src/run/display/gtk.cr +++ b/src/run/display/gtk.cr @@ -50,7 +50,7 @@ module Run def clipboard(&block : ::Gtk::Clipboard -> _) act do - clip = ::Gtk::Clipboard.get(Gdk::Atom.intern("CLIPBOARD", true)) + clip = ::Gtk::Clipboard.get(Gdk::Atom.intern("CLIPBOARD", false)) block.call(clip) end end diff --git a/src/run/runner.cr b/src/run/runner.cr index 5114479..98e0112 100644 --- a/src/run/runner.cr +++ b/src/run/runner.cr @@ -211,7 +211,13 @@ module Run case down when "clipboard" display.gtk.clipboard do |clip| - clip.set_text(value, -1) + if value.empty? + # clip.clear # Doesn't do anything + # clip.set_text("", 0) # Doesn't work outside of ahkx11 itself, even though https://stackoverflow.com/q/2418487 says so. Maybe a Crystal GIR bug? + clip.image = GdkPixbuf::Pixbuf.new # Ugly but works + else + clip.set_text(value, value.size) + end clip.store end else