Sorry, in previous post i've all mixed in a pile((
Or make a similar a public program interface. Core apps, perform the same function in the listed environments, why not use the same basis (and the UI for each one is different according to HIG).
But it probably works freedesktop.org, as well notifications, indicators, and more.
PS. Sorry for my very bad English(