8. Hints

Hints are a way to provide extra data to a notification server that the server may be able to make use of.

Neither clients nor notification servers are required to support any hints. Both sides should assume that hints are not passed, and should ignore any hints they do not understand.

Third parties, when defining their own hints, should discuss the possibility of standardizing on the hint with other parties, preferably in a place such as the xdg mailing list at freedesktop.org. If it warrants a standard, it will be added to the table above. If no consensus is reached, the hint name should be in the form of "x-vendor-name."

The value type for the hint dictionary in D-BUS is of the DBUS_TYPE_VARIANT container type. This allows different data types (string, integer, boolean, etc.) to be used for hints. When adding a dictionary of hints, this type must be used, rather than putting the actual hint value in as the dictionary value.

The following table lists the standard hints as defined by this specification. Future hints may be proposed and added to this list over time. Once again, implementations are not required to support these.

Table 4. Standard Hints

NameValue TypeDescription
"urgency"byte The urgency level.
"category"string The type of notification this is.
"desktop-entry">Application Desktop ID This specifies the name of the desktop filename representing the calling program. This should be the same as the prefix used for the application's .desktop file. An example would be "rhythmbox" from "rhythmbox.desktop". This can be used by the daemon to retrieve the correct icon for the application, for logging purposes, etc.
"image_data"(iiibiiay) This is a raw data image format which describes the width, height, rowstride, has alpha, bits per sample, channels and image data respectively. We use this value if the icon field is left blank.
"sound-file"string The path to a sound file to play when the notification pops up.
"suppress-sound"boolean Causes the server to suppress playing any sounds, if it has that ability. This is usually set when the client itself is going to play its own sound.
"x"int Specifies the X location on the screen that the notification should point to. The "y" hint must also be specified.
"y"int Specifies the Y location on the screen that the notification should point to. The "x" hint must also be specified.