summaryrefslogtreecommitdiff
path: root/recipes/gtk-webcore
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/gtk-webcore
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/gtk-webcore')
-rw-r--r--recipes/gtk-webcore/files/KWIQ-mimetype-segfault.patch14
-rw-r--r--recipes/gtk-webcore/files/KWQKURL-urlcmp.patch9
-rw-r--r--recipes/gtk-webcore/files/build_silence.patch16
-rw-r--r--recipes/gtk-webcore/files/fix-loading-error-report.patch44
-rw-r--r--recipes/gtk-webcore/files/gcc4-fno-threadsafe-statics-JavaScriptCore.patch12
-rw-r--r--recipes/gtk-webcore/files/gcc4-fno-threadsafe-statics-NRCit.patch12
-rw-r--r--recipes/gtk-webcore/files/gcc4-fno-threadsafe-statics-NRCore.patch12
-rw-r--r--recipes/gtk-webcore/files/gdk-colorspace.diff25
-rw-r--r--recipes/gtk-webcore/files/libm.patch13
-rw-r--r--recipes/gtk-webcore/files/no-pedantic.patch11
-rw-r--r--recipes/gtk-webcore/files/path_fixes.patch15
-rw-r--r--recipes/gtk-webcore/files/setHandle_segfault-fix.patch16
-rw-r--r--recipes/gtk-webcore/files/stop-load.image-loading.patch44
-rw-r--r--recipes/gtk-webcore/midori-0.0.17/webkit-update.patch676
-rw-r--r--recipes/gtk-webcore/midori-0.0.18/desktop.patch7
-rw-r--r--recipes/gtk-webcore/midori.inc10
-rw-r--r--recipes/gtk-webcore/midori_0.0.10.bb3
-rw-r--r--recipes/gtk-webcore/midori_0.0.11.bb1
-rw-r--r--recipes/gtk-webcore/midori_0.0.12.bb1
-rw-r--r--recipes/gtk-webcore/midori_0.0.13.bb1
-rw-r--r--recipes/gtk-webcore/midori_0.0.15.bb1
-rw-r--r--recipes/gtk-webcore/midori_0.0.17.bb5
-rw-r--r--recipes/gtk-webcore/midori_0.0.18.bb6
-rw-r--r--recipes/gtk-webcore/midori_0.0.21.bb5
-rw-r--r--recipes/gtk-webcore/midori_0.0.8.bb11
-rw-r--r--recipes/gtk-webcore/midori_0.1.2.bb29
-rw-r--r--recipes/gtk-webcore/midori_git.bb33
-rw-r--r--recipes/gtk-webcore/osb-browser-0.5.0/no-pedantic.patch11
-rw-r--r--recipes/gtk-webcore/osb-browser_0.5.0.bb11
-rw-r--r--recipes/gtk-webcore/osb-browser_20050430.bb18
-rw-r--r--recipes/gtk-webcore/osb-browser_20060212.bb20
-rw-r--r--recipes/gtk-webcore/osb-browser_svn.bb18
-rw-r--r--recipes/gtk-webcore/osb-jscore-0.5.0/gcc4-fno-threadsafe-statics.patch11
-rw-r--r--recipes/gtk-webcore/osb-jscore-0.5.0/libm.patch13
-rw-r--r--recipes/gtk-webcore/osb-jscore-0.5.0/missing-includes.patch10
-rw-r--r--recipes/gtk-webcore/osb-jscore-0.5.0/superh-aclocal.patch11
-rw-r--r--recipes/gtk-webcore/osb-jscore-0.5.0/superh-ustring-declaration-error.patch47
-rw-r--r--recipes/gtk-webcore/osb-jscore_0.5.0.bb36
-rw-r--r--recipes/gtk-webcore/osb-jscore_20050430.bb38
-rw-r--r--recipes/gtk-webcore/osb-jscore_20070816.bb40
-rw-r--r--recipes/gtk-webcore/osb-jscore_svn.bb39
-rw-r--r--recipes/gtk-webcore/osb-nrcit/pkgconfig_fix.patch13
-rw-r--r--recipes/gtk-webcore/osb-nrcit_0.5.0.bb30
-rw-r--r--recipes/gtk-webcore/osb-nrcit_20050430.bb39
-rw-r--r--recipes/gtk-webcore/osb-nrcit_20070816.bb39
-rw-r--r--recipes/gtk-webcore/osb-nrcit_svn.bb39
-rw-r--r--recipes/gtk-webcore/osb-nrcore-0.5.0/KWQDictImpl.patch375
-rw-r--r--recipes/gtk-webcore/osb-nrcore.inc46
-rw-r--r--recipes/gtk-webcore/osb-nrcore_0.5.0.bb6
-rw-r--r--recipes/gtk-webcore/osb-nrcore_20050430.bb11
-rw-r--r--recipes/gtk-webcore/osb-nrcore_20070816.bb14
-rw-r--r--recipes/gtk-webcore/osb-nrcore_svn.bb23
52 files changed, 1990 insertions, 0 deletions
diff --git a/recipes/gtk-webcore/files/KWIQ-mimetype-segfault.patch b/recipes/gtk-webcore/files/KWIQ-mimetype-segfault.patch
new file mode 100644
index 0000000000..feee33c8fe
--- /dev/null
+++ b/recipes/gtk-webcore/files/KWIQ-mimetype-segfault.patch
@@ -0,0 +1,14 @@
+--- NRCore/kwiq/KWQLoader.cpp.orig 2006-01-10 19:20:34.000000000 +0200
++++ NRCore/kwiq/KWQLoader.cpp 2006-01-10 19:20:50.000000000 +0200
+@@ -292,7 +292,10 @@
+ QString KWQResponseMIMEType(KWIQResponse *r)
+ {
+ ASSERT(r);
+- return r->mimeType();
++ if (!r)
++ return 0;
++ else
++ return r->mimeType();
+ }
+
+ QString KWQResponseHeaderString(KWIQResponse *r)
diff --git a/recipes/gtk-webcore/files/KWQKURL-urlcmp.patch b/recipes/gtk-webcore/files/KWQKURL-urlcmp.patch
new file mode 100644
index 0000000000..89aec6147d
--- /dev/null
+++ b/recipes/gtk-webcore/files/KWQKURL-urlcmp.patch
@@ -0,0 +1,9 @@
+--- NRCore/kwiq/KWQKURL.h.orig 2006-03-16 22:48:18.000000000 +0100
++++ NRCore/kwiq/KWQKURL.h 2006-03-16 22:48:20.000000000 +0100
+@@ -130,4 +130,6 @@
+ friend bool urlcmp(const QString &URLA, const QString &URLB, bool ignoreTrailingSlash, bool ignoreRef);
+ };
+
++bool urlcmp(const QString &URLA, const QString &URLB, bool ignoreTrailingSlash, bool ignoreRef);
++
+ #endif
diff --git a/recipes/gtk-webcore/files/build_silence.patch b/recipes/gtk-webcore/files/build_silence.patch
new file mode 100644
index 0000000000..ac77e17aac
--- /dev/null
+++ b/recipes/gtk-webcore/files/build_silence.patch
@@ -0,0 +1,16 @@
+Index: configure.in
+===================================================================
+--- configure.in (revision 46)
++++ configure.in (working copy)
+@@ -134,9 +134,9 @@
+ AC_SUBST(LIBCURL_LIBS) #needed by the osb-nrcore.pc.in
+
+
+-CXXFLAGS="$CXXFLAGS -fno-exceptions -fno-rtti -nostdinc++"
++CXXFLAGS="$CXXFLAGS -fno-exceptions -fno-rtti -nostdinc++ -DLOG_DISABLED"
+
+-CPPFLAGS="$CPPFLAGS -include \"\$(top_srcdir)/WebCorePrefix.h\" $PACKAGE_CFLAGS $X_CFLAGS $JSCORE_CFLAGS $DEFINES"
++CPPFLAGS="$CPPFLAGS -include \"\$(top_srcdir)/WebCorePrefix.h\" $PACKAGE_CFLAGS $X_CFLAGS $JSCORE_CFLAGS $DEFINES -DLOG_DISABLED"
+ LDFLAGS="$LDFLAGS $PACKAGE_LIBS $X_LIBS $JSCORE_LIBS \
+ -nodefaultlibs -lgcc -lc"
+
diff --git a/recipes/gtk-webcore/files/fix-loading-error-report.patch b/recipes/gtk-webcore/files/fix-loading-error-report.patch
new file mode 100644
index 0000000000..09e6f4f03a
--- /dev/null
+++ b/recipes/gtk-webcore/files/fix-loading-error-report.patch
@@ -0,0 +1,44 @@
+--- NRCit.orig/src/gtk/webi.cc.orig 2006-04-04 01:53:14.000000000 +0300
++++ NRCit/src/gtk/webi.cc 2006-04-04 01:44:20.000000000 +0300
+@@ -839,12 +839,15 @@
+ status->status = WEBI_LOADING_COMPLETE;
+ status->statusCode = statusCode;
+
++ g_signal_emit_by_name(webi, "status", status);
+ // assert(status->ready == status->files);
+ }
+
+ void MyRoot::internalStatusStartItem(const OSB::ResourceStatus * _status)
+ {
+ if (!internal) return;
++
++ status->status = WEBI_LOADING_START;
+ status->files++;
+ g_signal_emit_by_name(webi, "status", status);
+ }
+@@ -852,6 +855,8 @@
+ void MyRoot::internalStatusHeadersItem(const OSB::ResourceStatus * _status)
+ {
+ if (!internal) return;
++
++ status->status = WEBI_LOADING_START;
+ if (_status->size()) {
+ status->size += _status->size();
+ status->totalSize += _status->size();
+@@ -863,6 +868,8 @@
+ void MyRoot::internalStatusProgressItem(const OSB::ResourceStatus * _status)
+ {
+ if (!internal) return;
++
++ status->status = WEBI_LOADING_START;
+ status->totalReceived += _status->lastReceived();
+ // in case Content-Length -header is not present
+ if (!_status->size()) {
+@@ -880,6 +887,7 @@
+ status->ready++;
+ if (_status->error()) {
+ // FIXME: handle errors as well.u
++ status->status = WEBI_LOADING_ERROR;
+ }
+
+ g_signal_emit_by_name(webi, "status", status);
diff --git a/recipes/gtk-webcore/files/gcc4-fno-threadsafe-statics-JavaScriptCore.patch b/recipes/gtk-webcore/files/gcc4-fno-threadsafe-statics-JavaScriptCore.patch
new file mode 100644
index 0000000000..d48644cf5e
--- /dev/null
+++ b/recipes/gtk-webcore/files/gcc4-fno-threadsafe-statics-JavaScriptCore.patch
@@ -0,0 +1,12 @@
+diff -bur JavaScriptCore~orig/configure.in JavaScriptCore/configure.in
+--- JavaScriptCore~orig/configure.in 2006-02-12 01:51:50.000000000 -0600
++++ JavaScriptCore/configure.in 2006-02-12 22:26:44.000000000 -0600
+@@ -63,7 +63,7 @@
+ fi
+ changequote([,])dnl
+
+-CXXFLAGS="$CXXFLAGS -fno-exceptions -fno-rtti -nostdinc++"
++CXXFLAGS="$CXXFLAGS -fno-exceptions -fno-rtti -nostdinc++ -fno-threadsafe-statics"
+ LDFLAGS="$LDFLAGS $PACKAGE_LIBS" #-nodefaultlibs -lgcc -lc -lm"
+
+ CPPFLAGS="$CPPFLAGS $PACKAGE_CFLAGS -I\$(top_srcdir)/kjs -I\$(top_srcdir)/pcre -I\$(top_srcdir)/"
diff --git a/recipes/gtk-webcore/files/gcc4-fno-threadsafe-statics-NRCit.patch b/recipes/gtk-webcore/files/gcc4-fno-threadsafe-statics-NRCit.patch
new file mode 100644
index 0000000000..bee942fa9a
--- /dev/null
+++ b/recipes/gtk-webcore/files/gcc4-fno-threadsafe-statics-NRCit.patch
@@ -0,0 +1,12 @@
+diff -bur NRCit~orig/configure.in NRCit/configure.in
+--- NRCit~orig/configure.in 2005-08-08 18:07:00.000000000 -0500
++++ NRCit/configure.in 2006-02-12 21:28:53.000000000 -0600
+@@ -37,7 +37,7 @@
+ esac
+ case " $CXXFLAGS " in
+ *[\ \ ]-Wall[\ \ ]*) ;;
+- *) CXXFLAGS="$CXXFLAGS -Wall -Werror" ;;
++ *) CXXFLAGS="$CXXFLAGS -Wall -Werror -fno-threadsafe-statics" ;;
+ esac
+ fi
+ changequote([,])dnl
diff --git a/recipes/gtk-webcore/files/gcc4-fno-threadsafe-statics-NRCore.patch b/recipes/gtk-webcore/files/gcc4-fno-threadsafe-statics-NRCore.patch
new file mode 100644
index 0000000000..d3cb8c9b47
--- /dev/null
+++ b/recipes/gtk-webcore/files/gcc4-fno-threadsafe-statics-NRCore.patch
@@ -0,0 +1,12 @@
+diff -bur NRCore~orig/configure.in NRCore/configure.in
+--- NRCore~orig/configure.in 2005-02-16 03:31:43.000000000 -0600
++++ NRCore/configure.in 2006-02-12 21:03:49.000000000 -0600
+@@ -107,7 +107,7 @@
+ esac
+ case " $CXXFLAGS " in
+ *[\ \ ]-Wall[\ \ ]*) ;;
+- *) CXXFLAGS="$CXXFLAGS -Wall " ;;
++ *) CXXFLAGS="$CXXFLAGS -Wall -fno-threadsafe-statics " ;;
+ esac
+ fi
+ changequote([,])dnl
diff --git a/recipes/gtk-webcore/files/gdk-colorspace.diff b/recipes/gtk-webcore/files/gdk-colorspace.diff
new file mode 100644
index 0000000000..f225bc937d
--- /dev/null
+++ b/recipes/gtk-webcore/files/gdk-colorspace.diff
@@ -0,0 +1,25 @@
+Index: src/ImageRenderer.cpp
+===================================================================
+RCS file: /cvsroot/gtk-webcore/NRCit/src/ImageRenderer.cpp,v
+retrieving revision 1.1.1.1
+diff -u -r1.1.1.1 ImageRenderer.cpp
+--- NRCit.orig/src/ImageRenderer.cpp 16 Feb 2005 09:33:16 -0000 1.1.1.1
++++ NRCit/src/ImageRenderer.cpp 27 May 2005 23:36:28 -0000
+@@ -297,7 +297,7 @@
+ wantedSize.height,
+ GDK_INTERP_BILINEAR);
+
+- gdk_pixbuf_render_pixmap_and_mask(scaledbuf, &pixmap, &alpha, 100);
++ gdk_pixbuf_render_pixmap_and_mask_for_colormap(scaledbuf,gdk_colormap_get_system(), &pixmap, &alpha, 100);
+
+ buf = scaledbuf;
+ if (iter) {
+@@ -312,7 +312,7 @@
+ } else {
+
+ //correct size
+- gdk_pixbuf_render_pixmap_and_mask(buf, &pixmap, &alpha, 100);
++ gdk_pixbuf_render_pixmap_and_mask_for_colormap(buf, gdk_colormap_get_system(),&pixmap, &alpha, 100);
+ }
+
+ assert(gdk_pixbuf_get_has_alpha(buf) == (alpha != NULL));
diff --git a/recipes/gtk-webcore/files/libm.patch b/recipes/gtk-webcore/files/libm.patch
new file mode 100644
index 0000000000..b0c0cc6af2
--- /dev/null
+++ b/recipes/gtk-webcore/files/libm.patch
@@ -0,0 +1,13 @@
+Index: osb-jscore-0.5.0/configure.in
+===================================================================
+--- osb-jscore-0.5.0.orig/configure.in 2004-10-18 11:39:43.000000000 -0400
++++ osb-jscore-0.5.0/configure.in 2005-02-02 17:36:36.551550088 -0500
+@@ -18,6 +18,8 @@
+ AC_CHECK_HEADERS(string.h strings.h float.h)
+
+
++# isnan & friends generally come from libm, so link to it if its available
++AC_CHECK_LIB(m, sin)
+
+ AC_CHECK_FUNCS(isnan,[
+ AC_DEFINE(HAVE_FUNC_ISNAN,[],[Define to 1 if you have isnan function.])
diff --git a/recipes/gtk-webcore/files/no-pedantic.patch b/recipes/gtk-webcore/files/no-pedantic.patch
new file mode 100644
index 0000000000..faabbbf15f
--- /dev/null
+++ b/recipes/gtk-webcore/files/no-pedantic.patch
@@ -0,0 +1,11 @@
+--- osb-browser-0.5.0.orig/configure.in 2004-10-18 17:40:28.000000000 +0200
++++ osb-browser-0.5.0/configure.in 2004-10-24 01:23:26.000000000 +0200
+@@ -54,7 +54,7 @@
+ if test "x$GCC" = "xyes"; then
+ case " $CFLAGS " in
+ *[\ \ ]-Wall[\ \ ]*) ;;
+- *) CFLAGS="$CFLAGS -Wall -Werror -ansi -pedantic" ;;
++ *) CFLAGS="$CFLAGS -Wall -Werror -ansi" ;;
+ esac
+ fi
+ changequote([,])dnl
diff --git a/recipes/gtk-webcore/files/path_fixes.patch b/recipes/gtk-webcore/files/path_fixes.patch
new file mode 100644
index 0000000000..adb27bdd85
--- /dev/null
+++ b/recipes/gtk-webcore/files/path_fixes.patch
@@ -0,0 +1,15 @@
+Index: NRCore/configure.in
+===================================================================
+--- NRCore.orig/configure.in 2008-02-29 11:01:14.000000000 +0000
++++ NRCore/configure.in 2008-02-29 12:45:18.000000000 +0000
+@@ -67,8 +67,8 @@
+ AC_MSG_RESULT([found. Using prefix $jscore_prefix])
+ JSCORE_ENABLE=yes
+ AC_SUBST(JSCORE_ENABLE)
+- JSCORE_LIBS="-L$jscore_prefix/lib -ljscore"
+- JSCORE_CFLAGS="-I$jscore_prefix/include/gtk-webcore-jscore/"
++ JSCORE_LIBS="-L$jscore_prefix/lib -lgtk_webcore_jscore"
++ JSCORE_CFLAGS="-I$jscore_prefix/include/gtk-webcore/"
+ jscore_pkgdatadir="$jscore_prefix/share/gtk-webcore-jscore"
+ else
+ AC_MSG_ERROR([JavaScriptCore not found. Use --with-javascriptcore-prefix=PREFIX])
diff --git a/recipes/gtk-webcore/files/setHandle_segfault-fix.patch b/recipes/gtk-webcore/files/setHandle_segfault-fix.patch
new file mode 100644
index 0000000000..9ebdfeebe5
--- /dev/null
+++ b/recipes/gtk-webcore/files/setHandle_segfault-fix.patch
@@ -0,0 +1,16 @@
+--- NRCore/kwiq/KWQResourceLoader.cpp.orig 2006-01-21 00:13:32.000000000 +0200
++++ NRCore/kwiq/KWQResourceLoader.cpp 2006-01-20 23:52:59.000000000 +0200
+@@ -56,8 +56,11 @@
+ void KWQResourceLoader::setHandle(WebCoreResourceHandle* handle)
+ {
+ ASSERT(!_handle);
+- handle->retain();
+- _handle = handle;
++ if (handle)
++ {
++ handle->retain();
++ _handle = handle;
++ }
+ }
+
+ void KWQResourceLoader::receivedResponse(KWIQResponse* response)
diff --git a/recipes/gtk-webcore/files/stop-load.image-loading.patch b/recipes/gtk-webcore/files/stop-load.image-loading.patch
new file mode 100644
index 0000000000..47200825c0
--- /dev/null
+++ b/recipes/gtk-webcore/files/stop-load.image-loading.patch
@@ -0,0 +1,44 @@
+--- NRCit/src/frameimpl.cpp.orig 2005-02-16 11:33:16.000000000 +0200
++++ NRCit/src/frameimpl.cpp 2005-10-28 00:44:15.000000000 +0300
+@@ -152,6 +152,7 @@
+
+ void FrameImpl::stopLoad()
+ {
++ frameLoadDelegate()->onFrameLoadFinished(this, 1);
+ closeURL();
+ }
+
+--- NRCit/src/ImageRenderer.cpp.orig 2005-02-16 11:33:16.000000000 +0200
++++ NRCit/src/ImageRenderer.cpp 2005-10-28 20:43:42.000000000 +0300
+@@ -133,19 +133,19 @@
+ g_object_ref(pixbuf);
+ } else {
+ // not loading
+- if (ir.anim) {
++ /*if (ir.anim) {
+ // is an animation => get own pixbuf, owned by iterator
+ anim = ir.anim;
+ g_object_ref(anim);
+ assert(ir.iter);
+ iter = gdk_pixbuf_animation_get_iter(anim, NULL);
+- } else {
++ } else {*/
+ // not an animation
+ assert(!ir.iter);
+ pixbuf = ir.pixbuf;
+ if (pixbuf)
+ g_object_ref(pixbuf);
+- }
++ //}
+ }
+ }
+
+@@ -415,7 +417,7 @@
+
+ void ImageRenderer::stopAnimation()
+ {
+- //stopped = true;
++ stopped = true;
+ }
+
+ void ImageRenderer::tileInRect(GdkRectangle* r, int sx, int sy, CGContextRef context)
diff --git a/recipes/gtk-webcore/midori-0.0.17/webkit-update.patch b/recipes/gtk-webcore/midori-0.0.17/webkit-update.patch
new file mode 100644
index 0000000000..d3d19123cf
--- /dev/null
+++ b/recipes/gtk-webcore/midori-0.0.17/webkit-update.patch
@@ -0,0 +1,676 @@
+Update midori 0.17 to the new pkgconfig and header location. Taken from upstream git
+
+diff -Nurd midori-0.0.17/src/browser.c midori/src/browser.c
+--- midori-0.0.17/src/browser.c 2008-01-23 02:20:22.000000000 +0100
++++ midori/src/browser.c 2008-03-05 10:43:08.028499025 +0100
+@@ -1,5 +1,5 @@
+ /*
+- Copyright (C) 2007 Christian Dywan <christian@twotoasts.de>
++ Copyright (C) 2007-2008 Christian Dywan <christian@twotoasts.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+@@ -290,6 +290,15 @@
+ g_free(source);*/
+ }
+
++void on_action_fullscreen_activate(GtkAction* action, CBrowser* browser)
++{
++ GdkWindowState state = gdk_window_get_state(browser->window->window);
++ if(state & GDK_WINDOW_STATE_FULLSCREEN)
++ gtk_window_unfullscreen(GTK_WINDOW(browser->window));
++ else
++ gtk_window_fullscreen(GTK_WINDOW(browser->window));
++}
++
+ void on_action_back_activate(GtkAction* action, CBrowser* browser)
+ {
+ webkit_web_view_go_back(WEBKIT_WEB_VIEW(get_nth_webView(-1, browser)));
+@@ -1125,13 +1134,35 @@
+ update_search_engines(browser);
+ }
+
++static void on_window_state_changed(GtkWidget* widget
++ , GdkEventWindowState* event, CBrowser* browser)
++{
++ if(event->changed_mask & GDK_WINDOW_STATE_FULLSCREEN)
++ {
++ if(event->new_window_state & GDK_WINDOW_STATE_FULLSCREEN)
++ {
++ gtk_widget_hide(browser->menubar);
++ g_object_set(browser->fullscreen, "stock-id"
++ , GTK_STOCK_LEAVE_FULLSCREEN, NULL);
++ gtk_widget_show(browser->fullscreen);
++ }
++ else
++ {
++ gtk_widget_show(browser->menubar);
++ gtk_widget_hide(browser->fullscreen);
++ g_object_set(browser->fullscreen, "stock-id"
++ , GTK_STOCK_FULLSCREEN, NULL);
++ }
++ }
++}
++
+ static void on_window_size_allocate(GtkWidget* widget, GtkAllocation* allocation
+ , CBrowser* browser)
+ {
+ if(GTK_WIDGET_REALIZED(widget))
+ {
+- if(!(gdk_window_get_state(widget->window)
+- & (GDK_WINDOW_STATE_MAXIMIZED | GDK_WINDOW_STATE_FULLSCREEN)))
++ GdkWindowState state = gdk_window_get_state(widget->window);
++ if(!(state & (GDK_WINDOW_STATE_MAXIMIZED | GDK_WINDOW_STATE_FULLSCREEN)))
+ {
+ config->winWidth = allocation->width;
+ config->winHeight = allocation->height;
+@@ -1180,6 +1211,8 @@
+
+ // Setup the window metrics
+ browser->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
++ g_signal_connect(browser->window, "window-state-event"
++ , G_CALLBACK(on_window_state_changed), browser);
+ GdkScreen* screen = gtk_window_get_screen(GTK_WINDOW(browser->window));
+ const gint defaultWidth = (gint)gdk_screen_get_width(screen) / 1.7;
+ const gint defaultHeight = (gint)gdk_screen_get_height(screen) / 1.7;
+@@ -1351,6 +1384,13 @@
+ gtk_toolbar_insert(GTK_TOOLBAR(browser->navibar)
+ , GTK_TOOL_ITEM(browser->closedTabs), -1);
+ sokoke_container_show_children(GTK_CONTAINER(browser->navibar));
++ action = gtk_action_group_get_action(browser->actiongroup, "Fullscreen");
++ browser->fullscreen = gtk_action_create_tool_item(action);
++ gtk_widget_hide(browser->fullscreen);
++ g_signal_connect(browser->fullscreen, "clicked"
++ , G_CALLBACK(on_action_fullscreen_activate), browser);
++ gtk_toolbar_insert(GTK_TOOLBAR(browser->navibar)
++ , GTK_TOOL_ITEM(browser->fullscreen), -1);
+ action_set_active("ToolbarNavigation", config->toolbarNavigation, browser);
+
+ // Bookmarkbar
+@@ -1605,6 +1645,7 @@
+ browser->location = oldBrowser->location;
+ browser->webSearch = oldBrowser->webSearch;
+ browser->closedTabs = oldBrowser->closedTabs;
++ browser->fullscreen = oldBrowser->fullscreen;
+ browser->bookmarkbar = oldBrowser->bookmarkbar;
+ browser->panels = oldBrowser->panels;
+ browser->panels_notebook = oldBrowser->panels_notebook;
+@@ -1691,7 +1732,9 @@
+
+ // Connect signals
+ #define DOC_CONNECT(__sig, __func) g_signal_connect \
+- (G_OBJECT(browser->webView), __sig, G_CALLBACK(__func), browser);
++ (browser->webView, __sig, G_CALLBACK(__func), browser);
++ #define DOC_CONNECTA(__sig, __func) g_signal_connect_after \
++ (browser->webView, __sig, G_CALLBACK(__func), browser);
+ DOC_CONNECT ("navigation-requested" , on_webView_navigation_requested)
+ DOC_CONNECT ("title-changed" , on_webView_title_changed)
+ DOC_CONNECT ("icon-loaded" , on_webView_icon_changed)
+@@ -1704,11 +1747,13 @@
+ DOC_CONNECT ("console-message" , on_webView_console_message)
+
+ DOC_CONNECT ("button-press-event" , on_webView_button_press)
++ DOC_CONNECTA ("button-press-event" , on_webView_button_press_after)
+ DOC_CONNECT ("popup-menu" , on_webView_popup);
+ DOC_CONNECT ("scroll-event" , on_webView_scroll);
+ DOC_CONNECT ("leave-notify-event" , on_webView_leave)
+ DOC_CONNECT ("destroy" , on_webView_destroy)
+ #undef DOC_CONNECT
++ #undef DOC_CONNECTA
+
+ webkit_web_view_set_settings(WEBKIT_WEB_VIEW(browser->webView), webSettings);
+
+diff -Nurd midori-0.0.17/src/browser.h midori/src/browser.h
+--- midori-0.0.17/src/browser.h 2008-01-20 19:16:17.000000000 +0100
++++ midori/src/browser.h 2008-03-05 10:43:08.028499025 +0100
+@@ -39,6 +39,7 @@
+ GtkWidget* location;
+ GtkWidget* webSearch;
+ GtkWidget* closedTabs;
++ GtkWidget* fullscreen;
+ GtkWidget* bookmarkbar;
+ // panels
+ GtkWidget* panels;
+@@ -161,6 +162,9 @@
+ on_action_source_view_activate(GtkAction*, CBrowser*);
+
+ void
++on_action_fullscreen_activate(GtkAction*, CBrowser*);
++
++void
+ on_action_back_activate(GtkAction*, CBrowser*);
+
+ void
+@@ -364,6 +368,9 @@
+ { "Properties", GTK_STOCK_PROPERTIES
+ , NULL, ""
+ , "hm?", NULL/*G_CALLBACK(on_action_properties_activate)*/ },
++ { "Fullscreen", GTK_STOCK_FULLSCREEN
++ , NULL, "F11"
++ , "Toggle fullscreen view", G_CALLBACK(on_action_fullscreen_activate) },
+
+ { "Go", NULL, "_Go" },
+ { "Back", GTK_STOCK_GO_BACK
+diff -Nurd midori-0.0.17/src/conf.c midori/src/conf.c
+--- midori-0.0.17/src/conf.c 2008-01-23 05:12:24.000000000 +0100
++++ midori/src/conf.c 2008-03-05 10:43:08.028499025 +0100
+@@ -1,5 +1,5 @@
+ /*
+- Copyright (C) 2007 Christian Dywan <christian@twotoasts.de>
++ Copyright (C) 2007-2008 Christian Dywan <christian@twotoasts.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+@@ -64,6 +64,7 @@
+ GET_INT(config->newPages, "NewPages", CONFIG_NEWPAGES_TAB_NEW);
+ GET_INT(config->openTabsInTheBackground, "OpenTabsInTheBackground", FALSE);
+ GET_INT(config->openPopupsInTabs, "OpenPopupsInTabs", FALSE);
++ GET_INT(config->middleClickGoto, "MiddleClickGoto", FALSE);
+ #undef GET_INT
+ #undef GET_STR
+
+@@ -73,6 +74,10 @@
+ #define GET_STR(var, key, default) \
+ var = sokoke_key_file_get_string_default( \
+ keyFile, "content", key, default, NULL)
++ GET_STR(config->defaultFontFamily, "DefaultFontFamily", "Sans");
++ GET_INT(config->defaultFontSize, "DefaultFontSize", 10);
++ GET_INT(config->minimumFontSize, "MinimumFontSize", 5);
++ GET_STR(config->defaultEncoding, "DefaultEncoding", "UTF-8");
+ GET_INT(config->autoLoadImages, "AutoLoadImages", TRUE);
+ GET_INT(config->autoShrinkImages, "AutoShrinkImages", TRUE);
+ GET_INT(config->printBackgrounds, "PrintBackgrounds", FALSE);
+@@ -143,7 +148,12 @@
+ g_key_file_set_integer(keyFile, "browser", "NewPages", config->newPages);
+ g_key_file_set_integer(keyFile, "browser", "OpenTabsInTheBackground", config->openTabsInTheBackground);
+ g_key_file_set_integer(keyFile, "browser", "OpenPopupsInTabs", config->openPopupsInTabs);
++ g_key_file_set_integer(keyFile, "browser", "MiddleClickGoto", config->middleClickGoto);
+
++ g_key_file_set_string (keyFile, "content", "DefaultFontFamily", config->defaultFontFamily);
++ g_key_file_set_integer(keyFile, "content", "DefaultFontSize", config->defaultFontSize);
++ g_key_file_set_integer(keyFile, "content", "MinimumFontSize", config->minimumFontSize);
++ g_key_file_set_string (keyFile, "content", "DefaultEncoding", config->defaultEncoding);
+ g_key_file_set_integer(keyFile, "content", "AutoLoadImages", config->autoLoadImages);
+ g_key_file_set_integer(keyFile, "content", "AutoShrinkImages", config->autoShrinkImages);
+ g_key_file_set_integer(keyFile, "content", "PrintBackgrounds", config->printBackgrounds);
+diff -Nurd midori-0.0.17/src/conf.h midori/src/conf.h
+--- midori-0.0.17/src/conf.h 2008-01-23 05:11:13.000000000 +0100
++++ midori/src/conf.h 2008-03-05 10:43:08.028499025 +0100
+@@ -1,5 +1,5 @@
+ /*
+- Copyright (C) 2007 Christian Dywan <christian@twotoasts.de>
++ Copyright (C) 2007-2008 Christian Dywan <christian@twotoasts.de>
+
+ This library is free software; you can redist