packages feed

gi-notify 0.7.15 → 0.7.17

raw patch · 14 files changed

+2556/−10 lines, 14 filesdep ~haskell-gidep ~haskell-gi-basePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: haskell-gi, haskell-gi-base

API changes (from Hackage documentation)

- GI.Notify.Objects.Notification: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.Notify.Objects.Notification.Notification a) => GI.Notify.Objects.Notification.IsNotification a
- GI.Notify.Objects.Notification: instance GI.GObject.Objects.Object.IsObject GI.Notify.Objects.Notification.Notification
- GI.Notify.Objects.Notification: instance GI.Notify.Objects.Notification.IsNotification GI.Notify.Objects.Notification.Notification
+ GI.Notify.Enums: instance Data.GI.Base.BasicTypes.BoxedEnum GI.Notify.Enums.Urgency
+ GI.Notify.Objects.Notification: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.Notify.Objects.Notification.Notification o) => GI.Notify.Objects.Notification.IsNotification o
+ GI.Notify.Objects.Notification: instance Data.GI.Base.Overloading.HasParentTypes GI.Notify.Objects.Notification.Notification
- GI.Notify.Callbacks: genClosure_ActionCallback :: ActionCallback -> IO Closure
+ GI.Notify.Callbacks: genClosure_ActionCallback :: MonadIO m => ActionCallback -> m (GClosure C_ActionCallback)
- GI.Notify.Functions: getServerInfo :: (HasCallStack, MonadIO m) => m ((Bool, Text, Text, Text, Text))
+ GI.Notify.Functions: getServerInfo :: (HasCallStack, MonadIO m) => m (Bool, Text, Text, Text, Text)
- GI.Notify.Objects.Notification: Notification :: (ManagedPtr Notification) -> Notification
+ GI.Notify.Objects.Notification: Notification :: ManagedPtr Notification -> Notification
- GI.Notify.Objects.Notification: class GObject o => IsNotification o
+ GI.Notify.Objects.Notification: class (GObject o, IsDescendantOf Notification o) => IsNotification o
- GI.Notify.Objects.Notification: constructNotificationAppName :: (IsNotification o) => Text -> IO (GValueConstruct o)
+ GI.Notify.Objects.Notification: constructNotificationAppName :: IsNotification o => Text -> IO (GValueConstruct o)
- GI.Notify.Objects.Notification: constructNotificationBody :: (IsNotification o) => Text -> IO (GValueConstruct o)
+ GI.Notify.Objects.Notification: constructNotificationBody :: IsNotification o => Text -> IO (GValueConstruct o)
- GI.Notify.Objects.Notification: constructNotificationIconName :: (IsNotification o) => Text -> IO (GValueConstruct o)
+ GI.Notify.Objects.Notification: constructNotificationIconName :: IsNotification o => Text -> IO (GValueConstruct o)
- GI.Notify.Objects.Notification: constructNotificationId :: (IsNotification o) => Int32 -> IO (GValueConstruct o)
+ GI.Notify.Objects.Notification: constructNotificationId :: IsNotification o => Int32 -> IO (GValueConstruct o)
- GI.Notify.Objects.Notification: constructNotificationSummary :: (IsNotification o) => Text -> IO (GValueConstruct o)
+ GI.Notify.Objects.Notification: constructNotificationSummary :: IsNotification o => Text -> IO (GValueConstruct o)
- GI.Notify.Objects.Notification: genClosure_NotificationClosed :: NotificationClosedCallback -> IO Closure
+ GI.Notify.Objects.Notification: genClosure_NotificationClosed :: MonadIO m => NotificationClosedCallback -> m (GClosure C_NotificationClosedCallback)
- GI.Notify.Objects.Notification: notificationNew :: (HasCallStack, MonadIO m) => Text -> Maybe (Text) -> Maybe (Text) -> m Notification
+ GI.Notify.Objects.Notification: notificationNew :: (HasCallStack, MonadIO m) => Text -> Maybe Text -> Maybe Text -> m Notification
- GI.Notify.Objects.Notification: notificationSetHint :: (HasCallStack, MonadIO m, IsNotification a) => a -> Text -> Maybe (GVariant) -> m ()
+ GI.Notify.Objects.Notification: notificationSetHint :: (HasCallStack, MonadIO m, IsNotification a) => a -> Text -> Maybe GVariant -> m ()
- GI.Notify.Objects.Notification: notificationUpdate :: (HasCallStack, MonadIO m, IsNotification a) => a -> Text -> Maybe (Text) -> Maybe (Text) -> m Bool
+ GI.Notify.Objects.Notification: notificationUpdate :: (HasCallStack, MonadIO m, IsNotification a) => a -> Text -> Maybe Text -> Maybe Text -> m Bool

Files

ChangeLog.md view
@@ -1,3 +1,11 @@+### 0.7.17+++ Update to haskell-gi(-base) 0.22++### 0.7.16+++ Update stack version to 12.10+ ### 0.7.15  + Remove enable-overloading flags, and use instead explicit CPP checks for 'haskell-gi-overloading-1.0', see [how to disable overloading](https://github.com/haskell-gi/haskell-gi/wiki/Overloading\#disabling-overloading).
+ GI/Notify.hs view
@@ -0,0 +1,54 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Notify+    (     module GI.Notify.Callbacks              ,+    module GI.Notify.Constants              ,+    module GI.Notify.Enums                  ,+    module GI.Notify.Functions              ,+    module GI.Notify.Objects                ,++++    module Data.GI.Base                     ,+++    ) where++import GI.Notify.Callbacks+import GI.Notify.Constants+import GI.Notify.Enums+import GI.Notify.Functions+import GI.Notify.Objects++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++import Data.GI.Base+
+ GI/Notify/Callbacks.hs view
@@ -0,0 +1,142 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Notify.Callbacks+    ( ++ -- * Signals+-- ** ActionCallback #signal:ActionCallback#++    ActionCallback                          ,+    ActionCallback_WithClosures             ,+    C_ActionCallback                        ,+    drop_closures_ActionCallback            ,+    dynamic_ActionCallback                  ,+    genClosure_ActionCallback               ,+    mk_ActionCallback                       ,+    noActionCallback                        ,+    noActionCallback_WithClosures           ,+    wrap_ActionCallback                     ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.Notify.Objects.Notification as Notify.Notification++-- callback ActionCallback+--          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "An action callback function.", sinceVersion = Nothing}}+-- | Type for the callback on the (unwrapped) C side.+type C_ActionCallback =+    Ptr Notify.Notification.Notification ->+    CString ->+    Ptr () ->+    IO ()++-- Args : [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_ActionCallback :: FunPtr C_ActionCallback -> C_ActionCallback++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_ActionCallback ::+    (B.CallStack.HasCallStack, MonadIO m, Notify.Notification.IsNotification a) =>+    FunPtr C_ActionCallback+    -> a+    -> T.Text+    -> Ptr ()+    -> m ()+dynamic_ActionCallback __funPtr notification action userData = liftIO $ do+    notification' <- unsafeManagedPtrCastPtr notification+    action' <- textToCString action+    (__dynamic_C_ActionCallback __funPtr) notification' action' userData+    touchManagedPtr notification+    freeMem action'+    return ()++-- | Generate a function pointer callable from C code, from a `C_ActionCallback`.+foreign import ccall "wrapper"+    mk_ActionCallback :: C_ActionCallback -> IO (FunPtr C_ActionCallback)++{- |+An action callback function.+-}+type ActionCallback =+    Notify.Notification.Notification+    -> T.Text+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ActionCallback`@.+noActionCallback :: Maybe ActionCallback+noActionCallback = Nothing++{- |+An action callback function.+-}+type ActionCallback_WithClosures =+    Notify.Notification.Notification+    -> T.Text+    -> Ptr ()+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `ActionCallback_WithClosures`@.+noActionCallback_WithClosures :: Maybe ActionCallback_WithClosures+noActionCallback_WithClosures = Nothing++-- | A simple wrapper that ignores the closure arguments.+drop_closures_ActionCallback :: ActionCallback -> ActionCallback_WithClosures+drop_closures_ActionCallback _f notification action _ = _f notification action++-- | Wrap the callback into a `GClosure`.+genClosure_ActionCallback :: MonadIO m => ActionCallback -> m (GClosure C_ActionCallback)+genClosure_ActionCallback cb = liftIO $ do+    let cb' = drop_closures_ActionCallback cb+    let cb'' = wrap_ActionCallback Nothing cb'+    mk_ActionCallback cb'' >>= B.GClosure.newGClosure+++-- | Wrap a `ActionCallback` into a `C_ActionCallback`.+wrap_ActionCallback ::+    Maybe (Ptr (FunPtr C_ActionCallback)) ->+    ActionCallback_WithClosures ->+    C_ActionCallback+wrap_ActionCallback funptrptr _cb notification action userData = do+    notification' <- (newObject Notify.Notification.Notification) notification+    action' <- cstringToText action+    _cb  notification' action' userData+    maybeReleaseFunPtr funptrptr+++
+ GI/Notify/Constants.hs view
@@ -0,0 +1,70 @@+{-# LANGUAGE PatternSynonyms, ScopedTypeVariables, ViewPatterns #-}+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Notify.Constants+    ( +    pattern VERSION_MINOR                   ,+    pattern VERSION_MICRO                   ,+    pattern VERSION_MAJOR                   ,+    pattern EXPIRES_NEVER                   ,+    pattern EXPIRES_DEFAULT                 ,++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++{- |+/No description available in the introspection data./+-}+pattern VERSION_MINOR = 7 :: Int32++{- |+/No description available in the introspection data./+-}+pattern VERSION_MICRO = 8 :: Int32++{- |+/No description available in the introspection data./+-}+pattern VERSION_MAJOR = 0 :: Int32++{- |+The notification never expires. It stays open until closed by the calling API+or the user.+-}+pattern EXPIRES_NEVER = 0 :: Int32++{- |+The default expiration time on a notification.+-}+pattern EXPIRES_DEFAULT = -1 :: Int32++
+ GI/Notify/Enums.hs view
@@ -0,0 +1,87 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Notify.Enums+    ( ++ -- * Enumerations+-- ** Urgency #enum:Urgency#++    Urgency(..)                             ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++-- Enum Urgency+{- |+The urgency level of the notification.+-}+data Urgency = +      UrgencyLow+    {- ^+    Low urgency. Used for unimportant notifications.+    -}+    | UrgencyNormal+    {- ^+    Normal urgency. Used for most standard notifications.+    -}+    | UrgencyCritical+    {- ^+    Critical urgency. Used for very important notifications.+    -}+    | AnotherUrgency Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum Urgency where+    fromEnum UrgencyLow = 0+    fromEnum UrgencyNormal = 1+    fromEnum UrgencyCritical = 2+    fromEnum (AnotherUrgency k) = k++    toEnum 0 = UrgencyLow+    toEnum 1 = UrgencyNormal+    toEnum 2 = UrgencyCritical+    toEnum k = AnotherUrgency k++instance P.Ord Urgency where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "notify_urgency_get_type" c_notify_urgency_get_type :: +    IO GType++instance BoxedEnum Urgency where+    boxedEnumType _ = c_notify_urgency_get_type++
+ GI/Notify/Enums.hs-boot view
@@ -0,0 +1,27 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Notify.Enums where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++data Urgency+instance P.Enum Urgency where+instance BoxedEnum Urgency where
+ GI/Notify/Functions.hs view
@@ -0,0 +1,278 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Notify.Functions+    ( ++ -- * Methods+-- ** getAppName #method:getAppName#++    getAppName                              ,+++-- ** getServerCaps #method:getServerCaps#++    getServerCaps                           ,+++-- ** getServerInfo #method:getServerInfo#++    getServerInfo                           ,+++-- ** init #method:init#++    init                                    ,+++-- ** isInitted #method:isInitted#++    isInitted                               ,+++-- ** setAppName #method:setAppName#++    setAppName                              ,+++-- ** uninit #method:uninit#++    uninit                                  ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++-- function notify_uninit+-- Args : []+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "notify_uninit" notify_uninit :: +    IO ()++{- |+Uninitialized libnotify.++This should be called when the program no longer needs libnotify for+the rest of its lifecycle, typically just before exitting.+-}+uninit ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m ()+uninit  = liftIO $ do+    notify_uninit+    return ()+++-- function notify_set_app_name+-- Args : [Arg {argCName = "app_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The name of the application", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "notify_set_app_name" notify_set_app_name :: +    CString ->                              -- app_name : TBasicType TUTF8+    IO ()++{- |+Sets the application name.+-}+setAppName ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@appName@/: The name of the application -}+    -> m ()+setAppName appName = liftIO $ do+    appName' <- textToCString appName+    notify_set_app_name appName'+    freeMem appName'+    return ()+++-- function notify_is_initted+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "notify_is_initted" notify_is_initted :: +    IO CInt++{- |+Gets whether or not libnotify is initialized.+-}+isInitted ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Bool+    {- ^ __Returns:__ 'True' if libnotify is initialized, or 'False' otherwise. -}+isInitted  = liftIO $ do+    result <- notify_is_initted+    let result' = (/= 0) result+    return result'+++-- function notify_init+-- Args : [Arg {argCName = "app_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The name of the application initializing libnotify.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "notify_init" notify_init :: +    CString ->                              -- app_name : TBasicType TUTF8+    IO CInt++{- |+Initialized libnotify. This must be called before any other functions.+-}+init ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@appName@/: The name of the application initializing libnotify. -}+    -> m Bool+    {- ^ __Returns:__ 'True' if successful, or 'False' on error. -}+init appName = liftIO $ do+    appName' <- textToCString appName+    result <- notify_init appName'+    let result' = (/= 0) result+    freeMem appName'+    return result'+++-- function notify_get_server_info+-- Args : [Arg {argCName = "ret_name", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location to store the server name, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "ret_vendor", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location to store the server vendor, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "ret_version", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location to store the server version, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "ret_spec_version", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location to store the version the service is compliant with, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "notify_get_server_info" notify_get_server_info :: +    Ptr CString ->                          -- ret_name : TBasicType TUTF8+    Ptr CString ->                          -- ret_vendor : TBasicType TUTF8+    Ptr CString ->                          -- ret_version : TBasicType TUTF8+    Ptr CString ->                          -- ret_spec_version : TBasicType TUTF8+    IO CInt++{- |+Synchronously queries the server for its information, specifically, the name, vendor,+server version, and the version of the notifications specification that it+is compliant with.+-}+getServerInfo ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m ((Bool, T.Text, T.Text, T.Text, T.Text))+    {- ^ __Returns:__ 'True' if successful, and the variables passed will be set, 'False'+         on error. The returned strings must be freed with g_free -}+getServerInfo  = liftIO $ do+    retName <- allocMem :: IO (Ptr CString)+    retVendor <- allocMem :: IO (Ptr CString)+    retVersion <- allocMem :: IO (Ptr CString)+    retSpecVersion <- allocMem :: IO (Ptr CString)+    result <- notify_get_server_info retName retVendor retVersion retSpecVersion+    let result' = (/= 0) result+    retName' <- peek retName+    retName'' <- cstringToText retName'+    freeMem retName'+    retVendor' <- peek retVendor+    retVendor'' <- cstringToText retVendor'+    freeMem retVendor'+    retVersion' <- peek retVersion+    retVersion'' <- cstringToText retVersion'+    freeMem retVersion'+    retSpecVersion' <- peek retSpecVersion+    retSpecVersion'' <- cstringToText retSpecVersion'+    freeMem retSpecVersion'+    freeMem retName+    freeMem retVendor+    freeMem retVersion+    freeMem retSpecVersion+    return (result', retName'', retVendor'', retVersion'', retSpecVersion'')+++-- function notify_get_server_caps+-- Args : []+-- Lengths : []+-- returnType : Just (TGList (TBasicType TUTF8))+-- throws : False+-- Skip return : False++foreign import ccall "notify_get_server_caps" notify_get_server_caps :: +    IO (Ptr (GList CString))++{- |+Synchronously queries the server for its capabilities and returns them in a 'GI.GLib.Structs.List.List'.+-}+getServerCaps ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m [T.Text]+    {- ^ __Returns:__ a 'GI.GLib.Structs.List.List' of server capability strings. Free+  the list elements with 'GI.GLib.Functions.free' and the list itself with @/g_list_free()/@. -}+getServerCaps  = liftIO $ do+    result <- notify_get_server_caps+    result' <- unpackGList result+    result'' <- mapM cstringToText result'+    mapGList freeMem result+    g_list_free result+    return result''+++-- function notify_get_app_name+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "notify_get_app_name" notify_get_app_name :: +    IO CString++{- |+Gets the application name registered.+-}+getAppName ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m T.Text+    {- ^ __Returns:__ The registered application name, passed to 'GI.Notify.Functions.init'. -}+getAppName  = liftIO $ do+    result <- notify_get_app_name+    checkUnexpectedReturnNULL "getAppName" result+    result' <- cstringToText result+    return result'+++
+ GI/Notify/Objects.hs view
@@ -0,0 +1,41 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Notify.Objects+    (     module GI.Notify.Objects.Notification   ,+++    ) where++import GI.Notify.Objects.Notification++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++
+ GI/Notify/Objects/Notification.hs view
@@ -0,0 +1,1707 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++/No description available in the introspection data./+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.Notify.Objects.Notification+    ( ++-- * Exported types+    Notification(..)                        ,+    IsNotification                          ,+    toNotification                          ,+    noNotification                          ,+++ -- * Methods+-- ** addAction #method:addAction#++#if ENABLE_OVERLOADING+    NotificationAddActionMethodInfo         ,+#endif+    notificationAddAction                   ,+++-- ** clearActions #method:clearActions#++#if ENABLE_OVERLOADING+    NotificationClearActionsMethodInfo      ,+#endif+    notificationClearActions                ,+++-- ** clearHints #method:clearHints#++#if ENABLE_OVERLOADING+    NotificationClearHintsMethodInfo        ,+#endif+    notificationClearHints                  ,+++-- ** close #method:close#++#if ENABLE_OVERLOADING+    NotificationCloseMethodInfo             ,+#endif+    notificationClose                       ,+++-- ** getClosedReason #method:getClosedReason#++#if ENABLE_OVERLOADING+    NotificationGetClosedReasonMethodInfo   ,+#endif+    notificationGetClosedReason             ,+++-- ** new #method:new#++    notificationNew                         ,+++-- ** setAppName #method:setAppName#++#if ENABLE_OVERLOADING+    NotificationSetAppNameMethodInfo        ,+#endif+    notificationSetAppName                  ,+++-- ** setCategory #method:setCategory#++#if ENABLE_OVERLOADING+    NotificationSetCategoryMethodInfo       ,+#endif+    notificationSetCategory                 ,+++-- ** setHint #method:setHint#++#if ENABLE_OVERLOADING+    NotificationSetHintMethodInfo           ,+#endif+    notificationSetHint                     ,+++-- ** setHintByte #method:setHintByte#++#if ENABLE_OVERLOADING+    NotificationSetHintByteMethodInfo       ,+#endif+    notificationSetHintByte                 ,+++-- ** setHintByteArray #method:setHintByteArray#++#if ENABLE_OVERLOADING+    NotificationSetHintByteArrayMethodInfo  ,+#endif+    notificationSetHintByteArray            ,+++-- ** setHintDouble #method:setHintDouble#++#if ENABLE_OVERLOADING+    NotificationSetHintDoubleMethodInfo     ,+#endif+    notificationSetHintDouble               ,+++-- ** setHintInt32 #method:setHintInt32#++#if ENABLE_OVERLOADING+    NotificationSetHintInt32MethodInfo      ,+#endif+    notificationSetHintInt32                ,+++-- ** setHintString #method:setHintString#++#if ENABLE_OVERLOADING+    NotificationSetHintStringMethodInfo     ,+#endif+    notificationSetHintString               ,+++-- ** setHintUint32 #method:setHintUint32#++#if ENABLE_OVERLOADING+    NotificationSetHintUint32MethodInfo     ,+#endif+    notificationSetHintUint32               ,+++-- ** setIconFromPixbuf #method:setIconFromPixbuf#++#if ENABLE_OVERLOADING+    NotificationSetIconFromPixbufMethodInfo ,+#endif+    notificationSetIconFromPixbuf           ,+++-- ** setImageFromPixbuf #method:setImageFromPixbuf#++#if ENABLE_OVERLOADING+    NotificationSetImageFromPixbufMethodInfo,+#endif+    notificationSetImageFromPixbuf          ,+++-- ** setTimeout #method:setTimeout#++#if ENABLE_OVERLOADING+    NotificationSetTimeoutMethodInfo        ,+#endif+    notificationSetTimeout                  ,+++-- ** setUrgency #method:setUrgency#++#if ENABLE_OVERLOADING+    NotificationSetUrgencyMethodInfo        ,+#endif+    notificationSetUrgency                  ,+++-- ** show #method:show#++#if ENABLE_OVERLOADING+    NotificationShowMethodInfo              ,+#endif+    notificationShow                        ,+++-- ** update #method:update#++#if ENABLE_OVERLOADING+    NotificationUpdateMethodInfo            ,+#endif+    notificationUpdate                      ,+++++ -- * Properties+-- ** appName #attr:appName#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    NotificationAppNamePropertyInfo         ,+#endif+    constructNotificationAppName            ,+    getNotificationAppName                  ,+#if ENABLE_OVERLOADING+    notificationAppName                     ,+#endif+    setNotificationAppName                  ,+++-- ** body #attr:body#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    NotificationBodyPropertyInfo            ,+#endif+    clearNotificationBody                   ,+    constructNotificationBody               ,+    getNotificationBody                     ,+#if ENABLE_OVERLOADING+    notificationBody                        ,+#endif+    setNotificationBody                     ,+++-- ** closedReason #attr:closedReason#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    NotificationClosedReasonPropertyInfo    ,+#endif+    getNotificationClosedReason             ,+#if ENABLE_OVERLOADING+    notificationClosedReason                ,+#endif+++-- ** iconName #attr:iconName#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    NotificationIconNamePropertyInfo        ,+#endif+    clearNotificationIconName               ,+    constructNotificationIconName           ,+    getNotificationIconName                 ,+#if ENABLE_OVERLOADING+    notificationIconName                    ,+#endif+    setNotificationIconName                 ,+++-- ** id #attr:id#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    NotificationIdPropertyInfo              ,+#endif+    constructNotificationId                 ,+    getNotificationId                       ,+#if ENABLE_OVERLOADING+    notificationId                          ,+#endif+    setNotificationId                       ,+++-- ** summary #attr:summary#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    NotificationSummaryPropertyInfo         ,+#endif+    clearNotificationSummary                ,+    constructNotificationSummary            ,+    getNotificationSummary                  ,+#if ENABLE_OVERLOADING+    notificationSummary                     ,+#endif+    setNotificationSummary                  ,+++++ -- * Signals+-- ** closed #signal:closed#++    C_NotificationClosedCallback            ,+    NotificationClosedCallback              ,+#if ENABLE_OVERLOADING+    NotificationClosedSignalInfo            ,+#endif+    afterNotificationClosed                 ,+    genClosure_NotificationClosed           ,+    mk_NotificationClosedCallback           ,+    noNotificationClosedCallback            ,+    onNotificationClosed                    ,+    wrap_NotificationClosedCallback         ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import qualified GI.GLib.Callbacks as GLib.Callbacks+import qualified GI.GObject.Objects.Object as GObject.Object+import qualified GI.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf+import qualified GI.Notify.Callbacks as Notify.Callbacks+import {-# SOURCE #-} qualified GI.Notify.Enums as Notify.Enums++-- | Memory-managed wrapper type.+newtype Notification = Notification (ManagedPtr Notification)+foreign import ccall "notify_notification_get_type"+    c_notify_notification_get_type :: IO GType++instance GObject Notification where+    gobjectType = c_notify_notification_get_type+    ++-- | Type class for types which can be safely cast to `Notification`, for instance with `toNotification`.+class (GObject o, O.IsDescendantOf Notification o) => IsNotification o+instance (GObject o, O.IsDescendantOf Notification o) => IsNotification o++instance O.HasParentTypes Notification+type instance O.ParentTypes Notification = '[GObject.Object.Object]++-- | Cast to `Notification`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toNotification :: (MonadIO m, IsNotification o) => o -> m Notification+toNotification = liftIO . unsafeCastTo Notification++-- | A convenience alias for `Nothing` :: `Maybe` `Notification`.+noNotification :: Maybe Notification+noNotification = Nothing++#if ENABLE_OVERLOADING+type family ResolveNotificationMethod (t :: Symbol) (o :: *) :: * where+    ResolveNotificationMethod "addAction" o = NotificationAddActionMethodInfo+    ResolveNotificationMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveNotificationMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveNotificationMethod "clearActions" o = NotificationClearActionsMethodInfo+    ResolveNotificationMethod "clearHints" o = NotificationClearHintsMethodInfo+    ResolveNotificationMethod "close" o = NotificationCloseMethodInfo+    ResolveNotificationMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveNotificationMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveNotificationMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveNotificationMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveNotificationMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveNotificationMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveNotificationMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveNotificationMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveNotificationMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveNotificationMethod "show" o = NotificationShowMethodInfo+    ResolveNotificationMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveNotificationMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveNotificationMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveNotificationMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveNotificationMethod "update" o = NotificationUpdateMethodInfo+    ResolveNotificationMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveNotificationMethod "getClosedReason" o = NotificationGetClosedReasonMethodInfo+    ResolveNotificationMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveNotificationMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveNotificationMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveNotificationMethod "setAppName" o = NotificationSetAppNameMethodInfo+    ResolveNotificationMethod "setCategory" o = NotificationSetCategoryMethodInfo+    ResolveNotificationMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveNotificationMethod "setHint" o = NotificationSetHintMethodInfo+    ResolveNotificationMethod "setHintByte" o = NotificationSetHintByteMethodInfo+    ResolveNotificationMethod "setHintByteArray" o = NotificationSetHintByteArrayMethodInfo+    ResolveNotificationMethod "setHintDouble" o = NotificationSetHintDoubleMethodInfo+    ResolveNotificationMethod "setHintInt32" o = NotificationSetHintInt32MethodInfo+    ResolveNotificationMethod "setHintString" o = NotificationSetHintStringMethodInfo+    ResolveNotificationMethod "setHintUint32" o = NotificationSetHintUint32MethodInfo+    ResolveNotificationMethod "setIconFromPixbuf" o = NotificationSetIconFromPixbufMethodInfo+    ResolveNotificationMethod "setImageFromPixbuf" o = NotificationSetImageFromPixbufMethodInfo+    ResolveNotificationMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveNotificationMethod "setTimeout" o = NotificationSetTimeoutMethodInfo+    ResolveNotificationMethod "setUrgency" o = NotificationSetUrgencyMethodInfo+    ResolveNotificationMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveNotificationMethod t Notification, O.MethodInfo info Notification p) => OL.IsLabel t (Notification -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++-- signal Notification::closed+{- |+Emitted when the notification is closed.+-}+type NotificationClosedCallback =+    IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `NotificationClosedCallback`@.+noNotificationClosedCallback :: Maybe NotificationClosedCallback+noNotificationClosedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_NotificationClosedCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_NotificationClosedCallback`.+foreign import ccall "wrapper"+    mk_NotificationClosedCallback :: C_NotificationClosedCallback -> IO (FunPtr C_NotificationClosedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_NotificationClosed :: MonadIO m => NotificationClosedCallback -> m (GClosure C_NotificationClosedCallback)+genClosure_NotificationClosed cb = liftIO $ do+    let cb' = wrap_NotificationClosedCallback cb+    mk_NotificationClosedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `NotificationClosedCallback` into a `C_NotificationClosedCallback`.+wrap_NotificationClosedCallback ::+    NotificationClosedCallback ->+    C_NotificationClosedCallback+wrap_NotificationClosedCallback _cb _ _ = do+    _cb +++{- |+Connect a signal handler for the “@closed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' notification #closed callback+@+-}+onNotificationClosed :: (IsNotification a, MonadIO m) => a -> NotificationClosedCallback -> m SignalHandlerId+onNotificationClosed obj cb = liftIO $ do+    let cb' = wrap_NotificationClosedCallback cb+    cb'' <- mk_NotificationClosedCallback cb'+    connectSignalFunPtr obj "closed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@closed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' notification #closed callback+@+-}+afterNotificationClosed :: (IsNotification a, MonadIO m) => a -> NotificationClosedCallback -> m SignalHandlerId+afterNotificationClosed obj cb = liftIO $ do+    let cb' = wrap_NotificationClosedCallback cb+    cb'' <- mk_NotificationClosedCallback cb'+    connectSignalFunPtr obj "closed" cb'' SignalConnectAfter+++-- VVV Prop "app-name"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable]+   -- Nullable: (Nothing,Just False)++{- |+Get the value of the “@app-name@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' notification #appName+@+-}+getNotificationAppName :: (MonadIO m, IsNotification o) => o -> m (Maybe T.Text)+getNotificationAppName obj = liftIO $ B.Properties.getObjectPropertyString obj "app-name"++{- |+Set the value of the “@app-name@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' notification [ #appName 'Data.GI.Base.Attributes.:=' value ]+@+-}+setNotificationAppName :: (MonadIO m, IsNotification o) => o -> T.Text -> m ()+setNotificationAppName obj val = liftIO $ B.Properties.setObjectPropertyString obj "app-name" (Just val)++{- |+Construct a `GValueConstruct` with valid value for the “@app-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructNotificationAppName :: (IsNotification o) => T.Text -> IO (GValueConstruct o)+constructNotificationAppName val = B.Properties.constructObjectPropertyString "app-name" (Just val)++#if ENABLE_OVERLOADING+data NotificationAppNamePropertyInfo+instance AttrInfo NotificationAppNamePropertyInfo where+    type AttrAllowedOps NotificationAppNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint NotificationAppNamePropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint NotificationAppNamePropertyInfo = IsNotification+    type AttrGetType NotificationAppNamePropertyInfo = (Maybe T.Text)+    type AttrLabel NotificationAppNamePropertyInfo = "app-name"+    type AttrOrigin NotificationAppNamePropertyInfo = Notification+    attrGet _ = getNotificationAppName+    attrSet _ = setNotificationAppName+    attrConstruct _ = constructNotificationAppName+    attrClear _ = undefined+#endif++-- VVV Prop "body"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@body@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' notification #body+@+-}+getNotificationBody :: (MonadIO m, IsNotification o) => o -> m (Maybe T.Text)+getNotificationBody obj = liftIO $ B.Properties.getObjectPropertyString obj "body"++{- |+Set the value of the “@body@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' notification [ #body 'Data.GI.Base.Attributes.:=' value ]+@+-}+setNotificationBody :: (MonadIO m, IsNotification o) => o -> T.Text -> m ()+setNotificationBody obj val = liftIO $ B.Properties.setObjectPropertyString obj "body" (Just val)++{- |+Construct a `GValueConstruct` with valid value for the “@body@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructNotificationBody :: (IsNotification o) => T.Text -> IO (GValueConstruct o)+constructNotificationBody val = B.Properties.constructObjectPropertyString "body" (Just val)++{- |+Set the value of the “@body@” property to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #body+@+-}+clearNotificationBody :: (MonadIO m, IsNotification o) => o -> m ()+clearNotificationBody obj = liftIO $ B.Properties.setObjectPropertyString obj "body" (Nothing :: Maybe T.Text)++#if ENABLE_OVERLOADING+data NotificationBodyPropertyInfo+instance AttrInfo NotificationBodyPropertyInfo where+    type AttrAllowedOps NotificationBodyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint NotificationBodyPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint NotificationBodyPropertyInfo = IsNotification+    type AttrGetType NotificationBodyPropertyInfo = (Maybe T.Text)+    type AttrLabel NotificationBodyPropertyInfo = "body"+    type AttrOrigin NotificationBodyPropertyInfo = Notification+    attrGet _ = getNotificationBody+    attrSet _ = setNotificationBody+    attrConstruct _ = constructNotificationBody+    attrClear _ = clearNotificationBody+#endif++-- VVV Prop "closed-reason"+   -- Type: TBasicType TInt+   -- Flags: [PropertyReadable]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@closed-reason@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' notification #closedReason+@+-}+getNotificationClosedReason :: (MonadIO m, IsNotification o) => o -> m Int32+getNotificationClosedReason obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "closed-reason"++#if ENABLE_OVERLOADING+data NotificationClosedReasonPropertyInfo+instance AttrInfo NotificationClosedReasonPropertyInfo where+    type AttrAllowedOps NotificationClosedReasonPropertyInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint NotificationClosedReasonPropertyInfo = (~) ()+    type AttrBaseTypeConstraint NotificationClosedReasonPropertyInfo = IsNotification+    type AttrGetType NotificationClosedReasonPropertyInfo = Int32+    type AttrLabel NotificationClosedReasonPropertyInfo = "closed-reason"+    type AttrOrigin NotificationClosedReasonPropertyInfo = Notification+    attrGet _ = getNotificationClosedReason+    attrSet _ = undefined+    attrConstruct _ = undefined+    attrClear _ = undefined+#endif++-- VVV Prop "icon-name"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@icon-name@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' notification #iconName+@+-}+getNotificationIconName :: (MonadIO m, IsNotification o) => o -> m (Maybe T.Text)+getNotificationIconName obj = liftIO $ B.Properties.getObjectPropertyString obj "icon-name"++{- |+Set the value of the “@icon-name@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' notification [ #iconName 'Data.GI.Base.Attributes.:=' value ]+@+-}+setNotificationIconName :: (MonadIO m, IsNotification o) => o -> T.Text -> m ()+setNotificationIconName obj val = liftIO $ B.Properties.setObjectPropertyString obj "icon-name" (Just val)++{- |+Construct a `GValueConstruct` with valid value for the “@icon-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructNotificationIconName :: (IsNotification o) => T.Text -> IO (GValueConstruct o)+constructNotificationIconName val = B.Properties.constructObjectPropertyString "icon-name" (Just val)++{- |+Set the value of the “@icon-name@” property to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #iconName+@+-}+clearNotificationIconName :: (MonadIO m, IsNotification o) => o -> m ()+clearNotificationIconName obj = liftIO $ B.Properties.setObjectPropertyString obj "icon-name" (Nothing :: Maybe T.Text)++#if ENABLE_OVERLOADING+data NotificationIconNamePropertyInfo+instance AttrInfo NotificationIconNamePropertyInfo where+    type AttrAllowedOps NotificationIconNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint NotificationIconNamePropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint NotificationIconNamePropertyInfo = IsNotification+    type AttrGetType NotificationIconNamePropertyInfo = (Maybe T.Text)+    type AttrLabel NotificationIconNamePropertyInfo = "icon-name"+    type AttrOrigin NotificationIconNamePropertyInfo = Notification+    attrGet _ = getNotificationIconName+    attrSet _ = setNotificationIconName+    attrConstruct _ = constructNotificationIconName+    attrClear _ = clearNotificationIconName+#endif++-- VVV Prop "id"+   -- Type: TBasicType TInt+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@id@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' notification #id+@+-}+getNotificationId :: (MonadIO m, IsNotification o) => o -> m Int32+getNotificationId obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "id"++{- |+Set the value of the “@id@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' notification [ #id 'Data.GI.Base.Attributes.:=' value ]+@+-}+setNotificationId :: (MonadIO m, IsNotification o) => o -> Int32 -> m ()+setNotificationId obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "id" val++{- |+Construct a `GValueConstruct` with valid value for the “@id@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructNotificationId :: (IsNotification o) => Int32 -> IO (GValueConstruct o)+constructNotificationId val = B.Properties.constructObjectPropertyInt32 "id" val++#if ENABLE_OVERLOADING+data NotificationIdPropertyInfo+instance AttrInfo NotificationIdPropertyInfo where+    type AttrAllowedOps NotificationIdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint NotificationIdPropertyInfo = (~) Int32+    type AttrBaseTypeConstraint NotificationIdPropertyInfo = IsNotification+    type AttrGetType NotificationIdPropertyInfo = Int32+    type AttrLabel NotificationIdPropertyInfo = "id"+    type AttrOrigin NotificationIdPropertyInfo = Notification+    attrGet _ = getNotificationId+    attrSet _ = setNotificationId+    attrConstruct _ = constructNotificationId+    attrClear _ = undefined+#endif++-- VVV Prop "summary"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@summary@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' notification #summary+@+-}+getNotificationSummary :: (MonadIO m, IsNotification o) => o -> m (Maybe T.Text)+getNotificationSummary obj = liftIO $ B.Properties.getObjectPropertyString obj "summary"++{- |+Set the value of the “@summary@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' notification [ #summary 'Data.GI.Base.Attributes.:=' value ]+@+-}+setNotificationSummary :: (MonadIO m, IsNotification o) => o -> T.Text -> m ()+setNotificationSummary obj val = liftIO $ B.Properties.setObjectPropertyString obj "summary" (Just val)++{- |+Construct a `GValueConstruct` with valid value for the “@summary@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructNotificationSummary :: (IsNotification o) => T.Text -> IO (GValueConstruct o)+constructNotificationSummary val = B.Properties.constructObjectPropertyString "summary" (Just val)++{- |+Set the value of the “@summary@” property to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #summary+@+-}+clearNotificationSummary :: (MonadIO m, IsNotification o) => o -> m ()+clearNotificationSummary obj = liftIO $ B.Properties.setObjectPropertyString obj "summary" (Nothing :: Maybe T.Text)++#if ENABLE_OVERLOADING+data NotificationSummaryPropertyInfo+instance AttrInfo NotificationSummaryPropertyInfo where+    type AttrAllowedOps NotificationSummaryPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint NotificationSummaryPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint NotificationSummaryPropertyInfo = IsNotification+    type AttrGetType NotificationSummaryPropertyInfo = (Maybe T.Text)+    type AttrLabel NotificationSummaryPropertyInfo = "summary"+    type AttrOrigin NotificationSummaryPropertyInfo = Notification+    attrGet _ = getNotificationSummary+    attrSet _ = setNotificationSummary+    attrConstruct _ = constructNotificationSummary+    attrClear _ = clearNotificationSummary+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList Notification+type instance O.AttributeList Notification = NotificationAttributeList+type NotificationAttributeList = ('[ '("appName", NotificationAppNamePropertyInfo), '("body", NotificationBodyPropertyInfo), '("closedReason", NotificationClosedReasonPropertyInfo), '("iconName", NotificationIconNamePropertyInfo), '("id", NotificationIdPropertyInfo), '("summary", NotificationSummaryPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+notificationAppName :: AttrLabelProxy "appName"+notificationAppName = AttrLabelProxy++notificationBody :: AttrLabelProxy "body"+notificationBody = AttrLabelProxy++notificationClosedReason :: AttrLabelProxy "closedReason"+notificationClosedReason = AttrLabelProxy++notificationIconName :: AttrLabelProxy "iconName"+notificationIconName = AttrLabelProxy++notificationId :: AttrLabelProxy "id"+notificationId = AttrLabelProxy++notificationSummary :: AttrLabelProxy "summary"+notificationSummary = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+data NotificationClosedSignalInfo+instance SignalInfo NotificationClosedSignalInfo where+    type HaskellCallbackType NotificationClosedSignalInfo = NotificationClosedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_NotificationClosedCallback cb+        cb'' <- mk_NotificationClosedCallback cb'+        connectSignalFunPtr obj "closed" cb'' connectMode++type instance O.SignalList Notification = NotificationSignalList+type NotificationSignalList = ('[ '("closed", NotificationClosedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method Notification::new+-- method type : Constructor+-- Args : [Arg {argCName = "summary", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The required summary text.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "body", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The optional body text.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The optional icon theme icon name or filename.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Notify", name = "Notification"}))+-- throws : False+-- Skip return : False++foreign import ccall "notify_notification_new" notify_notification_new :: +    CString ->                              -- summary : TBasicType TUTF8+    CString ->                              -- body : TBasicType TUTF8+    CString ->                              -- icon : TBasicType TUTF8+    IO (Ptr Notification)++{- |+Creates a new 'GI.Notify.Objects.Notification.Notification'. The summary text is required, but+all other parameters are optional.+-}+notificationNew ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@summary@/: The required summary text. -}+    -> Maybe (T.Text)+    {- ^ /@body@/: The optional body text. -}+    -> Maybe (T.Text)+    {- ^ /@icon@/: The optional icon theme icon name or filename. -}+    -> m Notification+    {- ^ __Returns:__ The new 'GI.Notify.Objects.Notification.Notification'. -}+notificationNew summary body icon = liftIO $ do+    summary' <- textToCString summary+    maybeBody <- case body of+        Nothing -> return nullPtr+        Just jBody -> do+            jBody' <- textToCString jBody+            return jBody'+    maybeIcon <- case icon of+        Nothing -> return nullPtr+        Just jIcon -> do+            jIcon' <- textToCString jIcon+            return jIcon'+    result <- notify_notification_new summary' maybeBody maybeIcon+    checkUnexpectedReturnNULL "notificationNew" result+    result' <- (wrapObject Notification) result+    freeMem summary'+    freeMem maybeBody+    freeMem maybeIcon+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Notification::add_action+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The notification.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "action", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The action ID.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "label", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The human-readable action label.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Notify", name = "ActionCallback"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The action's callback function.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 4, argDestroy = 5, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Optional custom data to pass to @callback.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "free_func", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An optional function to free @user_data when the notification\n            is destroyed.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "notify_notification_add_action" notify_notification_add_action :: +    Ptr Notification ->                     -- notification : TInterface (Name {namespace = "Notify", name = "Notification"})+    CString ->                              -- action : TBasicType TUTF8+    CString ->                              -- label : TBasicType TUTF8+    FunPtr Notify.Callbacks.C_ActionCallback -> -- callback : TInterface (Name {namespace = "Notify", name = "ActionCallback"})+    Ptr () ->                               -- user_data : TBasicType TPtr+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- free_func : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})+    IO ()++{- |+Adds an action to a notification. When the action is invoked, the+specified callback function will be called, along with the value passed+to /@userData@/.+-}+notificationAddAction ::+    (B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>+    a+    {- ^ /@notification@/: The notification. -}+    -> T.Text+    {- ^ /@action@/: The action ID. -}+    -> T.Text+    {- ^ /@label@/: The human-readable action label. -}+    -> Notify.Callbacks.ActionCallback+    {- ^ /@callback@/: The action\'s callback function. -}+    -> m ()+notificationAddAction notification action label callback = liftIO $ do+    notification' <- unsafeManagedPtrCastPtr notification+    action' <- textToCString action+    label' <- textToCString label+    callback' <- Notify.Callbacks.mk_ActionCallback (Notify.Callbacks.wrap_ActionCallback Nothing (Notify.Callbacks.drop_closures_ActionCallback callback))+    let userData = castFunPtrToPtr callback'+    let freeFunc = safeFreeFunPtrPtr+    notify_notification_add_action notification' action' label' callback' userData freeFunc+    touchManagedPtr notification+    freeMem action'+    freeMem label'+    return ()++#if ENABLE_OVERLOADING+data NotificationAddActionMethodInfo+instance (signature ~ (T.Text -> T.Text -> Notify.Callbacks.ActionCallback -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationAddActionMethodInfo a signature where+    overloadedMethod _ = notificationAddAction++#endif++-- method Notification::clear_actions+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The notification.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "notify_notification_clear_actions" notify_notification_clear_actions :: +    Ptr Notification ->                     -- notification : TInterface (Name {namespace = "Notify", name = "Notification"})+    IO ()++{- |+Clears all actions from the notification.+-}+notificationClearActions ::+    (B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>+    a+    {- ^ /@notification@/: The notification. -}+    -> m ()+notificationClearActions notification = liftIO $ do+    notification' <- unsafeManagedPtrCastPtr notification+    notify_notification_clear_actions notification'+    touchManagedPtr notification+    return ()++#if ENABLE_OVERLOADING+data NotificationClearActionsMethodInfo+instance (signature ~ (m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationClearActionsMethodInfo a signature where+    overloadedMethod _ = notificationClearActions++#endif++-- method Notification::clear_hints+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The notification.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "notify_notification_clear_hints" notify_notification_clear_hints :: +    Ptr Notification ->                     -- notification : TInterface (Name {namespace = "Notify", name = "Notification"})+    IO ()++{- |+Clears all hints from the notification.+-}+notificationClearHints ::+    (B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>+    a+    {- ^ /@notification@/: The notification. -}+    -> m ()+notificationClearHints notification = liftIO $ do+    notification' <- unsafeManagedPtrCastPtr notification+    notify_notification_clear_hints notification'+    touchManagedPtr notification+    return ()++#if ENABLE_OVERLOADING+data NotificationClearHintsMethodInfo+instance (signature ~ (m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationClearHintsMethodInfo a signature where+    overloadedMethod _ = notificationClearHints++#endif++-- method Notification::close+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The notification.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "notify_notification_close" notify_notification_close :: +    Ptr Notification ->                     -- notification : TInterface (Name {namespace = "Notify", name = "Notification"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Synchronously tells the notification server to hide the notification on the screen.+-}+notificationClose ::+    (B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>+    a+    {- ^ /@notification@/: The notification. -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+notificationClose notification = liftIO $ do+    notification' <- unsafeManagedPtrCastPtr notification+    onException (do+        _ <- propagateGError $ notify_notification_close notification'+        touchManagedPtr notification+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data NotificationCloseMethodInfo+instance (signature ~ (m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationCloseMethodInfo a signature where+    overloadedMethod _ = notificationClose++#endif++-- method Notification::get_closed_reason+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The notification.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "notify_notification_get_closed_reason" notify_notification_get_closed_reason :: +    Ptr Notification ->                     -- notification : TInterface (Name {namespace = "Notify", name = "Notification"})+    IO Int32++{- |+Returns the closed reason code for the notification. This is valid only+after the \"closed\" signal is emitted.+-}+notificationGetClosedReason ::+    (B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>+    a+    {- ^ /@notification@/: The notification. -}+    -> m Int32+    {- ^ __Returns:__ The closed reason code. -}+notificationGetClosedReason notification = liftIO $ do+    notification' <- unsafeManagedPtrCastPtr notification+    result <- notify_notification_get_closed_reason notification'+    touchManagedPtr notification+    return result++#if ENABLE_OVERLOADING+data NotificationGetClosedReasonMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsNotification a) => O.MethodInfo NotificationGetClosedReasonMethodInfo a signature where+    overloadedMethod _ = notificationGetClosedReason++#endif++-- method Notification::set_app_name+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #NotifyNotification", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "app_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the localised application name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "notify_notification_set_app_name" notify_notification_set_app_name :: +    Ptr Notification ->                     -- notification : TInterface (Name {namespace = "Notify", name = "Notification"})+    CString ->                              -- app_name : TBasicType TUTF8+    IO ()++{- |+Sets the application name for the notification. If this function is+not called or if /@appName@/ is 'Nothing', the application name will be+set from the value used in 'GI.Notify.Functions.init' or overridden with+'GI.Notify.Functions.setAppName'.++/Since: 0.7.3/+-}+notificationSetAppName ::+    (B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>+    a+    {- ^ /@notification@/: a 'GI.Notify.Objects.Notification.Notification' -}+    -> T.Text+    {- ^ /@appName@/: the localised application name -}+    -> m ()+notificationSetAppName notification appName = liftIO $ do+    notification' <- unsafeManagedPtrCastPtr notification+    appName' <- textToCString appName+    notify_notification_set_app_name notification' appName'+    touchManagedPtr notification+    freeMem appName'+    return ()++#if ENABLE_OVERLOADING+data NotificationSetAppNameMethodInfo+instance (signature ~ (T.Text -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetAppNameMethodInfo a signature where+    overloadedMethod _ = notificationSetAppName++#endif++-- method Notification::set_category+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The notification.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "category", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The category.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "notify_notification_set_category" notify_notification_set_category :: +    Ptr Notification ->                     -- notification : TInterface (Name {namespace = "Notify", name = "Notification"})+    CString ->                              -- category : TBasicType TUTF8+    IO ()++{- |+Sets the category of this notification. This can be used by the+notification server to filter or display the data in a certain way.+-}+notificationSetCategory ::+    (B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>+    a+    {- ^ /@notification@/: The notification. -}+    -> T.Text+    {- ^ /@category@/: The category. -}+    -> m ()+notificationSetCategory notification category = liftIO $ do+    notification' <- unsafeManagedPtrCastPtr notification+    category' <- textToCString category+    notify_notification_set_category notification' category'+    touchManagedPtr notification+    freeMem category'+    return ()++#if ENABLE_OVERLOADING+data NotificationSetCategoryMethodInfo+instance (signature ~ (T.Text -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetCategoryMethodInfo a signature where+    overloadedMethod _ = notificationSetCategory++#endif++-- method Notification::set_hint+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #NotifyNotification", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the hint key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the hint value, or %NULL to unset the hint", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "notify_notification_set_hint" notify_notification_set_hint :: +    Ptr Notification ->                     -- notification : TInterface (Name {namespace = "Notify", name = "Notification"})+    CString ->                              -- key : TBasicType TUTF8+    Ptr GVariant ->                         -- value : TVariant+    IO ()++{- |+Sets a hint for /@key@/ with value /@value@/. If /@value@/ is 'Nothing',+a previously set hint for /@key@/ is unset.++If /@value@/ is floating, it is consumed.++/Since: 0.6/+-}+notificationSetHint ::+    (B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>+    a+    {- ^ /@notification@/: a 'GI.Notify.Objects.Notification.Notification' -}+    -> T.Text+    {- ^ /@key@/: the hint key -}+    -> Maybe (GVariant)+    {- ^ /@value@/: the hint value, or 'Nothing' to unset the hint -}+    -> m ()+notificationSetHint notification key value = liftIO $ do+    notification' <- unsafeManagedPtrCastPtr notification+    key' <- textToCString key+    maybeValue <- case value of+        Nothing -> return nullPtr+        Just jValue -> do+            jValue' <- unsafeManagedPtrGetPtr jValue+            return jValue'+    notify_notification_set_hint notification' key' maybeValue+    touchManagedPtr notification+    whenJust value touchManagedPtr+    freeMem key'+    return ()++#if ENABLE_OVERLOADING+data NotificationSetHintMethodInfo+instance (signature ~ (T.Text -> Maybe (GVariant) -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetHintMethodInfo a signature where+    overloadedMethod _ = notificationSetHint++#endif++-- method Notification::set_hint_byte+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The notification.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The hint.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The hint's value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "notify_notification_set_hint_byte" notify_notification_set_hint_byte :: +    Ptr Notification ->                     -- notification : TInterface (Name {namespace = "Notify", name = "Notification"})+    CString ->                              -- key : TBasicType TUTF8+    Word8 ->                                -- value : TBasicType TUInt8+    IO ()++{-# DEPRECATED notificationSetHintByte ["(Since version 0.6.)","Use 'GI.Notify.Objects.Notification.notificationSetHint' instead"] #-}+{- |+Sets a hint with a byte value.+-}+notificationSetHintByte ::+    (B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>+    a+    {- ^ /@notification@/: The notification. -}+    -> T.Text+    {- ^ /@key@/: The hint. -}+    -> Word8+    {- ^ /@value@/: The hint\'s value. -}+    -> m ()+notificationSetHintByte notification key value = liftIO $ do+    notification' <- unsafeManagedPtrCastPtr notification+    key' <- textToCString key+    notify_notification_set_hint_byte notification' key' value+    touchManagedPtr notification+    freeMem key'+    return ()++#if ENABLE_OVERLOADING+data NotificationSetHintByteMethodInfo+instance (signature ~ (T.Text -> Word8 -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetHintByteMethodInfo a signature where+    overloadedMethod _ = notificationSetHintByte++#endif++-- method Notification::set_hint_byte_array+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The notification.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The hint.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TCArray False (-1) 3 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The hint's value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The length of the byte array.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : [Arg {argCName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The length of the byte array.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "notify_notification_set_hint_byte_array" notify_notification_set_hint_byte_array :: +    Ptr Notification ->                     -- notification : TInterface (Name {namespace = "Notify", name = "Notification"})+    CString ->                              -- key : TBasicType TUTF8+    Ptr Word8 ->                            -- value : TCArray False (-1) 3 (TBasicType TUInt8)+    Word64 ->                               -- len : TBasicType TUInt64+    IO ()++{-# DEPRECATED notificationSetHintByteArray ["(Since version 0.6.)","Use 'GI.Notify.Objects.Notification.notificationSetHint' instead"] #-}+{- |+Sets a hint with a byte array value. The length of /@value@/ must be passed+as /@len@/.+-}+notificationSetHintByteArray ::+    (B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>+    a+    {- ^ /@notification@/: The notification. -}+    -> T.Text+    {- ^ /@key@/: The hint. -}+    -> ByteString+    {- ^ /@value@/: The hint\'s value. -}+    -> m ()+notificationSetHintByteArray notification key value = liftIO $ do+    let len = fromIntegral $ B.length value+    notification' <- unsafeManagedPtrCastPtr notification+    key' <- textToCString key+    value' <- packByteString value+    notify_notification_set_hint_byte_array notification' key' value' len+    touchManagedPtr notification+    freeMem key'+    freeMem value'+    return ()++#if ENABLE_OVERLOADING+data NotificationSetHintByteArrayMethodInfo+instance (signature ~ (T.Text -> ByteString -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetHintByteArrayMethodInfo a signature where+    overloadedMethod _ = notificationSetHintByteArray++#endif++-- method Notification::set_hint_double+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The notification.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The hint.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The hint's value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "notify_notification_set_hint_double" notify_notification_set_hint_double :: +    Ptr Notification ->                     -- notification : TInterface (Name {namespace = "Notify", name = "Notification"})+    CString ->                              -- key : TBasicType TUTF8+    CDouble ->                              -- value : TBasicType TDouble+    IO ()++{-# DEPRECATED notificationSetHintDouble ["(Since version 0.6.)","Use 'GI.Notify.Objects.Notification.notificationSetHint' instead"] #-}+{- |+Sets a hint with a double value.+-}+notificationSetHintDouble ::+    (B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>+    a+    {- ^ /@notification@/: The notification. -}+    -> T.Text+    {- ^ /@key@/: The hint. -}+    -> Double+    {- ^ /@value@/: The hint\'s value. -}+    -> m ()+notificationSetHintDouble notification key value = liftIO $ do+    notification' <- unsafeManagedPtrCastPtr notification+    key' <- textToCString key+    let value' = realToFrac value+    notify_notification_set_hint_double notification' key' value'+    touchManagedPtr notification+    freeMem key'+    return ()++#if ENABLE_OVERLOADING+data NotificationSetHintDoubleMethodInfo+instance (signature ~ (T.Text -> Double -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetHintDoubleMethodInfo a signature where+    overloadedMethod _ = notificationSetHintDouble++#endif++-- method Notification::set_hint_int32+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The notification.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The hint.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The hint's value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "notify_notification_set_hint_int32" notify_notification_set_hint_int32 :: +    Ptr Notification ->                     -- notification : TInterface (Name {namespace = "Notify", name = "Notification"})+    CString ->                              -- key : TBasicType TUTF8+    Int32 ->                                -- value : TBasicType TInt+    IO ()++{-# DEPRECATED notificationSetHintInt32 ["(Since version 0.6.)","Use 'GI.Notify.Objects.Notification.notificationSetHint' instead"] #-}+{- |+Sets a hint with a 32-bit integer value.+-}+notificationSetHintInt32 ::+    (B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>+    a+    {- ^ /@notification@/: The notification. -}+    -> T.Text+    {- ^ /@key@/: The hint. -}+    -> Int32+    {- ^ /@value@/: The hint\'s value. -}+    -> m ()+notificationSetHintInt32 notification key value = liftIO $ do+    notification' <- unsafeManagedPtrCastPtr notification+    key' <- textToCString key+    notify_notification_set_hint_int32 notification' key' value+    touchManagedPtr notification+    freeMem key'+    return ()++#if ENABLE_OVERLOADING+data NotificationSetHintInt32MethodInfo+instance (signature ~ (T.Text -> Int32 -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetHintInt32MethodInfo a signature where+    overloadedMethod _ = notificationSetHintInt32++#endif++-- method Notification::set_hint_string+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The notification.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The hint.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The hint's value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "notify_notification_set_hint_string" notify_notification_set_hint_string :: +    Ptr Notification ->                     -- notification : TInterface (Name {namespace = "Notify", name = "Notification"})+    CString ->                              -- key : TBasicType TUTF8+    CString ->                              -- value : TBasicType TUTF8+    IO ()++{-# DEPRECATED notificationSetHintString ["(Since version 0.6.)","Use 'GI.Notify.Objects.Notification.notificationSetHint' instead"] #-}+{- |+Sets a hint with a string value.+-}+notificationSetHintString ::+    (B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>+    a+    {- ^ /@notification@/: The notification. -}+    -> T.Text+    {- ^ /@key@/: The hint. -}+    -> T.Text+    {- ^ /@value@/: The hint\'s value. -}+    -> m ()+notificationSetHintString notification key value = liftIO $ do+    notification' <- unsafeManagedPtrCastPtr notification+    key' <- textToCString key+    value' <- textToCString value+    notify_notification_set_hint_string notification' key' value'+    touchManagedPtr notification+    freeMem key'+    freeMem value'+    return ()++#if ENABLE_OVERLOADING+data NotificationSetHintStringMethodInfo+instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetHintStringMethodInfo a signature where+    overloadedMethod _ = notificationSetHintString++#endif++-- method Notification::set_hint_uint32+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The notification.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The hint.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The hint's value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "notify_notification_set_hint_uint32" notify_notification_set_hint_uint32 :: +    Ptr Notification ->                     -- notification : TInterface (Name {namespace = "Notify", name = "Notification"})+    CString ->                              -- key : TBasicType TUTF8+    Word32 ->                               -- value : TBasicType TUInt+    IO ()++{-# DEPRECATED notificationSetHintUint32 ["(Since version 0.6.)","Use 'GI.Notify.Objects.Notification.notificationSetHint' instead"] #-}+{- |+Sets a hint with an unsigned 32-bit integer value.+-}+notificationSetHintUint32 ::+    (B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>+    a+    {- ^ /@notification@/: The notification. -}+    -> T.Text+    {- ^ /@key@/: The hint. -}+    -> Word32+    {- ^ /@value@/: The hint\'s value. -}+    -> m ()+notificationSetHintUint32 notification key value = liftIO $ do+    notification' <- unsafeManagedPtrCastPtr notification+    key' <- textToCString key+    notify_notification_set_hint_uint32 notification' key' value+    touchManagedPtr notification+    freeMem key'+    return ()++#if ENABLE_OVERLOADING+data NotificationSetHintUint32MethodInfo+instance (signature ~ (T.Text -> Word32 -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetHintUint32MethodInfo a signature where+    overloadedMethod _ = notificationSetHintUint32++#endif++-- method Notification::set_icon_from_pixbuf+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The notification.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The icon.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "notify_notification_set_icon_from_pixbuf" notify_notification_set_icon_from_pixbuf :: +    Ptr Notification ->                     -- notification : TInterface (Name {namespace = "Notify", name = "Notification"})+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- icon : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})+    IO ()++{-# DEPRECATED notificationSetIconFromPixbuf ["use 'GI.Notify.Objects.Notification.notificationSetImageFromPixbuf' instead."] #-}+{- |+Sets the icon in the notification from a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf'.+-}+notificationSetIconFromPixbuf ::+    (B.CallStack.HasCallStack, MonadIO m, IsNotification a, GdkPixbuf.Pixbuf.IsPixbuf b) =>+    a+    {- ^ /@notification@/: The notification. -}+    -> b+    {- ^ /@icon@/: The icon. -}+    -> m ()+notificationSetIconFromPixbuf notification icon = liftIO $ do+    notification' <- unsafeManagedPtrCastPtr notification+    icon' <- unsafeManagedPtrCastPtr icon+    notify_notification_set_icon_from_pixbuf notification' icon'+    touchManagedPtr notification+    touchManagedPtr icon+    return ()++#if ENABLE_OVERLOADING+data NotificationSetIconFromPixbufMethodInfo+instance (signature ~ (b -> m ()), MonadIO m, IsNotification a, GdkPixbuf.Pixbuf.IsPixbuf b) => O.MethodInfo NotificationSetIconFromPixbufMethodInfo a signature where+    overloadedMethod _ = notificationSetIconFromPixbuf++#endif++-- method Notification::set_image_from_pixbuf+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The notification.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pixbuf", argType = TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The image.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "notify_notification_set_image_from_pixbuf" notify_notification_set_image_from_pixbuf :: +    Ptr Notification ->                     -- notification : TInterface (Name {namespace = "Notify", name = "Notification"})+    Ptr GdkPixbuf.Pixbuf.Pixbuf ->          -- pixbuf : TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"})+    IO ()++{- |+Sets the image in the notification from a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf'.+-}+notificationSetImageFromPixbuf ::+    (B.CallStack.HasCallStack, MonadIO m, IsNotification a, GdkPixbuf.Pixbuf.IsPixbuf b) =>+    a+    {- ^ /@notification@/: The notification. -}+    -> b+    {- ^ /@pixbuf@/: The image. -}+    -> m ()+notificationSetImageFromPixbuf notification pixbuf = liftIO $ do+    notification' <- unsafeManagedPtrCastPtr notification+    pixbuf' <- unsafeManagedPtrCastPtr pixbuf+    notify_notification_set_image_from_pixbuf notification' pixbuf'+    touchManagedPtr notification+    touchManagedPtr pixbuf+    return ()++#if ENABLE_OVERLOADING+data NotificationSetImageFromPixbufMethodInfo+instance (signature ~ (b -> m ()), MonadIO m, IsNotification a, GdkPixbuf.Pixbuf.IsPixbuf b) => O.MethodInfo NotificationSetImageFromPixbufMethodInfo a signature where+    overloadedMethod _ = notificationSetImageFromPixbuf++#endif++-- method Notification::set_timeout+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The notification.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timeout", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The timeout in milliseconds.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "notify_notification_set_timeout" notify_notification_set_timeout :: +    Ptr Notification ->                     -- notification : TInterface (Name {namespace = "Notify", name = "Notification"})+    Int32 ->                                -- timeout : TBasicType TInt+    IO ()++{- |+Sets the timeout of the notification. To set the default time, pass+'GI.Notify.Constants.EXPIRES_DEFAULT' as /@timeout@/. To set the notification to never+expire, pass 'GI.Notify.Constants.EXPIRES_NEVER'.++Note that the timeout may be ignored by the server.+-}+notificationSetTimeout ::+    (B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>+    a+    {- ^ /@notification@/: The notification. -}+    -> Int32+    {- ^ /@timeout@/: The timeout in milliseconds. -}+    -> m ()+notificationSetTimeout notification timeout = liftIO $ do+    notification' <- unsafeManagedPtrCastPtr notification+    notify_notification_set_timeout notification' timeout+    touchManagedPtr notification+    return ()++#if ENABLE_OVERLOADING+data NotificationSetTimeoutMethodInfo+instance (signature ~ (Int32 -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetTimeoutMethodInfo a signature where+    overloadedMethod _ = notificationSetTimeout++#endif++-- method Notification::set_urgency+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The notification.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "urgency", argType = TInterface (Name {namespace = "Notify", name = "Urgency"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The urgency level.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "notify_notification_set_urgency" notify_notification_set_urgency :: +    Ptr Notification ->                     -- notification : TInterface (Name {namespace = "Notify", name = "Notification"})+    CUInt ->                                -- urgency : TInterface (Name {namespace = "Notify", name = "Urgency"})+    IO ()++{- |+Sets the urgency level of this notification.++See: 'GI.Notify.Enums.Urgency'+-}+notificationSetUrgency ::+    (B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>+    a+    {- ^ /@notification@/: The notification. -}+    -> Notify.Enums.Urgency+    {- ^ /@urgency@/: The urgency level. -}+    -> m ()+notificationSetUrgency notification urgency = liftIO $ do+    notification' <- unsafeManagedPtrCastPtr notification+    let urgency' = (fromIntegral . fromEnum) urgency+    notify_notification_set_urgency notification' urgency'+    touchManagedPtr notification+    return ()++#if ENABLE_OVERLOADING+data NotificationSetUrgencyMethodInfo+instance (signature ~ (Notify.Enums.Urgency -> m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationSetUrgencyMethodInfo a signature where+    overloadedMethod _ = notificationSetUrgency++#endif++-- method Notification::show+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The notification.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "notify_notification_show" notify_notification_show :: +    Ptr Notification ->                     -- notification : TInterface (Name {namespace = "Notify", name = "Notification"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Tells the notification server to display the notification on the screen.+-}+notificationShow ::+    (B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>+    a+    {- ^ /@notification@/: The notification. -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+notificationShow notification = liftIO $ do+    notification' <- unsafeManagedPtrCastPtr notification+    onException (do+        _ <- propagateGError $ notify_notification_show notification'+        touchManagedPtr notification+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data NotificationShowMethodInfo+instance (signature ~ (m ()), MonadIO m, IsNotification a) => O.MethodInfo NotificationShowMethodInfo a signature where+    overloadedMethod _ = notificationShow++#endif++-- method Notification::update+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "notification", argType = TInterface (Name {namespace = "Notify", name = "Notification"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The notification to update.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "summary", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new required summary text.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "body", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The optional body text.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "icon", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The optional icon theme icon name or filename.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "notify_notification_update" notify_notification_update :: +    Ptr Notification ->                     -- notification : TInterface (Name {namespace = "Notify", name = "Notification"})+    CString ->                              -- summary : TBasicType TUTF8+    CString ->                              -- body : TBasicType TUTF8+    CString ->                              -- icon : TBasicType TUTF8+    IO CInt++{- |+Updates the notification text and icon. This won\'t send the update out+and display it on the screen. For that, you will need to call+'GI.Notify.Objects.Notification.notificationShow'.+-}+notificationUpdate ::+    (B.CallStack.HasCallStack, MonadIO m, IsNotification a) =>+    a+    {- ^ /@notification@/: The notification to update. -}+    -> T.Text+    {- ^ /@summary@/: The new required summary text. -}+    -> Maybe (T.Text)+    {- ^ /@body@/: The optional body text. -}+    -> Maybe (T.Text)+    {- ^ /@icon@/: The optional icon theme icon name or filename. -}+    -> m Bool+    {- ^ __Returns:__ 'True', unless an invalid parameter was passed. -}+notificationUpdate notification summary body icon = liftIO $ do+    notification' <- unsafeManagedPtrCastPtr notification+    summary' <- textToCString summary+    maybeBody <- case body of+        Nothing -> return nullPtr+        Just jBody -> do+            jBody' <- textToCString jBody+            return jBody'+    maybeIcon <- case icon of+        Nothing -> return nullPtr+        Just jIcon -> do+            jIcon' <- textToCString jIcon+            return jIcon'+    result <- notify_notification_update notification' summary' maybeBody maybeIcon+    let result' = (/= 0) result+    touchManagedPtr notification+    freeMem summary'+    freeMem maybeBody+    freeMem maybeIcon+    return result'++#if ENABLE_OVERLOADING+data NotificationUpdateMethodInfo+instance (signature ~ (T.Text -> Maybe (T.Text) -> Maybe (T.Text) -> m Bool), MonadIO m, IsNotification a) => O.MethodInfo NotificationUpdateMethodInfo a signature where+    overloadedMethod _ = notificationUpdate++#endif++
+ GI/Notify/Objects/Notification.hs-boot view
@@ -0,0 +1,110 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.Notify.Objects.Notification where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype Notification = Notification (ManagedPtr Notification)+instance GObject Notification where+class (GObject o, O.IsDescendantOf Notification o) => IsNotification o+instance (GObject o, O.IsDescendantOf Notification o) => IsNotification o+instance O.HasParentTypes Notification+#if ENABLE_OVERLOADING+data NotificationAppNamePropertyInfo+#endif+#if ENABLE_OVERLOADING+data NotificationBodyPropertyInfo+#endif+#if ENABLE_OVERLOADING+data NotificationClosedReasonPropertyInfo+#endif+#if ENABLE_OVERLOADING+data NotificationIconNamePropertyInfo+#endif+#if ENABLE_OVERLOADING+data NotificationIdPropertyInfo+#endif+#if ENABLE_OVERLOADING+data NotificationSummaryPropertyInfo+#endif+#if ENABLE_OVERLOADING+data NotificationClosedSignalInfo+#endif+#if ENABLE_OVERLOADING+data NotificationAddActionMethodInfo+#endif+#if ENABLE_OVERLOADING+data NotificationClearActionsMethodInfo+#endif+#if ENABLE_OVERLOADING+data NotificationClearHintsMethodInfo+#endif+#if ENABLE_OVERLOADING+data NotificationCloseMethodInfo+#endif+#if ENABLE_OVERLOADING+data NotificationGetClosedReasonMethodInfo+#endif+#if ENABLE_OVERLOADING+data NotificationSetAppNameMethodInfo+#endif+#if ENABLE_OVERLOADING+data NotificationSetCategoryMethodInfo+#endif+#if ENABLE_OVERLOADING+data NotificationSetHintMethodInfo+#endif+#if ENABLE_OVERLOADING+data NotificationSetHintByteMethodInfo+#endif+#if ENABLE_OVERLOADING+data NotificationSetHintByteArrayMethodInfo+#endif+#if ENABLE_OVERLOADING+data NotificationSetHintDoubleMethodInfo+#endif+#if ENABLE_OVERLOADING+data NotificationSetHintInt32MethodInfo+#endif+#if ENABLE_OVERLOADING+data NotificationSetHintStringMethodInfo+#endif+#if ENABLE_OVERLOADING+data NotificationSetHintUint32MethodInfo+#endif+#if ENABLE_OVERLOADING+data NotificationSetIconFromPixbufMethodInfo+#endif+#if ENABLE_OVERLOADING+data NotificationSetImageFromPixbufMethodInfo+#endif+#if ENABLE_OVERLOADING+data NotificationSetTimeoutMethodInfo+#endif+#if ENABLE_OVERLOADING+data NotificationSetUrgencyMethodInfo+#endif+#if ENABLE_OVERLOADING+data NotificationShowMethodInfo+#endif+#if ENABLE_OVERLOADING+data NotificationUpdateMethodInfo+#endif
LICENSE view
@@ -1,3 +1,17 @@+The gi-notify library and included works are provided under the terms of the+GNU Library General Public License (LGPL) version 2.1 with the following+exception:++Static linking of applications or any other source to the gi-notify library+does not constitute a modified or derivative work and does not require+the author(s) to provide source code for said work, to link against the+shared gi-notify libraries, or to link their applications against a+user-supplied version of gi-notify. If you link applications to a modified+version of gi-notify, then the changes to gi-notify must be provided under the+terms of the LGPL.++----------------------------------------------------------------------------+                   GNU LESSER GENERAL PUBLIC LICENSE                        Version 2.1, February 1999 
README.md view
@@ -1,6 +1,6 @@ # Documentation Autogenerated documentation for this package can be found at -[https://hackage.haskell.org/package/gi-notify-0.7.15/docs/GI-Notify.html](https://hackage.haskell.org/package/gi-notify-0.7.15/docs/GI-Notify.html)+[https://hackage.haskell.org/package/gi-notify-0.7.17/docs/GI-Notify.html](https://hackage.haskell.org/package/gi-notify-0.7.17/docs/GI-Notify.html)  For general documentation on using [haskell-gi](https://github.com/haskell-gi/haskell-gi) based bindings, see [the project page](https://github.com/haskell-gi/haskell-gi) or [the Wiki](https://github.com/haskell-gi/haskell-gi/wiki).
gi-notify.cabal view
@@ -1,33 +1,33 @@ name:                 gi-notify-version:              0.7.15+version:              0.7.17 synopsis:             Libnotify bindings description:          Bindings for Libnotify, autogenerated by haskell-gi. homepage:             https://github.com/haskell-gi/haskell-gi license:              LGPL-2.1 license-file:         LICENSE author:               Will Thompson, Iñaki García Etxebarria and Jonas Platte-maintainer:           Iñaki García Etxebarria (garetxe@gmail.com)+maintainer:           Iñaki García Etxebarria (inaki@blueleaf.cc) category:             Bindings build-type:           Custom-cabal-version:        >= 1.24+cabal-version:        1.24  extra-source-files: README.md ChangeLog.md stack.yaml Notify.overrides  custom-setup-      setup-depends: base >= 4.7 && < 5,+      setup-depends: base >= 4.9 && < 5,                      Cabal >= 1.24,-                     haskell-gi == 0.21.*+                     haskell-gi >= 0.21.0 && < 0.23  library       default-language: Haskell2010-      default-extensions: NoImplicitPrelude, ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts+      default-extensions: NoImplicitPrelude, ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts, UndecidableSuperClasses       other-extensions: PatternSynonyms, ViewPatterns       ghc-options: -fno-warn-unused-imports -fno-warn-warnings-deprecations        pkgconfig-depends: libnotify >= 0.7 && < 1       build-depends: base >= 4.7 && <5,-                     haskell-gi-base == 0.21.*,-                     haskell-gi == 0.21.*,+                     haskell-gi-base >= 0.21.0 && < 0.23,+                     haskell-gi >= 0.21.0 && < 0.23,                      haskell-gi-overloading < 1.1,                      gi-gdkpixbuf == 2.0.*,                      gi-gobject == 2.0.*,@@ -41,3 +41,11 @@       -- see https://ghc.haskell.org/trac/ghc/ticket/14382       if impl(ghc == 8.2.*)               build-depends: haskell-gi-overloading == 0.0++      exposed-modules: GI.Notify,+                       GI.Notify.Callbacks,+                       GI.Notify.Constants,+                       GI.Notify.Enums,+                       GI.Notify.Functions,+                       GI.Notify.Objects,+                       GI.Notify.Objects.Notification
stack.yaml view
@@ -1,3 +1,3 @@ packages: - '.'-resolver: lts-9.21+resolver: lts-13.7