hbro-contrib-0.9.0.0: Hbro/Clipboard.hs
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)