aboutsummaryrefslogtreecommitdiff
path: root/Types/DesktopNotify.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-03-22 10:42:38 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-03-22 14:12:19 -0400
commit35419994e9418444dc82e5c90c579203cc4c3616 (patch)
tree0d4374fbc7f233cfa409e9e142b36f00d12f71f4 /Types/DesktopNotify.hs
parentf2a5858f85f1d6e999d707f4b48cd2ea643197bc (diff)
add desktop notifications
Motivation: Hook scripts for nautilus or other file managers need to provide the user with feedback that a file is being downloaded. This commit was sponsored by THM Schoemaker.
Diffstat (limited to 'Types/DesktopNotify.hs')
-rw-r--r--Types/DesktopNotify.hs27
1 files changed, 27 insertions, 0 deletions
diff --git a/Types/DesktopNotify.hs b/Types/DesktopNotify.hs
new file mode 100644
index 000000000..f8494487d
--- /dev/null
+++ b/Types/DesktopNotify.hs
@@ -0,0 +1,27 @@
+{- git-annex DesktopNotify type
+ -
+ - Copyright 2014 Joey Hess <joey@kitenet.net>
+ -
+ - Licensed under the GNU GPL version 3 or higher.
+ -}
+
+module Types.DesktopNotify where
+
+import Data.Monoid
+
+data DesktopNotify = DesktopNotify
+ { notifyStart :: Bool
+ , notifyFinish :: Bool
+ }
+ deriving (Show)
+
+instance Monoid DesktopNotify where
+ mempty = DesktopNotify False False
+ mappend (DesktopNotify s1 f1) (DesktopNotify s2 f2) =
+ DesktopNotify (s1 || s2) (f1 || f2)
+
+mkNotifyStart :: DesktopNotify
+mkNotifyStart = DesktopNotify True False
+
+mkNotifyFinish :: DesktopNotify
+mkNotifyFinish = DesktopNotify False True