Adding Widgets to the Header Bar — Builder 3.24 documentation

# Adding Widgets to the Header Bar

You might want to add a button to the workbench header bar. To do this, use an `Ide.WorkbenchAddin` and fetch the header bar using `Ide.Workbench.get_headerbar()`. You can attach your widget to either the left or the right side of the `Ide.OmniBar` in the center of the header bar. Additionally, by specifying a `Gtk.PackType`, you can align the button within the left or right of the header bar.

We suggest using `Gio.SimpleAction` to attach an action to the workbench and then activating the action using the `Gtk.Button:action-name` property.

Adding a button to the workbench header bar

    import gi

    from gi.repository import GObject
    from gi.repository import Ide

    class MyWorkbenchAddin(GObject.Object, Ide.WorkbenchAddin):

        def do_load(self, workbench):
            headerbar = workbench.get_headerbar()

            # Add button to top-center-left
            self.button = Gtk.Button(label='Click', action_name='win.hello', visible=True)
            headerbar.insert_left(self.button, Gtk.PackType.PACK_END, 0)

        def do_unload(self, workbench):
            # remove the button we added
            self.button.destroy()
            self.button = None