helic-0.4.0.0: lib/Helic/Effect/GtkClipboard.hs
{-# options_haddock prune #-}
-- |The effect 'GtkClipboard' allows an app to read from, write to, and subscribe to events from a clipboard.
module Helic.Effect.GtkClipboard where
import Helic.Data.Selection (Selection)
-- |This effect 'GtkClipboard' allows an app to read from, write to, and subscribe to events from a clipboard.
-- It is intended to be scoped with a GTK display by 'Helic.interpretWithGtk'.
data GtkClipboard :: Effect where
-- |Fetch the text content of the X11 clipboard identified by the argument.
Read :: Selection -> GtkClipboard m (Maybe Text)
-- |Set the text content of the X11 clipboard identified by the first argument.
Write :: Selection -> Text -> GtkClipboard m ()
-- |Listen to clipboard events and invoke the callback.
Events :: (Selection -> Text -> m ()) -> GtkClipboard m ()
makeSem ''GtkClipboard