Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
Notification
is a mechanism for creating a notification to be shown
to the user -- typically as a pop-up notification presented by the
desktop environment shell.
The key difference between Notification
and other similar APIs is
that, if supported by the desktop environment, notifications sent
with Notification
will persist after the application has exited,
and even across system reboots.
Since the user may click on a notification while the application is
not running, applications using Notification
should be able to be
started as a D-Bus service, using Application
.
User interaction with a notification (either the default action, or buttons) must be associated with actions on the application (ie: "app." actions). It is not possible to route user interaction through the notification itself, because the object will not exist if the application is autostarted as a result of a notification being clicked.
A notification can be sent with applicationSendNotification
.
Since: 2.40
Synopsis
- newtype Notification = Notification (ManagedPtr Notification)
- class GObject o => IsNotification o
- toNotification :: (MonadIO m, IsNotification o) => o -> m Notification
- noNotification :: Maybe Notification
- notificationAddButton :: (HasCallStack, MonadIO m, IsNotification a) => a -> Text -> Text -> m ()
- notificationAddButtonWithTarget :: (HasCallStack, MonadIO m, IsNotification a) => a -> Text -> Text -> Maybe GVariant -> m ()
- notificationNew :: (HasCallStack, MonadIO m) => Text -> m Notification
- notificationSetBody :: (HasCallStack, MonadIO m, IsNotification a) => a -> Maybe Text -> m ()
- notificationSetDefaultAction :: (HasCallStack, MonadIO m, IsNotification a) => a -> Text -> m ()
- notificationSetDefaultActionAndTarget :: (HasCallStack, MonadIO m, IsNotification a) => a -> Text -> Maybe GVariant -> m ()
- notificationSetIcon :: (HasCallStack, MonadIO m, IsNotification a, IsIcon b) => a -> b -> m ()
- notificationSetPriority :: (HasCallStack, MonadIO m, IsNotification a) => a -> NotificationPriority -> m ()
- notificationSetTitle :: (HasCallStack, MonadIO m, IsNotification a) => a -> Text -> m ()
- notificationSetUrgent :: (HasCallStack, MonadIO m, IsNotification a) => a -> Bool -> m ()
Exported types
newtype Notification Source #
Memory-managed wrapper type.
Instances
GObject Notification Source # | |
Defined in GI.Gio.Objects.Notification gobjectType :: Notification -> IO GType # | |
IsObject Notification Source # | |
Defined in GI.Gio.Objects.Notification | |
IsNotification Notification Source # | |
Defined in GI.Gio.Objects.Notification |
class GObject o => IsNotification o Source #
Type class for types which can be safely cast to Notification
, for instance with toNotification
.
Instances
(GObject a, (UnknownAncestorError Notification a :: Constraint)) => IsNotification a Source # | |
Defined in GI.Gio.Objects.Notification | |
IsNotification Notification Source # | |
Defined in GI.Gio.Objects.Notification |
toNotification :: (MonadIO m, IsNotification o) => o -> m Notification Source #
Cast to Notification
, for types for which this is known to be safe. For general casts, use castTo
.
noNotification :: Maybe Notification Source #
A convenience alias for Nothing
:: Maybe
Notification
.
Methods
addButton
notificationAddButton Source #
:: (HasCallStack, MonadIO m, IsNotification a) | |
=> a |
|
-> Text |
|
-> Text |
|
-> m () |
Adds a button to notification
that activates the action in
detailedAction
when clicked. That action must be an
application-wide action (starting with "app."). If detailedAction
contains a target, the action will be activated with that target as
its parameter.
See actionParseDetailedName
for a description of the format
for detailedAction
.
Since: 2.40
addButtonWithTarget
notificationAddButtonWithTarget Source #
:: (HasCallStack, MonadIO m, IsNotification a) | |
=> a |
|
-> Text |
|
-> Text |
|
-> Maybe GVariant | |
-> m () |
Adds a button to notification
that activates action
when clicked.
action
must be an application-wide action (it must start with "app.").
If target
is non-Nothing
, action
will be activated with target
as
its parameter.
Since: 2.40
new
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> m Notification | Returns: a new |
Creates a new Notification
with title
as its title.
After populating notification
with more details, it can be sent to
the desktop shell with applicationSendNotification
. Changing
any properties after this call will not have any effect until
resending notification
.
Since: 2.40
setBody
:: (HasCallStack, MonadIO m, IsNotification a) | |
=> a |
|
-> Maybe Text |
|
-> m () |
Sets the body of notification
to body
.
Since: 2.40
setDefaultAction
notificationSetDefaultAction Source #
:: (HasCallStack, MonadIO m, IsNotification a) | |
=> a |
|
-> Text |
|
-> m () |
Sets the default action of notification
to detailedAction
. This
action is activated when the notification is clicked on.
The action in detailedAction
must be an application-wide action (it
must start with "app."). If detailedAction
contains a target, the
given action will be activated with that target as its parameter.
See actionParseDetailedName
for a description of the format
for detailedAction
.
When no default action is set, the application that the notification was sent on is activated.
Since: 2.40
setDefaultActionAndTarget
notificationSetDefaultActionAndTarget Source #
:: (HasCallStack, MonadIO m, IsNotification a) | |
=> a |
|
-> Text |
|
-> Maybe GVariant | |
-> m () |
Sets the default action of notification
to action
. This action is
activated when the notification is clicked on. It must be an
application-wide action (start with "app.").
If target
is non-Nothing
, action
will be activated with target
as
its parameter.
When no default action is set, the application that the notification was sent on is activated.
Since: 2.40
setIcon
:: (HasCallStack, MonadIO m, IsNotification a, IsIcon b) | |
=> a |
|
-> b |
|
-> m () |
Sets the icon of notification
to icon
.
Since: 2.40
setPriority
notificationSetPriority Source #
:: (HasCallStack, MonadIO m, IsNotification a) | |
=> a |
|
-> NotificationPriority |
|
-> m () |
Sets the priority of notification
to priority
. See
NotificationPriority
for possible values.
setTitle
:: (HasCallStack, MonadIO m, IsNotification a) | |
=> a |
|
-> Text |
|
-> m () |
Sets the title of notification
to title
.
Since: 2.40
setUrgent
notificationSetUrgent Source #
:: (HasCallStack, MonadIO m, IsNotification a) | |
=> a |
|
-> Bool |
|
-> m () |
Deprecated: (Since version 2.42)Since 2.42, this has been deprecated in favour of notificationSetPriority
.
Deprecated in favor of notificationSetPriority
.
Since: 2.40