diff --git a/src/apprt/gtk/Window.zig b/src/apprt/gtk/Window.zig index 23265c101..e1f09d708 100644 --- a/src/apprt/gtk/Window.zig +++ b/src/apprt/gtk/Window.zig @@ -289,6 +289,10 @@ pub fn init(self: *Window, app: *App) !void { // left and right is not supported in libadwaita. .top, .left, .right => c.adw_toolbar_view_add_top_bar(toolbar_view, tab_bar_widget), .bottom => c.adw_toolbar_view_add_bottom_bar(toolbar_view, tab_bar_widget), + .headerbar => { + c.adw_tab_bar_set_autohide(tab_bar, 0); + c.adw_header_bar_set_title_widget(@ptrCast(@alignCast(self.header.?)), tab_bar_widget); + }, } c.adw_toolbar_view_set_content(toolbar_view, box); @@ -334,6 +338,7 @@ pub fn init(self: *Window, app: *App) !void { .top, .left, .right, + .headerbar, => c.gtk_box_prepend( @ptrCast(box), @ptrCast(@alignCast(tab_bar)), diff --git a/src/apprt/gtk/notebook.zig b/src/apprt/gtk/notebook.zig index 73213e9da..fed8dcd95 100644 --- a/src/apprt/gtk/notebook.zig +++ b/src/apprt/gtk/notebook.zig @@ -29,7 +29,7 @@ pub const Notebook = union(enum) { const notebook_widget: *c.GtkWidget = c.gtk_notebook_new(); const notebook: *c.GtkNotebook = @ptrCast(notebook_widget); const notebook_tab_pos: c_uint = switch (app.config.@"gtk-tabs-location") { - .top => c.GTK_POS_TOP, + .top, .headerbar => c.GTK_POS_TOP, .bottom => c.GTK_POS_BOTTOM, .left => c.GTK_POS_LEFT, .right => c.GTK_POS_RIGHT, diff --git a/src/config/Config.zig b/src/config/Config.zig index 7f9a5f9e8..ff32823e6 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -4854,6 +4854,7 @@ pub const GtkTabsLocation = enum { bottom, left, right, + headerbar, }; /// See adw-toolbar-style