--- a/ui/gtk/toolkit.c Sat May 02 18:13:39 2026 +0200 +++ b/ui/gtk/toolkit.c Tue May 05 20:27:58 2026 +0200 @@ -572,3 +572,16 @@ ui_set_visible(widget, FALSE); } } + +void ui_open_uri(const char *uri) { +#if GTK_CHECK_VERSION(4, 0, 0) + GtkUriLauncher *launcher = gtk_uri_launcher_new(uri); + gtk_uri_launcher_launch(launcher, NULL, NULL, NULL, NULL); + g_object_unref(launcher); +#elif GTK_CHECK_VERSION(3, 22, 0) + GError *error = NULL; + gtk_show_uri_on_window(NULL, uri, GDK_CURRENT_TIME, &error); +#elif + // TODO: call xdg-open +#endif +}