Browse Source

initial commit

master
wes 5 years ago
commit
11c21c06db
  1. 3
      .gitignore
  2. 56
      browser.c
  3. 1
      build.sh

3
.gitignore

@ -0,0 +1,3 @@
*.gch
a.out
*.wav

56
browser.c

@ -0,0 +1,56 @@
#include <gtk/gtk.h>
#include <webkit2/webkit2.h>
static void
destroyWindowCb(GtkWidget *widget, GtkWidget *window);
static
gboolean closeWebViewCb(WebKitWebView *webView, GtkWidget *window);
static void
destroyWindowCb(GtkWidget *widget, GtkWidget *window) {
gtk_main_quit();
}
static
gboolean closeWebViewCb(WebKitWebView *webView,
GtkWidget *window) {
gtk_widget_destroy(window);
return TRUE;
}
int main(int argc, char *argv[]) {
// Initialize GTK+
gtk_init(&argc, &argv);
// Create an 800x600 window that will contain the browser instance
GtkWidget *main_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size(GTK_WINDOW(main_window), 800, 600);
// Create a browser instance
WebKitWebView *webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
// Put the browser area into the main window
gtk_container_add(GTK_CONTAINER(main_window), GTK_WIDGET(webView));
// Set up callbacks so that if either the main window or the browser instance is
// closed, the program will exit
g_signal_connect(main_window, "destroy", G_CALLBACK(destroyWindowCb), NULL);
g_signal_connect(webView, "close", G_CALLBACK(closeWebViewCb), main_window);
// Load a web page into the browser instance
webkit_web_view_load_uri(webView, "http://www.webkitgtk.org/");
// Make sure that when the browser area becomes visible, it will get mouse
// and keyboard events
gtk_widget_grab_focus(GTK_WIDGET(webView));
// Make sure the main window and all its contents are visible
gtk_widget_show_all(main_window);
// Run the main GTK+ event loop
gtk_main();
return 0;
}

1
build.sh

@ -0,0 +1 @@
gcc $(pkg-config --cflags --libs gtk+-3.0 webkit2gtk-4.0) browser.c
Loading…
Cancel
Save