diff -r f9e7c57e1e2f -r b00cbbfeec7a ui/gtk/window.c --- a/ui/gtk/window.c Wed Sep 18 22:54:50 2024 +0200 +++ b/ui/gtk/window.c Sun Sep 22 16:39:10 2024 +0200 @@ -72,8 +72,10 @@ static UiObject* create_window(const char *title, void *window_data, UiBool simple) { CxMempool *mp = cxBasicMempoolCreate(256); UiObject *obj = cxCalloc(mp->allocator, 1, sizeof(UiObject)); - -#ifndef UI_GTK2 + +#ifdef UI_LIBADWAITA + obj->widget = adw_application_window_new(ui_get_application()); +#elif !defined(UI_GTK2) obj->widget = gtk_application_window_new(ui_get_application()); #else obj->widget = gtk_window_new(GTK_WINDOW_TOPLEVEL); @@ -108,7 +110,14 @@ obj); GtkWidget *vbox = ui_gtk_vbox_new(0); -#if GTK_MAJOR_VERSION >= 4 +#ifdef UI_LIBADWAITA + GtkWidget *toolbar_view = adw_toolbar_view_new(); + adw_application_window_set_content(ADW_APPLICATION_WINDOW(obj->widget), toolbar_view); + adw_toolbar_view_set_content(ADW_TOOLBAR_VIEW(toolbar_view), vbox); + + GtkWidget *headerbar = adw_header_bar_new(); + adw_toolbar_view_add_top_bar(ADW_TOOLBAR_VIEW(toolbar_view), headerbar); +#elif GTK_MAJOR_VERSION >= 4 WINDOW_SET_CONTENT(obj->widget, vbox); #else gtk_container_add(GTK_CONTAINER(obj->widget), vbox);