Freedesktop Notifications binds for python-sdbus
This package contains python-sdbus binds for Freedesktop notifications standard.
FreedesktopNotifications is the proxy automatically connects.
NotificationsInterface is the interface definition class if you want
to implement your own notification daemon.
- class sdbus_async.notifications.NotificationsInterface
- async close_notification(notif_id)
D-Bus Method
Close notification by id.
- Parameters:
notif_id (int) – Notification id to close.
- Return type:
None
- async get_capabilities()
D-Bus Method
Returns notification daemon capabilities.
List of capabilities:
“action-icons” - Supports using icons instead of text for displaying actions.
“actions” - The server will provide the specified actions to the user.
“body” - Supports body text.
“body-hyperlinks” - The server supports hyperlinks in the notifications.
“body-images” - The server supports images in the notifications.
“body-markup” - Supports markup in the body text.
“icon-multi” - The server will render an animation of all the frames in a given image array.
“icon-static” - Supports display of exactly 1 frame of any given image array.
“persistence” - The server supports persistence of notifications.
“sound” - The server supports sounds on notifications.
- Returns:
List of capabilities
- Return type:
List[str]
- async get_server_information()
D-Bus Method
Returns notification server information.
- Returns:
Tuple of server name, server vendor, version, notifications specification version
- Return type:
Tuple[str, str, str, str]
- async notify(app_name='', replaces_id=0, app_icon='', summary='', body='', actions=[], hints={}, expire_timeout=-1)
D-Bus Method
Create new notification.
Only
summaryargument is required.- Parameters:
app_name (str) – Application that sent notification. Optional.
replaces_id (int) – Optional notification id to replace.
app_icon (str) – Optional application icon name.
summary (str) – Summary of notification.
body (str) – Optional body of notification.
actions (List[str]) – Optional list of actions presented to user. Should be sent in pairs of strings that represent action key identifier and a localized string to be displayed to user.
hints (Dict[str,Tuple[str,Any]]) – Extra options such as sounds that can be passed. See
create_hints().expire_timeout (int) – Optional notification expiration timeout in milliseconds. -1 means dependent on server setting, 0 is never expire.
- Returns:
New notification id.
- Return type:
int
- action_invoked
D-Bus signal
Python type: Tuple[int, str]
D-Bus type: us
Signal when user invokes one of the actions specified.
First element of tuple is notification id.
Second element is the key identifier of the action invoked.
- notification_closed
D-Bus signal
Python type: Tuple[int, int]
D-Bus type: uu
Signal when notification is closed.
First element of the tuple is notification id.
Second element is the reason which can be:
1 - notification expired
2 - notification was dismissed by user
3 - notification was closed by call to
close_notification()4 - undefined/reserved reasons.
- activation_token
D-Bus signal
Python type: Tuple[int, str]
D-Bus type: us
Signal carrying window system token.
Emitted before
action_invoked.Carries windowing system token like X11 startup id or Wayland adctivation token.
First element of tuple is notification id.
Second element is the key identifier of the action invoked.
- create_hints(use_action_icons=None, category=None, desktop_entry_name=None, image_data_tuple=None, image_path=None, is_resident=None, sound_file_path=None, sound_name=None, suppress_sound=None, is_transient=None, xy_pos=None, urgency=None)
Create hints dictionary for
notify().All parameters are optional.
- Parameters:
use_action_icons (bool) – When set, a server that has the “action-icons” capability will attempt to interpret any action identifier as a named icon.
category (str) – The type of notification. (what types there are?)
desktop_entry_name (str) – This specifies the name of the desktop filename representing the calling program. An example would be “rhythmbox” from “rhythmbox.desktop”.
image_data_tuple (Tuple[int,int,int,bool,int,int,Union[bytes,bytearray]]) – This is a raw data image format which describes the width, height, rowstride, has alpha, bits per sample, channels and image data respectively.
image_path (Union[str,Path]) – Path to notification image. (alternative to desktop_entry_name)
is_resident (bool) – When set the server will not automatically remove the notification when an action has been invoked.
sound_file_path (Union[str,Path]) – The path to a sound file to play when the notification pops up.
sound_name (str) – A themeable named sound to play. Similar to icon-name, only for sounds. An example would be “message-new-instant”.
suppress_sound (bool) – Causes the server to suppress playing any sounds when this notification is displayed.
is_transient (bool) – When set the server will treat the notification as transient and by-pass the server’s persistence capability.
xy_pos (Tuple[int,int]) – Specifies the X and Y location on the screen that the notification should point to.
urgency (int) – The urgency level. 0 low, 1 normal, 2 critical.
- Return type:
Dict[str, Tuple[str, Any]]
- class sdbus_async.notifications.FreedesktopNotifications(bus=None)
Dbus interface object path and service name is predetermined. (at
'org.freedesktop.Notifications','/org/freedesktop/Notifications')- Parameters:
bus (SdBus) – Optional dbus connection. If not passed the default dbus will be used.