I started implementing feature of https://bugs.launchpad.net/plank/+bug/709022, but I noticed that there is a problem within Popovers as @ricotz mentioned - they cannot be displayed of if parent is not shown. Well, then I realized there is workaround for it which needs some changes in the same way as developers did it for Wingpanel (elementaryos/wingpanel):
The indicators on wingpanel are aggregated in Gtk.MenuBars and Indicators are MenuItems. So for Plank: Each DockElement is not GLib.Object but Gtk.MenuItem and the Dock is mocked MenuBar.
It resolves two mayor issues problems: It is able "out-of-the-box" to bind a popover or other gtk-element which needs to be pinned to something. Also the dockitems are like MenuItems - they inherits methods to way easier control position in the dock.
But I have concerns of this workaround, because we only need show popover not refactor whole code of this program... :)
I started implementing feature of https:/ /bugs.launchpad .net/plank/ +bug/709022, but I noticed that there is a problem within Popovers as @ricotz mentioned - they cannot be displayed of if parent is not shown. Well, then I realized there is workaround for it which needs some changes in the same way as developers did it for Wingpanel (elementaryos/ wingpanel) :
The indicators on wingpanel are aggregated in Gtk.MenuBars and Indicators are MenuItems. So for Plank: Each DockElement is not GLib.Object but Gtk.MenuItem and the Dock is mocked MenuBar.
It resolves two mayor issues problems: It is able "out-of-the-box" to bind a popover or other gtk-element which needs to be pinned to something. Also the dockitems are like MenuItems - they inherits methods to way easier control position in the dock.
But I have concerns of this workaround, because we only need show popover not refactor whole code of this program... :)