- Create
open_link_example.c
#include <gtk/gtk.h>
#include <stdlib.h>
void open_link(GtkButton *button, gpointer user_data) {
const gchar *url = "https://example.com";
GError *error = NULL;
gtk_show_uri_on_window(NULL, url, GDK_CURRENT_TIME, &error);
if (error != NULL) {
g_warning("Failed to open link: %s", error->message);
g_error_free(error);
}
}
int main(int argc, char *argv[]) {
gtk_init(&argc, &argv);
GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window), "Open Link Example");
gtk_window_set_default_size(GTK_WINDOW(window), 400, 200);
g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
GtkWidget *button = gtk_button_new_with_label("Open Link");
g_signal_connect(button, "clicked", G_CALLBACK(open_link), NULL);
gtk_container_add(GTK_CONTAINER(window), button);
gtk_widget_show_all(window);
gtk_main();
return EXIT_SUCCESS;
}
- Compile it
gcc -o open_link_example open_link_example.c `pkg-config --cflags --libs gtk+-3.0`
- Run