module Hbro.Clipboard where -- {{{ Imports import Hbro.Core import Hbro.Types import Hbro.Util import Graphics.UI.Gtk.General.Clipboard -- }}} -- | Write given String to primary clipboard. toClipboard :: String -> IO () toClipboard text = clipboardGet selectionPrimary >>= (`clipboardSetText` text) withClipboard :: (String -> K ()) -> K () withClipboard callback = do clip <- io $ clipboardGet selectionPrimary mapK2 (clipboardRequestText clip) (maybe (return ()) callback)