aboutsummaryrefslogtreecommitdiffstats
path: root/meta-demoapps/recipes-sato
diff options
context:
space:
mode:
authorSaul Wold <Saul.Wold@intel.com>2010-11-22 13:57:13 +0000
committerRichard Purdie <rpurdie@linux.intel.com>2010-11-22 13:57:13 +0000
commitcfe12efb5ec9586dab6961f141d52b103bd8b1d1 (patch)
tree7108e22aa7ddf6cfc2f1b6c6b73a811187706ecb /meta-demoapps/recipes-sato
parent762fd6b7b3b22d7a8cb80ef9e9ba62e7ef21af3e (diff)
downloadpoky-cfe12efb5ec9586dab6961f141d52b103bd8b1d1.tar.gz
poky-cfe12efb5ec9586dab6961f141d52b103bd8b1d1.tar.bz2
poky-cfe12efb5ec9586dab6961f141d52b103bd8b1d1.zip
Meta: Recipe Reogranization
This is the next stage of recipe reorganization, in this stage many recipes where moved to a new meta-demoapps layer since this is more appropriate for demo usage then the core. Additional some recipes were moved to meta-extras to indicate they may be depercated at a future time. A number of recipes were modified since dependencies need to be corrected. Signed-off-by: Saul Wold <Saul.Wold@intel.com>
Diffstat (limited to 'meta-demoapps/recipes-sato')
-rw-r--r--meta-demoapps/recipes-sato/claws-mail/claws-mail.inc57
-rw-r--r--meta-demoapps/recipes-sato/claws-mail/claws-mail_2.9.1.bb1
-rw-r--r--meta-demoapps/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.15.bb14
-rw-r--r--meta-demoapps/recipes-sato/claws-mail/claws-plugin-maildir_0.24.4.bb14
-rw-r--r--meta-demoapps/recipes-sato/claws-mail/claws-plugin-mailmbox_1.13.bb14
-rw-r--r--meta-demoapps/recipes-sato/claws-mail/claws-plugin-rssyl_0.13.bb14
-rw-r--r--meta-demoapps/recipes-sato/claws-mail/files/desktop.patch19
-rw-r--r--meta-demoapps/recipes-sato/claws-mail/files/fix-build.patch24
-rw-r--r--meta-demoapps/recipes-sato/claws-mail/files/owl-window-menu.patch1009
-rw-r--r--meta-demoapps/recipes-sato/claws-mail/files/streamline-ui.patch1008
-rw-r--r--meta-demoapps/recipes-sato/clipboard-manager/clipboard-manager_0.6.4.bb33
-rw-r--r--meta-demoapps/recipes-sato/clipboard-manager/files/daemonize.patch44
-rw-r--r--meta-demoapps/recipes-sato/clipboard-manager/files/makefile.patch18
-rw-r--r--meta-demoapps/recipes-sato/clipboard-manager/files/script.patch39
-rw-r--r--meta-demoapps/recipes-sato/epdfview/epdfview/epdfview-ui-print.xml12
-rw-r--r--meta-demoapps/recipes-sato/epdfview/epdfview/epdfview-ui.xml57
-rw-r--r--meta-demoapps/recipes-sato/epdfview/epdfview/epdfview.desktop10
-rw-r--r--meta-demoapps/recipes-sato/epdfview/epdfview/owl-menus.patch325
-rw-r--r--meta-demoapps/recipes-sato/epdfview/epdfview_0.1.6.bb21
-rw-r--r--meta-demoapps/recipes-sato/epdfview/epdfview_0.1.7.bb21
-rw-r--r--meta-demoapps/recipes-sato/kf/files/fix-configure.patch25
-rw-r--r--meta-demoapps/recipes-sato/kf/files/fix-desktop-file.patch20
-rw-r--r--meta-demoapps/recipes-sato/kf/files/gcc4.patch30
-rw-r--r--meta-demoapps/recipes-sato/kf/kf_0.5.4.1.bb16
-rw-r--r--meta-demoapps/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_0.3.bb25
-rw-r--r--meta-demoapps/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_svn.bb30
-rw-r--r--meta-demoapps/recipes-sato/matchbox-themes-gtk/files/gtkrc1
-rw-r--r--meta-demoapps/recipes-sato/matchbox-themes-gtk/matchbox-themes-gtk.bb17
28 files changed, 2918 insertions, 0 deletions
diff --git a/meta-demoapps/recipes-sato/claws-mail/claws-mail.inc b/meta-demoapps/recipes-sato/claws-mail/claws-mail.inc
new file mode 100644
index 0000000000..04401df2f5
--- /dev/null
+++ b/meta-demoapps/recipes-sato/claws-mail/claws-mail.inc
@@ -0,0 +1,57 @@
+SECTION = "x11/network"
+DESCRIPTION = "Mail user agent"
+#DEPENDS = "gtk+ gpgme libetpan libgnomeprint aspell openssl"
+DEPENDS = "gtk+ libetpan openssl libowl"
+LICENSE = "GPL"
+PR = "r6"
+
+SRC_URI = "\
+ ${SOURCEFORGE_MIRROR}/sylpheed-claws/claws-mail-${PV}.tar.bz2 \
+ file://desktop.patch;patch=1 \
+ file://streamline-ui.patch;patch=1 \
+ file://owl-window-menu.patch;patch=1 \
+ file://fix-build.patch;patch=1 \
+ "
+
+FILES_${PN} = "${bindir} ${datadir}/pixmaps ${datadir}/applications"
+
+#EXTRA_OECONF = "--disable-aspell-test \
+# --disable-dillo-viewer-plugin --with-aspell-prefix=${STAGING_DIR_HOST}${prefix} \
+# --enable-aspell"
+
+EXTRA_OECONF = "--disable-aspell-test \
+ --disable-aspell \
+ --disable-manual \
+# --disable-openssl \
+ --disable-crash-dialog \
+ --disable-jpilot \
+ --disable-trayicon-plugin \
+ --disable-spamassassin-plugin \
+ --disable-bogofilter-plugin \
+ --disable-pgpcore-plugin \
+ --disable-pgpmime-plugin \
+ --disable-pgpinline-plugin \
+ --disable-dillo-viewer-plugin \
+ --disable-clamav-plugin \
+# --disable-libetpan \
+ --disable-gnomeprint \
+ --disable-valgrind \
+ --disable-static \
+ "
+
+CFLAGS += "-D_GNU_SOURCE"
+
+inherit autotools pkgconfig gettext
+
+do_install_append() {
+ install -d ${D}${datadir}/applications
+ install -m 0644 claws-mail.desktop ${D}${datadir}/applications/
+ install -d ${D}${datadir}/pixmaps
+ install -m 0644 claws-mail.png ${D}${datadir}/pixmaps/
+}
+
+#python populate_packages_prepend () {
+# abiword_libdir = bb.data.expand('${libdir}/claws-mail/plugins', d)
+#
+# do_split_packages(d, abiword_libdir, '^(.*)\.so$', 'claws-mail-plugin-%s', 'Claws plugin for %s', extra_depends='')
+#}
diff --git a/meta-demoapps/recipes-sato/claws-mail/claws-mail_2.9.1.bb b/meta-demoapps/recipes-sato/claws-mail/claws-mail_2.9.1.bb
new file mode 100644
index 0000000000..f8a8396b95
--- /dev/null
+++ b/meta-demoapps/recipes-sato/claws-mail/claws-mail_2.9.1.bb
@@ -0,0 +1 @@
+require claws-mail.inc
diff --git a/meta-demoapps/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.15.bb b/meta-demoapps/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.15.bb
new file mode 100644
index 0000000000..82918173e4
--- /dev/null
+++ b/meta-demoapps/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.15.bb
@@ -0,0 +1,14 @@
+SECTION = "x11/network"
+DESCRIPTION = "Mail user agent plugins"
+DEPENDS = "claws-mail gtkhtml2 curl"
+LICENSE = "GPL"
+PR = "r1"
+
+SRC_URI = "http://www.claws-mail.org/downloads/plugins/gtkhtml2_viewer-${PV}.tar.gz"
+
+inherit autotools pkgconfig gettext
+
+S = "${WORKDIR}/gtkhtml2_viewer-${PV}"
+
+FILES_${PN} = "${libdir}/claws-mail/plugins/*.so"
+
diff --git a/meta-demoapps/recipes-sato/claws-mail/claws-plugin-maildir_0.24.4.bb b/meta-demoapps/recipes-sato/claws-mail/claws-plugin-maildir_0.24.4.bb
new file mode 100644
index 0000000000..4351d1e5de
--- /dev/null
+++ b/meta-demoapps/recipes-sato/claws-mail/claws-plugin-maildir_0.24.4.bb
@@ -0,0 +1,14 @@
+SECTION = "x11/network"
+DESCRIPTION = "Mail user agent plugins"
+DEPENDS = "claws-mail db"
+LICENSE = "GPL"
+PR = "r1"
+
+SRC_URI = "http://www.claws-mail.org/downloads/plugins/maildir-${PV}.tar.gz"
+
+inherit autotools pkgconfig
+
+S = "${WORKDIR}/maildir-${PV}"
+
+FILES_${PN} = "${libdir}/claws-mail/plugins/*.so"
+
diff --git a/meta-demoapps/recipes-sato/claws-mail/claws-plugin-mailmbox_1.13.bb b/meta-demoapps/recipes-sato/claws-mail/claws-plugin-mailmbox_1.13.bb
new file mode 100644
index 0000000000..fe7041494f
--- /dev/null
+++ b/meta-demoapps/recipes-sato/claws-mail/claws-plugin-mailmbox_1.13.bb
@@ -0,0 +1,14 @@
+SECTION = "x11/network"
+DESCRIPTION = "Mail user agent plugins"
+DEPENDS = "claws-mail"
+LICENSE = "GPL"
+PR = "r2"
+
+SRC_URI = "http://www.claws-mail.org/downloads/plugins/mailmbox-${PV}.tar.gz"
+
+inherit autotools pkgconfig
+
+S = "${WORKDIR}/mailmbox-${PV}"
+
+FILES_${PN} = "${libdir}/claws-mail/plugins/*.so"
+FILES_${PN}-dbg = "${libdir}/claws-mail/plugins/.debug"
diff --git a/meta-demoapps/recipes-sato/claws-mail/claws-plugin-rssyl_0.13.bb b/meta-demoapps/recipes-sato/claws-mail/claws-plugin-rssyl_0.13.bb
new file mode 100644
index 0000000000..de0705c7fd
--- /dev/null
+++ b/meta-demoapps/recipes-sato/claws-mail/claws-plugin-rssyl_0.13.bb
@@ -0,0 +1,14 @@
+SECTION = "x11/network"
+DESCRIPTION = "Mail user agent plugins"
+DEPENDS = "claws-mail libxml2 curl glib-2.0 gtk+"
+LICENSE = "GPL"
+PR = "r1"
+
+SRC_URI = "http://www.claws-mail.org/downloads/plugins/rssyl-${PV}.tar.gz"
+
+inherit autotools pkgconfig gettext
+
+S = "${WORKDIR}/rssyl-${PV}"
+
+FILES_${PN} = "${libdir}/claws-mail/plugins/*.so"
+
diff --git a/meta-demoapps/recipes-sato/claws-mail/files/desktop.patch b/meta-demoapps/recipes-sato/claws-mail/files/desktop.patch
new file mode 100644
index 0000000000..c5ed7a9c7d
--- /dev/null
+++ b/meta-demoapps/recipes-sato/claws-mail/files/desktop.patch
@@ -0,0 +1,19 @@
+Index: claws-mail-2.9.1/claws-mail.desktop
+===================================================================
+--- claws-mail-2.9.1.orig/claws-mail.desktop 2007-04-24 17:40:20.000000000 +0100
++++ claws-mail-2.9.1/claws-mail.desktop 2007-04-25 07:08:36.000000000 +0100
+@@ -1,11 +1,11 @@
+ [Desktop Entry]
+ Encoding=UTF-8
+-Name=Claws Mail
++Name=Mail
+ Exec=claws-mail
+ Icon=claws-mail
+-Info="Claws Mail"
++Info=Email Application
+ Categories=GTK;Network;Email;
+-Comment="Gtk+ based Mail Client"
++Comment=Email Application
+ Terminal=false
+ Type=Application
+ StartupNotify=true
diff --git a/meta-demoapps/recipes-sato/claws-mail/files/fix-build.patch b/meta-demoapps/recipes-sato/claws-mail/files/fix-build.patch
new file mode 100644
index 0000000000..2f30899fe1
--- /dev/null
+++ b/meta-demoapps/recipes-sato/claws-mail/files/fix-build.patch
@@ -0,0 +1,24 @@
+Remove duplicate file entries as this breaks install with new Automake
+
+JL 19/03/10
+
+Index: claws-mail-2.9.1/src/gtk/Makefile.am
+===================================================================
+--- claws-mail-2.9.1.orig/src/gtk/Makefile.am 2007-03-22 07:52:47.000000000 +0000
++++ claws-mail-2.9.1/src/gtk/Makefile.am 2010-03-19 14:54:06.565828281 +0000
+@@ -44,7 +44,6 @@
+ filesel.h \
+ foldersort.h \
+ gtkaspell.h \
+- gtksctree.h \
+ gtkshruler.h \
+ gtksctree.h \
+ gtksourceprintjob.h \
+@@ -57,7 +56,6 @@
+ menu.h \
+ pluginwindow.h \
+ prefswindow.h \
+- gtkvscrollbutton.h \
+ progressdialog.h \
+ quicksearch.h \
+ sslcertwindow.h \
diff --git a/meta-demoapps/recipes-sato/claws-mail/files/owl-window-menu.patch b/meta-demoapps/recipes-sato/claws-mail/files/owl-window-menu.patch
new file mode 100644
index 0000000000..54c61668a9
--- /dev/null
+++ b/meta-demoapps/recipes-sato/claws-mail/files/owl-window-menu.patch
@@ -0,0 +1,1009 @@
+Index: claws-mail-2.9.1/src/addressbook.c
+===================================================================
+--- claws-mail-2.9.1.orig/src/addressbook.c 2007-04-25 10:18:13.000000000 +0100
++++ claws-mail-2.9.1/src/addressbook.c 2007-04-25 10:30:23.000000000 +0100
+@@ -941,7 +941,6 @@
+ sizeof(addressbook_entries[0]);
+ menubar = menubar_create(window, addressbook_entries, n_entries,
+ "<AddressBook>", NULL);
+- gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, TRUE, 0);
+ menu_factory = gtk_item_factory_from_widget(menubar);
+
+ vbox2 = gtk_vbox_new(FALSE, BORDER_WIDTH);
+Index: claws-mail-2.9.1/src/gtk/menu.c
+===================================================================
+--- claws-mail-2.9.1.orig/src/gtk/menu.c 2007-04-25 10:18:13.000000000 +0100
++++ claws-mail-2.9.1/src/gtk/menu.c 2007-04-25 10:30:23.000000000 +0100
+@@ -35,10 +35,7 @@
+ #include "menu.h"
+ #include "utils.h"
+
+-#ifdef MAEMO
+-#include <hildon-widgets/hildon-program.h>
+-#include <gtk/gtkmain.h>
+-#endif
++#include <libowl/owlwindowmenu.h>
+
+ static void connect_accel_change_signals(GtkWidget* widget, GtkWidget *wid2) ;
+
+@@ -49,20 +46,14 @@
+ GtkItemFactory *factory;
+ GtkWidget *menubar;
+
+-#ifdef MAEMO
+ factory = gtk_item_factory_new(GTK_TYPE_MENU, path, NULL);
+-#else
+- factory = gtk_item_factory_new(GTK_TYPE_MENU_BAR, path, NULL);
+-#endif
+ gtk_item_factory_set_translate_func(factory, menu_translate,
+ NULL, NULL);
+ gtk_item_factory_create_items(factory, n_entries, entries, data);
+ gtk_window_add_accel_group (GTK_WINDOW (window), factory->accel_group);
+
+ menubar = gtk_item_factory_get_widget(factory, path);
+-#ifdef MAEMO
+- hildon_window_set_menu(HILDON_WINDOW(window), GTK_MENU(menubar));
+-#endif
++ owl_set_window_menu(GTK_WINDOW(window), GTK_MENU(menubar));
+ return menubar;
+ }
+
+Index: claws-mail-2.9.1/src/mainwindow.c
+===================================================================
+--- claws-mail-2.9.1.orig/src/mainwindow.c 2007-04-25 10:26:40.000000000 +0100
++++ claws-mail-2.9.1/src/mainwindow.c 2007-04-25 10:30:23.000000000 +0100
+@@ -1094,8 +1094,6 @@
+ n_menu_entries = sizeof(mainwin_entries) / sizeof(mainwin_entries[0]);
+ menubar = menubar_create(window, mainwin_entries,
+ n_menu_entries, "<Main>", mainwin);
+- gtk_widget_show(menubar);
+- gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, TRUE, 0);
+ ifactory = gtk_item_factory_from_widget(menubar);
+
+ /* gtk_widget_show(gtk_item_factory_get_item(ifactory,"/Message/Mailing-List"));
+Index: claws-mail-2.9.1/src/messageview.c
+===================================================================
+--- claws-mail-2.9.1.orig/src/messageview.c 2007-04-25 10:18:13.000000000 +0100
++++ claws-mail-2.9.1/src/messageview.c 2007-04-25 10:30:23.000000000 +0100
+@@ -414,8 +414,6 @@
+ n_menu_entries = sizeof(msgview_entries) / sizeof(msgview_entries[0]);
+ menubar = menubar_create(window, msgview_entries,
+ n_menu_entries, "<MessageView>", msgview);
+- gtk_widget_show(menubar);
+- gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, TRUE, 0);
+
+ if (prefs_common.toolbar_detachable) {
+ handlebox = gtk_handle_box_new();
+@@ -478,6 +476,7 @@
+ g_signal_connect(G_OBJECT(window), "key_press_event",
+ G_CALLBACK(key_pressed), msgview);
+ #endif
++ gtk_widget_realize(window);
+ messageview_add_toolbar(msgview, window);
+
+ if (show) {
+Index: claws-mail-2.9.1/configure.ac
+===================================================================
+--- claws-mail-2.9.1.orig/configure.ac 2007-04-25 10:18:13.000000000 +0100
++++ claws-mail-2.9.1/configure.ac 2007-04-25 10:30:23.000000000 +0100
+@@ -406,6 +406,11 @@
+ AC_SUBST(GTK_CFLAGS)
+ AC_SUBST(GTK_LIBS)
+
++OWL_CFLAGS=""
++OWL_LIBS="-lowl"
++AC_SUBST(OWL_CFLAGS)
++AC_SUBST(OWL_LIBS)
++
+ dnl GNU/Aspell is used for spell checking
+ AC_ARG_ENABLE(aspell,
+ [ --disable-aspell Disable GNU/aspell support [default=yes]],
+Index: claws-mail-2.9.1/src/Makefile.am
+===================================================================
+--- claws-mail-2.9.1.orig/src/Makefile.am 2007-04-25 10:18:13.000000000 +0100
++++ claws-mail-2.9.1/src/Makefile.am 2007-04-25 10:30:23.000000000 +0100
+@@ -471,7 +471,8 @@
+ $(LIBICONV) \
+ $(STARTUP_NOTIFICATION_LIBS) \
+ $(LIBETPAN_LIBS) \
+- $(MAEMO_LIBS)
++ $(MAEMO_LIBS) \
++ $(OWL_LIBS)
+
+ AM_CPPFLAGS = \
+ -DG_LOG_DOMAIN=\"Claws-Mail\" \
+@@ -489,6 +490,7 @@
+ $(LIBETPAN_CPPFLAGS) \
+ $(STARTUP_NOTIFICATION_CFLAGS) \
+ $(MAEMO_CFLAGS) \
++ $(OWL_CFLAGS) \
+ -Wno-unused-function
+
+ #no-unused-function is there because of bison stuff
+Index: claws-mail-2.9.1/configure
+===================================================================
+--- claws-mail-2.9.1.orig/configure 2007-04-25 10:18:13.000000000 +0100
++++ claws-mail-2.9.1/configure 2007-04-25 10:30:23.000000000 +0100
+@@ -769,7 +769,6 @@
+ # include <unistd.h>
+ #endif"
+
+-gt_needs=
+ ac_subst_vars='SHELL
+ PATH_SEPARATOR
+ PACKAGE_NAME
+@@ -942,6 +941,8 @@
+ PASSCRYPT_KEY
+ GTK_CFLAGS
+ GTK_LIBS
++OWL_LIBS
++OWL_CFLAGS
+ ASPELL
+ ASPELL_CFLAGS
+ ASPELL_LIBS
+@@ -2063,7 +2064,6 @@
+ >$cache_file
+ fi
+
+-gt_needs="$gt_needs "
+ # Check that the precious variables saved in the cache have kept the same
+ # value.
+ ac_cache_corrupted=false
+@@ -3001,9 +3001,7 @@
+ # Put the nasty error message in config.log where it belongs
+ echo "$GNOME2_PKG_ERRORS" >&5
+
+- { echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6; }
+- ac_enable_gnome2=no
++ ac_enable_gnome2=no
+ elif test $pkg_failed = untried; then
+ ac_enable_gnome2=no
+ else
+@@ -4147,14 +4145,12 @@
+
+
+
+-
+- { echo "$as_me:$LINENO: checking for strerror in -lcposix" >&5
+-echo $ECHO_N "checking for strerror in -lcposix... $ECHO_C" >&6; }
+-if test "${ac_cv_lib_cposix_strerror+set}" = set; then
++{ echo "$as_me:$LINENO: checking for library containing strerror" >&5
++echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6; }
++if test "${ac_cv_search_strerror+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lcposix $LIBS"
++ ac_func_search_save_LIBS=$LIBS
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -4177,7 +4173,14 @@
+ return 0;
+ }
+ _ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
++for ac_lib in '' cposix; do
++ if test -z "$ac_lib"; then
++ ac_res="none required"
++ else
++ ac_res=-l$ac_lib
++ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
++ fi
++ rm -f conftest.$ac_objext conftest$ac_exeext
+ if { (ac_try="$ac_link"
+ case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+@@ -4195,25 +4198,35 @@
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+- ac_cv_lib_cposix_strerror=yes
++ ac_cv_search_strerror=$ac_res
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+- ac_cv_lib_cposix_strerror=no
++
+ fi
+
+ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
++ conftest$ac_exeext
++ if test "${ac_cv_search_strerror+set}" = set; then
++ break
++fi
++done
++if test "${ac_cv_search_strerror+set}" = set; then
++ :
++else
++ ac_cv_search_strerror=no
+ fi
+-{ echo "$as_me:$LINENO: result: $ac_cv_lib_cposix_strerror" >&5
+-echo "${ECHO_T}$ac_cv_lib_cposix_strerror" >&6; }
+-if test $ac_cv_lib_cposix_strerror = yes; then
+- LIBS="$LIBS -lcposix"
++rm conftest.$ac_ext
++LIBS=$ac_func_search_save_LIBS
+ fi
++{ echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5
++echo "${ECHO_T}$ac_cv_search_strerror" >&6; }
++ac_res=$ac_cv_search_strerror
++if test "$ac_res" != no; then
++ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+-
++fi
+
+ # Find a good install program. We prefer a C program (faster),
+ # so one script is as good as another. But avoid the broken or
+@@ -5769,7 +5782,7 @@
+ ;;
+ *-*-irix6*)
+ # Find out which ABI we are using.
+- echo '#line 5772 "configure"' > conftest.$ac_ext
++ echo '#line 5785 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+@@ -8555,11 +8568,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:8558: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:8571: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:8562: \$? = $ac_status" >&5
++ echo "$as_me:8575: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+@@ -8823,11 +8836,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:8826: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:8839: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:8830: \$? = $ac_status" >&5
++ echo "$as_me:8843: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+@@ -8927,11 +8940,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:8930: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:8943: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+- echo "$as_me:8934: \$? = $ac_status" >&5
++ echo "$as_me:8947: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+@@ -11224,7 +11237,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+-#line 11227 "configure"
++#line 11240 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -11324,7 +11337,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+-#line 11327 "configure"
++#line 11340 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -13660,11 +13673,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:13663: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:13676: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:13667: \$? = $ac_status" >&5
++ echo "$as_me:13680: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+@@ -13764,11 +13777,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:13767: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:13780: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+- echo "$as_me:13771: \$? = $ac_status" >&5
++ echo "$as_me:13784: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+@@ -15325,11 +15338,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:15328: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:15341: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:15332: \$? = $ac_status" >&5
++ echo "$as_me:15345: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+@@ -15429,11 +15442,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:15432: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:15445: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+- echo "$as_me:15436: \$? = $ac_status" >&5
++ echo "$as_me:15449: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+@@ -17616,11 +17629,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:17619: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:17632: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:17623: \$? = $ac_status" >&5
++ echo "$as_me:17636: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+@@ -17884,11 +17897,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:17887: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:17900: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:17891: \$? = $ac_status" >&5
++ echo "$as_me:17904: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+@@ -17988,11 +18001,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:17991: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:18004: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+- echo "$as_me:17995: \$? = $ac_status" >&5
++ echo "$as_me:18008: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+@@ -20960,16 +20973,9 @@
+ found_so=
+ found_a=
+ if test $use_additional = yes; then
+- if test -n "$shlibext" \
+- && { test -f "$additional_libdir/lib$name.$shlibext" \
+- || { test "$shlibext" = dll \
+- && test -f "$additional_libdir/lib$name.dll.a"; }; }; then
++ if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
+ found_dir="$additional_libdir"
+- if test -f "$additional_libdir/lib$name.$shlibext"; then
+- found_so="$additional_libdir/lib$name.$shlibext"
+- else
+- found_so="$additional_libdir/lib$name.dll.a"
+- fi
++ found_so="$additional_libdir/lib$name.$shlibext"
+ if test -f "$additional_libdir/lib$name.la"; then
+ found_la="$additional_libdir/lib$name.la"
+ fi
+@@ -20997,16 +21003,9 @@
+ case "$x" in
+ -L*)
+ dir=`echo "X$x" | sed -e 's/^X-L//'`
+- if test -n "$shlibext" \
+- && { test -f "$dir/lib$name.$shlibext" \
+- || { test "$shlibext" = dll \
+- && test -f "$dir/lib$name.dll.a"; }; }; then
++ if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
+ found_dir="$dir"
+- if test -f "$dir/lib$name.$shlibext"; then
+- found_so="$dir/lib$name.$shlibext"
+- else
+- found_so="$dir/lib$name.dll.a"
+- fi
++ found_so="$dir/lib$name.$shlibext"
+ if test -f "$dir/lib$name.la"; then
+ found_la="$dir/lib$name.la"
+ fi
+@@ -21927,13 +21926,6 @@
+
+
+
+-
+-
+-
+-
+-
+-
+-
+ { echo "$as_me:$LINENO: checking for CFPreferencesCopyAppValue" >&5
+ echo $ECHO_N "checking for CFPreferencesCopyAppValue... $ECHO_C" >&6; }
+ if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then
+@@ -22070,37 +22062,17 @@
+ LTLIBINTL=
+ POSUB=
+
+- case " $gt_needs " in
+- *" need-formatstring-macros "*) gt_api_version=3 ;;
+- *" need-ngettext "*) gt_api_version=2 ;;
+- *) gt_api_version=1 ;;
+- esac
+- gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
+- gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
+-
+ if test "$USE_NLS" = "yes"; then
+ gt_use_preinstalled_gnugettext=no
+
+
+- if test $gt_api_version -ge 3; then
+- gt_revision_test_code='
+-#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+-#endif
+-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+-'
+- else
+- gt_revision_test_code=
+- fi
+- if test $gt_api_version -ge 2; then
+- gt_expression_test_code=' + * ngettext ("", "", 0)'
+- else
+- gt_expression_test_code=
+- fi
++
++
++
+
+ { echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5
+ echo $ECHO_N "checking for GNU gettext in libc... $ECHO_C" >&6; }
+-if { as_var=$gt_func_gnugettext_libc; eval "test \"\${$as_var+set}\" = set"; }; then
++if test "${gt_cv_func_gnugettext1_libc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+@@ -22110,14 +22082,13 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+ #include <libintl.h>
+-$gt_revision_test_code
+ extern int _nl_msg_cat_cntr;
+ extern int *_nl_domain_bindings;
+ int
+ main ()
+ {
+ bindtextdomain ("", "");
+-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings
++return * gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings
+ ;
+ return 0;
+ }
+@@ -22140,22 +22111,21 @@
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+- eval "$gt_func_gnugettext_libc=yes"
++ gt_cv_func_gnugettext1_libc=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+- eval "$gt_func_gnugettext_libc=no"
++ gt_cv_func_gnugettext1_libc=no
+ fi
+
+ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ fi
+-ac_res=`eval echo '${'$gt_func_gnugettext_libc'}'`
+- { echo "$as_me:$LINENO: result: $ac_res" >&5
+-echo "${ECHO_T}$ac_res" >&6; }
++{ echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext1_libc" >&5
++echo "${ECHO_T}$gt_cv_func_gnugettext1_libc" >&6; }
+
+- if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
++ if test "$gt_cv_func_gnugettext1_libc" != "yes"; then
+
+
+
+@@ -22398,16 +22368,9 @@
+ found_so=
+ found_a=
+ if test $use_additional = yes; then
+- if test -n "$shlibext" \
+- && { test -f "$additional_libdir/lib$name.$shlibext" \
+- || { test "$shlibext" = dll \
+- && test -f "$additional_libdir/lib$name.dll.a"; }; }; then
++ if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
+ found_dir="$additional_libdir"
+- if test -f "$additional_libdir/lib$name.$shlibext"; then
+- found_so="$additional_libdir/lib$name.$shlibext"
+- else
+- found_so="$additional_libdir/lib$name.dll.a"
+- fi
++ found_so="$additional_libdir/lib$name.$shlibext"
+ if test -f "$additional_libdir/lib$name.la"; then
+ found_la="$additional_libdir/lib$name.la"
+ fi
+@@ -22435,16 +22398,9 @@
+ case "$x" in
+ -L*)
+ dir=`echo "X$x" | sed -e 's/^X-L//'`
+- if test -n "$shlibext" \
+- && { test -f "$dir/lib$name.$shlibext" \
+- || { test "$shlibext" = dll \
+- && test -f "$dir/lib$name.dll.a"; }; }; then
++ if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
+ found_dir="$dir"
+- if test -f "$dir/lib$name.$shlibext"; then
+- found_so="$dir/lib$name.$shlibext"
+- else
+- found_so="$dir/lib$name.dll.a"
+- fi
++ found_so="$dir/lib$name.$shlibext"
+ if test -f "$dir/lib$name.la"; then
+ found_la="$dir/lib$name.la"
+ fi
+@@ -22712,7 +22668,7 @@
+
+ { echo "$as_me:$LINENO: checking for GNU gettext in libintl" >&5
+ echo $ECHO_N "checking for GNU gettext in libintl... $ECHO_C" >&6; }
+-if { as_var=$gt_func_gnugettext_libintl; eval "test \"\${$as_var+set}\" = set"; }; then
++if test "${gt_cv_func_gnugettext1_libintl+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ gt_save_CPPFLAGS="$CPPFLAGS"
+@@ -22726,7 +22682,6 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+ #include <libintl.h>
+-$gt_revision_test_code
+ extern int _nl_msg_cat_cntr;
+ extern
+ #ifdef __cplusplus
+@@ -22737,7 +22692,7 @@
+ main ()
+ {
+ bindtextdomain ("", "");
+-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
++return * gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+ ;
+ return 0;
+ }
+@@ -22760,17 +22715,17 @@
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+- eval "$gt_func_gnugettext_libintl=yes"
++ gt_cv_func_gnugettext1_libintl=yes
+ else
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+
+- eval "$gt_func_gnugettext_libintl=no"
++ gt_cv_func_gnugettext1_libintl=no
+ fi
+
+ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+- if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
++ if test "$gt_cv_func_gnugettext1_libintl" != yes && test -n "$LIBICONV"; then
+ LIBS="$LIBS $LIBICONV"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+@@ -22779,7 +22734,6 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+ #include <libintl.h>
+-$gt_revision_test_code
+ extern int _nl_msg_cat_cntr;
+ extern
+ #ifdef __cplusplus
+@@ -22790,7 +22744,7 @@
+ main ()
+ {
+ bindtextdomain ("", "");
+-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
++return * gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias ("")
+ ;
+ return 0;
+ }
+@@ -22815,7 +22769,7 @@
+ $as_test_x conftest$ac_exeext; then
+ LIBINTL="$LIBINTL $LIBICONV"
+ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+- eval "$gt_func_gnugettext_libintl=yes"
++ gt_cv_func_gnugettext1_libintl=yes
+
+ else
+ echo "$as_me: failed program was:" >&5
+@@ -22830,13 +22784,12 @@
+ CPPFLAGS="$gt_save_CPPFLAGS"
+ LIBS="$gt_save_LIBS"
+ fi
+-ac_res=`eval echo '${'$gt_func_gnugettext_libintl'}'`
+- { echo "$as_me:$LINENO: result: $ac_res" >&5
+-echo "${ECHO_T}$ac_res" >&6; }
++{ echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext1_libintl" >&5
++echo "${ECHO_T}$gt_cv_func_gnugettext1_libintl" >&6; }
+ fi
+
+- if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
+- || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
++ if test "$gt_cv_func_gnugettext1_libc" = "yes" \
++ || { test "$gt_cv_func_gnugettext1_libintl" = "yes" \
+ && test "$PACKAGE" != gettext-runtime \
+ && test "$PACKAGE" != gettext-tools; }; then
+ gt_use_preinstalled_gnugettext=yes
+@@ -22876,7 +22829,7 @@
+ { echo "$as_me:$LINENO: checking where the gettext function comes from" >&5
+ echo $ECHO_N "checking where the gettext function comes from... $ECHO_C" >&6; }
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+- if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
++ if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then
+ gt_source="external libintl"
+ else
+ gt_source="libc"
+@@ -22891,7 +22844,7 @@
+ if test "$USE_NLS" = "yes"; then
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+- if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
++ if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then
+ { echo "$as_me:$LINENO: checking how to link with libintl" >&5
+ echo $ECHO_N "checking how to link with libintl... $ECHO_C" >&6; }
+ { echo "$as_me:$LINENO: result: $LIBINTL" >&5
+@@ -26592,12 +26545,8 @@
+ esac
+ done
+
+-
+-
+-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+- if test -n "$ac_tool_prefix"; then
+- # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+-set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
++ # Extract the first word of "pkg-config", so it can be a program name with args.
++set dummy pkg-config; ac_word=$2
+ { echo "$as_me:$LINENO: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+ if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+@@ -26623,6 +26572,7 @@
+ done
+ IFS=$as_save_IFS
+
++ test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+ ;;
+ esac
+ fi
+@@ -26636,88 +26586,19 @@
+ fi
+
+
+-fi
+-if test -z "$ac_cv_path_PKG_CONFIG"; then
+- ac_pt_PKG_CONFIG=$PKG_CONFIG
+- # Extract the first word of "pkg-config", so it can be a program name with args.
+-set dummy pkg-config; ac_word=$2
+-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+-if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- case $ac_pt_PKG_CONFIG in
+- [\\/]* | ?:[\\/]*)
+- ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+- ;;
+- *)
+- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+- ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+- break 2
+- fi
+-done
+-done
+-IFS=$as_save_IFS
+-
+- ;;
+-esac
+-fi
+-ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+-if test -n "$ac_pt_PKG_CONFIG"; then
+- { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
+-echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; }
+-else
+- { echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6; }
+-fi
+-
+- if test "x$ac_pt_PKG_CONFIG" = x; then
+- PKG_CONFIG=""
+- else
+- case $cross_compiling:$ac_tool_warned in
+-yes:)
+-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+-whose name does not start with the host triplet. If you think this
+-configuration is useful to you, please write to autoconf@gnu.org." >&5
+-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+-whose name does not start with the host triplet. If you think this
+-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+-ac_tool_warned=yes ;;
+-esac
+- PKG_CONFIG=$ac_pt_PKG_CONFIG
+- fi
+-else
+- PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+-fi
+-
+-fi
+-if test -n "$PKG_CONFIG"; then
+- _pkg_min_version=0.7
+- { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
+-echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; }
+- if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+- { echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6; }
+- else
+- { echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6; }
+- PKG_CONFIG=""
+- fi
+-
+-fi
+
+ no_glib=""
+
+- if test "x$PKG_CONFIG" = x ; then
++ if test x$PKG_CONFIG != xno ; then
++ if $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then
++ :
++ else
++ echo *** pkg-config too old; version 0.7 or better required.
++ no_glib=yes
++ PKG_CONFIG=no
++ fi
++ else
+ no_glib=yes
+- PKG_CONFIG=no
+ fi
+
+ min_glib_version=2.6.0
+@@ -27223,9 +27104,7 @@
+ # Put the nasty error message in config.log where it belongs
+ echo "$OPENSSL_PKG_ERRORS" >&5
+
+- { echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6; }
+- ac_cv_enable_openssl=no
++ ac_cv_enable_openssl=no
+ elif test $pkg_failed = untried; then
+ ac_cv_enable_openssl=no
+ else
+@@ -27793,6 +27672,11 @@
+
+
+
++OWL_LIBS="-lowl"
++OLS_CFLAGS=""
++
++
++
+ # Check whether --enable-aspell was given.
+ if test "${enable_aspell+set}" = set; then
+ enableval=$enable_aspell; ac_cv_enable_aspell=$enableval
+@@ -28242,9 +28126,7 @@
+ # Put the nasty error message in config.log where it belongs
+ echo "$MAEMO_PKG_ERRORS" >&5
+
+- { echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6; }
+- ac_cv_enable_maemo=no
++ ac_cv_enable_maemo=no
+ elif test $pkg_failed = untried; then
+ ac_cv_enable_maemo=no
+ else
+@@ -29796,8 +29678,6 @@
+ # Put the nasty error message in config.log where it belongs
+ echo "$STARTUP_NOTIFICATION_PKG_ERRORS" >&5
+
+- { echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6; }
+
+ echo "Building without libstartup-notification"
+ enable_startup_notification=no
+@@ -31300,9 +31180,7 @@
+ # Put the nasty error message in config.log where it belongs
+ echo "$CLAMAV_PKG_ERRORS" >&5
+
+- { echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6; }
+- ac_cv_enable_clamav_plugin=no
++ ac_cv_enable_clamav_plugin=no
+ elif test $pkg_failed = untried; then
+ ac_cv_enable_clamav_plugin=no
+ else
+@@ -31684,9 +31562,7 @@
+ # Put the nasty error message in config.log where it belongs
+ echo "$GNOMEPRINT_PKG_ERRORS" >&5
+
+- { echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6; }
+- ac_cv_enable_gnomeprint=no
++ ac_cv_enable_gnomeprint=no
+ elif test $pkg_failed = untried; then
+ ac_cv_enable_gnomeprint=no
+ else
+@@ -31794,9 +31670,7 @@
+ # Put the nasty error message in config.log where it belongs
+ echo "$VALGRIND_PKG_ERRORS" >&5
+
+- { echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6; }
+- ac_cv_enable_valgrind=no
++ ac_cv_enable_valgrind=no
+ elif test $pkg_failed = untried; then
+ ac_cv_enable_valgrind=no
+ else
+@@ -32884,6 +32758,8 @@
+ PASSCRYPT_KEY!$PASSCRYPT_KEY$ac_delim
+ GTK_CFLAGS!$GTK_CFLAGS$ac_delim
+ GTK_LIBS!$GTK_LIBS$ac_delim
++OWL_LIBS!$OWL_LIBS$ac_delim
++OWL_CFLAGS!$OWL_CFLAGS$ac_delim
+ ASPELL!$ASPELL$ac_delim
+ ASPELL_CFLAGS!$ASPELL_CFLAGS$ac_delim
+ ASPELL_LIBS!$ASPELL_LIBS$ac_delim
+@@ -32904,8 +32780,6 @@
+ BUILD_SPAMASSASSIN_PLUGIN_FALSE!$BUILD_SPAMASSASSIN_PLUGIN_FALSE$ac_delim
+ BUILD_BOGOFILTER_PLUGIN_TRUE!$BUILD_BOGOFILTER_PLUGIN_TRUE$ac_delim
+ BUILD_BOGOFILTER_PLUGIN_FALSE!$BUILD_BOGOFILTER_PLUGIN_FALSE$ac_delim
+-GPGME_CONFIG!$GPGME_CONFIG$ac_delim
+-GPGME_CFLAGS!$GPGME_CFLAGS$ac_delim
+ _ACEOF
+
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
+@@ -32947,6 +32821,8 @@
+ ac_delim='%!_!# '
+ for ac_last_try in false false false false false :; do
+ cat >conf$$subs.sed <<_ACEOF
++GPGME_CONFIG!$GPGME_CONFIG$ac_delim
++GPGME_CFLAGS!$GPGME_CFLAGS$ac_delim
+ GPGME_LIBS!$GPGME_LIBS$ac_delim
+ BUILD_PGPCORE_PLUGIN_TRUE!$BUILD_PGPCORE_PLUGIN_TRUE$ac_delim
+ BUILD_PGPCORE_PLUGIN_FALSE!$BUILD_PGPCORE_PLUGIN_FALSE$ac_delim
+@@ -32979,7 +32855,7 @@
+ LTLIBOBJS!$LTLIBOBJS$ac_delim
+ _ACEOF
+
+- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 30; then
++ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 32; then
+ break
+ elif $ac_last_try; then
+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+Index: claws-mail-2.9.1/src/Makefile.in
+===================================================================
+--- claws-mail-2.9.1.orig/src/Makefile.in 2007-04-25 10:18:13.000000000 +0100
++++ claws-mail-2.9.1/src/Makefile.in 2007-04-25 10:30:23.000000000 +0100
+@@ -45,8 +45,7 @@
+ $(top_srcdir)/m4/aspell.m4 $(top_srcdir)/m4/check-type.m4 \
+ $(top_srcdir)/m4/gnupg-check-typedef.m4 \
+ $(top_srcdir)/m4/gnupg.m4 $(top_srcdir)/m4/gpgme.m4 \
+- $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/spamassassin.m4 \
+- $(top_srcdir)/configure.ac
++ $(top_srcdir)/m4/spamassassin.m4 $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+ mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+@@ -122,7 +121,7 @@
+ $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2) \
+- $(am__DEPENDENCIES_2)
++ $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2)
+ claws_mail_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(claws_mail_LDFLAGS) $(LDFLAGS) -o $@
+@@ -272,6 +271,8 @@
+ OBJEXT = @OBJEXT@
+ OPENSSL_CFLAGS = @OPENSSL_CFLAGS@
+ OPENSSL_LIBS = @OPENSSL_LIBS@
++OWL_CFLAGS = @OWL_CFLAGS@
++OWL_LIBS = @OWL_LIBS@
+ PACKAGE = @PACKAGE@
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+ PACKAGE_NAME = @PACKAGE_NAME@
+@@ -815,7 +816,8 @@
+ $(LIBICONV) \
+ $(STARTUP_NOTIFICATION_LIBS) \
+ $(LIBETPAN_LIBS) \
+- $(MAEMO_LIBS)
++ $(MAEMO_LIBS) \
++ $(OWL_LIBS)
+
+ AM_CPPFLAGS = \
+ -DG_LOG_DOMAIN=\"Claws-Mail\" \
+@@ -833,7 +835,7 @@
+ $(LIBETPAN_CPPFLAGS) \
+ $(STARTUP_NOTIFICATION_CFLAGS) \
+ $(MAEMO_CFLAGS) \
+- -Wno-unused-function
++ $(OWL_CFLAGS)
+
+
+ #no-unused-function is there because of bison stuff
+@@ -1406,6 +1408,7 @@
+ install-exec-hook:
+ @rm -f $(DESTDIR)$(bindir)/sylpheed-claws
+ @ln -s claws-mail $(DESTDIR)$(bindir)/sylpheed-claws
++ -Wno-unused-function
+
+ @CYGWIN_TRUE@claws-mail$(EXEEXT): $(claws_mail_OBJECTS) $(claws_mail_DEPENDENCIES)
+ @CYGWIN_TRUE@ @rm -f claws-mail$(EXEEXT)
+Index: claws-mail-2.9.1/autogen.sh
+===================================================================
+--- claws-mail-2.9.1.orig/autogen.sh 2007-04-25 10:18:13.000000000 +0100
++++ claws-mail-2.9.1/autogen.sh 2007-04-25 10:30:23.000000000 +0100
+@@ -74,5 +74,4 @@
+ && libtoolize --force --copy \
+ && autoheader \
+ && automake --add-missing --foreign --copy \
+- && autoconf \
+- && ./configure --enable-maintainer-mode $@
++ && autoconf
+Index: claws-mail-2.9.1/src/compose.c
+===================================================================
+--- claws-mail-2.9.1.orig/src/compose.c 2007-04-25 10:18:13.000000000 +0100
++++ claws-mail-2.9.1/src/compose.c 2007-04-25 10:30:23.000000000 +0100
+@@ -6192,7 +6192,6 @@
+ n_menu_entries = sizeof(compose_entries) / sizeof(compose_entries[0]);
+ menubar = menubar_create(window, compose_entries,
+ n_menu_entries, "<Compose>", compose);
+- gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, TRUE, 0);
+
+ handlebox = gtk_hbox_new(FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), handlebox, FALSE, FALSE, 0);
diff --git a/meta-demoapps/recipes-sato/claws-mail/files/streamline-ui.patch b/meta-demoapps/recipes-sato/claws-mail/files/streamline-ui.patch
new file mode 100644
index 0000000000..29a52ff795
--- /dev/null
+++ b/meta-demoapps/recipes-sato/claws-mail/files/streamline-ui.patch
@@ -0,0 +1,1008 @@
+Index: claws-mail-2.9.1/src/mainwindow.c
+===================================================================
+--- claws-mail-2.9.1.orig/src/mainwindow.c 2007-04-25 07:40:10.000000000 +0100
++++ claws-mail-2.9.1/src/mainwindow.c 2007-04-25 10:26:40.000000000 +0100
+@@ -189,9 +189,6 @@
+ static void toggle_statusbar_cb (MainWindow *mainwin,
+ guint action,
+ GtkWidget *widget);
+-static void set_layout_cb (MainWindow *mainwin,
+- guint action,
+- GtkWidget *widget);
+
+ static void addressbook_open_cb (MainWindow *mainwin,
+ guint action,
+@@ -538,94 +535,24 @@
+ {N_("/_Edit/_Search folder..."), "<shift><control>F", search_cb, 1, NULL},
+ {N_("/_Edit/_Quick search"), "slash", mainwindow_quicksearch, 0, NULL},
+ {N_("/_View"), NULL, NULL, 0, "<Branch>"},
+- {N_("/_View/Show or hi_de"), NULL, NULL, 0, "<Branch>"},
+- {N_("/_View/Show or hi_de/_Message view"),
+- "V", toggle_message_cb, 0, "<ToggleItem>"},
+- {N_("/_View/Show or hi_de/_Toolbar"),
+- NULL, NULL, 0, "<Branch>"},
+- {N_("/_View/Show or hi_de/_Toolbar/Text _below icons"),
+- NULL, toggle_toolbar_cb, TOOLBAR_BOTH, "<RadioItem>"},
+- {N_("/_View/Show or hi_de/_Toolbar/Text be_side icons"),
+- NULL, toggle_toolbar_cb, TOOLBAR_BOTH_HORIZ, "/View/Show or hide/Toolbar/Text below icons"},
+- {N_("/_View/Show or hi_de/_Toolbar/_Icons only"),
+- NULL, toggle_toolbar_cb, TOOLBAR_ICON, "/View/Show or hide/Toolbar/Text below icons"},
+- {N_("/_View/Show or hi_de/_Toolbar/_Text only"),
+- NULL, toggle_toolbar_cb, TOOLBAR_TEXT, "/View/Show or hide/Toolbar/Text below icons"},
+- {N_("/_View/Show or hi_de/_Toolbar/_Hide"),
+- NULL, toggle_toolbar_cb, TOOLBAR_NONE, "/View/Show or hide/Toolbar/Text below icons"},
+- {N_("/_View/Show or hi_de/Status _bar"),
+- NULL, toggle_statusbar_cb, 0, "<ToggleItem>"},
+ {N_("/_View/Set displayed _columns"), NULL, NULL, 0, "<Branch>"},
+ {N_("/_View/Set displayed _columns/in _Folder list..."), NULL, set_folder_display_item_cb, 0, NULL},
+ {N_("/_View/Set displayed _columns/in _Message list..."),NULL, set_summary_display_item_cb, 0, NULL},
+
+ {N_("/_View/---"), NULL, NULL, 0, "<Separator>"},
+- {N_("/_View/La_yout"), NULL, NULL, 0, "<Branch>"},
+- {N_("/_View/Layout/_Standard"), NULL, set_layout_cb, NORMAL_LAYOUT, "<RadioItem>"},
+- {N_("/_View/Layout/_Three columns"), NULL, set_layout_cb, VERTICAL_LAYOUT, "/View/Layout/Standard"},
+- {N_("/_View/Layout/_Wide message"), NULL, set_layout_cb, WIDE_LAYOUT, "/View/Layout/Standard"},
+- {N_("/_View/Layout/W_ide message list"),NULL, set_layout_cb, WIDE_MSGLIST_LAYOUT, "/View/Layout/Standard"},
+- {N_("/_View/Layout/S_mall screen"), NULL, set_layout_cb, SMALL_LAYOUT, "/View/Layout/Standard"},
+- {N_("/_View/---"), NULL, NULL, 0, "<Separator>"},
+ {N_("/_View/_Sort"), NULL, NULL, 0, "<Branch>"},
+- {N_("/_View/_Sort/by _number"), NULL, sort_summary_cb, SORT_BY_NUMBER, "<RadioItem>"},
+- {N_("/_View/_Sort/by S_ize"), NULL, sort_summary_cb, SORT_BY_SIZE, "/View/Sort/by number"},
+- {N_("/_View/_Sort/by _Date"), NULL, sort_summary_cb, SORT_BY_DATE, "/View/Sort/by number"},
+- {N_("/_View/_Sort/by _From"), NULL, sort_summary_cb, SORT_BY_FROM, "/View/Sort/by number"},
+- {N_("/_View/_Sort/by _To"), NULL, sort_summary_cb, SORT_BY_TO, "/View/Sort/by number"},
+- {N_("/_View/_Sort/by S_ubject"), NULL, sort_summary_cb, SORT_BY_SUBJECT, "/View/Sort/by number"},
+- {N_("/_View/_Sort/by _color label"),
+- NULL, sort_summary_cb, SORT_BY_LABEL, "/View/Sort/by number"},
+- {N_("/_View/_Sort/by _mark"), NULL, sort_summary_cb, SORT_BY_MARK, "/View/Sort/by number"},
+- {N_("/_View/_Sort/by _status"), NULL, sort_summary_cb, SORT_BY_STATUS, "/View/Sort/by number"},
+- {N_("/_View/_Sort/by a_ttachment"),
+- NULL, sort_summary_cb, SORT_BY_MIME, "/View/Sort/by number"},
+- {N_("/_View/_Sort/by score"), NULL, sort_summary_cb, SORT_BY_SCORE, "/View/Sort/by number"},
+- {N_("/_View/_Sort/by locked"), NULL, sort_summary_cb, SORT_BY_LOCKED, "/View/Sort/by number"},
+- {N_("/_View/_Sort/D_on't sort"), NULL, sort_summary_cb, SORT_BY_NONE, "/View/Sort/by number"},
++ {N_("/_View/_Sort/by _Date"), NULL, sort_summary_cb, SORT_BY_DATE, "<RadioItem>"},
++ {N_("/_View/_Sort/by _From"), NULL, sort_summary_cb, SORT_BY_FROM, "/View/Sort/by Date"},
++ {N_("/_View/_Sort/by _To"), NULL, sort_summary_cb, SORT_BY_TO, "/View/Sort/by Date"},
++ {N_("/_View/_Sort/by S_ubject"), NULL, sort_summary_cb, SORT_BY_SUBJECT, "/View/Sort/by Date"},
+ {N_("/_View/_Sort/---"), NULL, NULL, 0, "<Separator>"},
+ {N_("/_View/_Sort/Ascending"), NULL, sort_summary_type_cb, SORT_ASCENDING, "<RadioItem>"},
+ {N_("/_View/_Sort/Descending"), NULL, sort_summary_type_cb, SORT_DESCENDING, "/View/Sort/Ascending"},
+- {N_("/_View/_Sort/---"), NULL, NULL, 0, "<Separator>"},
+- {N_("/_View/_Sort/_Attract by subject"),
+- NULL, attract_by_subject_cb, 0, NULL},
+ {N_("/_View/Th_read view"), "<control>T", thread_cb, 0, "<ToggleItem>"},
+ {N_("/_View/E_xpand all threads"), NULL, expand_threads_cb, 0, NULL},
+ {N_("/_View/Co_llapse all threads"), NULL, collapse_threads_cb, 0, NULL},
+ {N_("/_View/_Hide read messages"), NULL, hide_read_messages, 0, "<ToggleItem>"},
+
+- {N_("/_View/---"), NULL, NULL, 0, "<Separator>"},
+- {N_("/_View/_Go to"), NULL, NULL, 0, "<Branch>"},
+- {N_("/_View/_Go to/_Previous message"), "P", prev_cb, 0, NULL},
+- {N_("/_View/_Go to/_Next message"), "N", next_cb, 0, NULL},
+- {N_("/_View/_Go to/---"), NULL, NULL, 0, "<Separator>"},
+- {N_("/_View/_Go to/P_revious unread message"),
+- "<shift>P", prev_unread_cb, 0, NULL},
+- {N_("/_View/_Go to/N_ext unread message"),
+- "<shift>N", next_unread_cb, 0, NULL},
+- {N_("/_View/_Go to/---"), NULL, NULL, 0, "<Separator>"},
+- {N_("/_View/_Go to/Previous ne_w message"), NULL, prev_new_cb, 0, NULL},
+- {N_("/_View/_Go to/Ne_xt new message"), NULL, next_new_cb, 0, NULL},
+- {N_("/_View/_Go to/---"), NULL, NULL, 0, "<Separator>"},
+- {N_("/_View/_Go to/Previous _marked message"),
+- NULL, prev_marked_cb, 0, NULL},
+- {N_("/_View/_Go to/Next m_arked message"),
+- NULL, next_marked_cb, 0, NULL},
+- {N_("/_View/_Go to/---"), NULL, NULL, 0, "<Separator>"},
+- {N_("/_View/_Go to/Previous _labeled message"),
+- NULL, prev_labeled_cb, 0, NULL},
+- {N_("/_View/_Go to/Next la_beled message"),
+- NULL, next_labeled_cb, 0, NULL},
+- {N_("/_View/_Go to/---"), NULL, NULL, 0, "<Separator>"},
+- {N_("/_View/_Go to/Last read message"),
+- NULL, last_read_cb, 0, NULL},
+- {N_("/_View/_Go to/Parent message"),
+- "<control>Up", parent_cb, 0, NULL},
+- {N_("/_View/_Go to/---"), NULL, NULL, 0, "<Separator>"},
+- {N_("/_View/_Go to/Next unread _folder"), "<shift>G", goto_unread_folder_cb, 0, NULL},
+- {N_("/_View/_Go to/_Other folder..."), "G", goto_folder_cb, 0, NULL},
+- {N_("/_View/---"), NULL, NULL, 0, "<Separator>"},
+-
+ #define ENC_SEPARATOR \
+ {N_("/_View/Character _encoding/---"), NULL, NULL, 0, "<Separator>"}
+ #define ENC_ACTION(action) \
+@@ -742,7 +669,6 @@
+ #undef DEC_ACTION
+
+ {N_("/_View/---"), NULL, NULL, 0, "<Separator>"},
+- {N_("/_View/Open in new _window"), "<control><alt>N", open_msg_cb, 0, NULL},
+ {N_("/_View/Mess_age source"), "<control>U", view_source_cb, 0, NULL},
+ {N_("/_View/All headers"), "<control>H", show_all_header_cb, 0, "<ToggleItem>"},
+ {N_("/_View/Quotes"), NULL, NULL, 0, "<Branch>"},
+@@ -1137,23 +1063,14 @@
+ gint i;
+ guint n_menu_entries;
+
+- static GdkGeometry geometry;
+-
+ debug_print("Creating main window...\n");
+ mainwin = g_new0(MainWindow, 1);
+
+ /* main window */
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "mainwindow");
+- gtk_window_set_title(GTK_WINDOW(window), PROG_VERSION);
++ gtk_window_set_title(GTK_WINDOW(window), _("Mail"));
+ gtk_window_set_resizable(GTK_WINDOW(window), TRUE);
+
+- if (!geometry.min_height) {
+- geometry.min_width = 320;
+- geometry.min_height = 200;
+- }
+- gtk_window_set_geometry_hints(GTK_WINDOW(window), NULL, &geometry,
+- GDK_HINT_MIN_SIZE);
+-
+ g_signal_connect(G_OBJECT(window), "delete_event",
+ G_CALLBACK(main_window_close_cb), mainwin);
+ MANAGE_WINDOW_SIGNALS_CONNECT(window);
+@@ -1184,21 +1101,9 @@
+ /* gtk_widget_show(gtk_item_factory_get_item(ifactory,"/Message/Mailing-List"));
+ main_create_mailing_list_menu (mainwin, NULL); */
+
+- menu_set_sensitive(ifactory, "/Help/Manual", manual_available(MANUAL_MANUAL_LOCAL));
+-
+- if (prefs_common.toolbar_detachable) {
+- handlebox = gtk_handle_box_new();
+- gtk_widget_show(handlebox);
+- gtk_box_pack_start(GTK_BOX(vbox), handlebox, FALSE, FALSE, 0);
+- g_signal_connect(G_OBJECT(handlebox), "child_attached",
+- G_CALLBACK(toolbar_child_attached), mainwin);
+- g_signal_connect(G_OBJECT(handlebox), "child_detached",
+- G_CALLBACK(toolbar_child_detached), mainwin);
+- } else {
+- handlebox = gtk_hbox_new(FALSE, 0);
+- gtk_widget_show(handlebox);
+- gtk_box_pack_start(GTK_BOX(vbox), handlebox, FALSE, FALSE, 0);
+- }
++ handlebox = gtk_hbox_new(FALSE, 0);
++ gtk_widget_show(handlebox);
++ gtk_box_pack_start(GTK_BOX(vbox), handlebox, FALSE, FALSE, 0);
+ /* link window to mainwin->window to avoid gdk warnings */
+ mainwin->window = window;
+
+@@ -1405,36 +1310,6 @@
+ (ifactory, "/View/Character encoding/Auto detect");
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), TRUE);
+
+- switch (prefs_common.toolbar_style) {
+- case TOOLBAR_NONE:
+- menuitem = gtk_item_factory_get_item
+- (ifactory, "/View/Show or hide/Toolbar/Hide");
+- break;
+- case TOOLBAR_ICON:
+- menuitem = gtk_item_factory_get_item
+- (ifactory, "/View/Show or hide/Toolbar/Icons only");
+- break;
+- case TOOLBAR_TEXT:
+- menuitem = gtk_item_factory_get_item
+- (ifactory, "/View/Show or hide/Toolbar/Text only");
+- break;
+- case TOOLBAR_BOTH:
+- menuitem = gtk_item_factory_get_item
+- (ifactory, "/View/Show or hide/Toolbar/Text below icons");
+- break;
+- case TOOLBAR_BOTH_HORIZ:
+- menuitem = gtk_item_factory_get_item
+- (ifactory,
+- "/View/Show or hide/Toolbar/Text beside icons");
+- }
+- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), TRUE);
+-
+- gtk_widget_hide(mainwin->hbox_stat);
+- menuitem = gtk_item_factory_get_item
+- (ifactory, "/View/Show or hide/Status bar");
+- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem),
+- prefs_common.show_statusbar);
+-
+ /* set account selection menu */
+ ac_menu = gtk_item_factory_get_widget
+ (ifactory, "/Configuration/Change current account");
+@@ -2284,16 +2159,6 @@
+ {"/View/Expand all threads" , M_MSG_EXIST},
+ {"/View/Collapse all threads" , M_MSG_EXIST},
+ {"/View/Hide read messages" , M_HIDE_READ_MSG},
+- {"/View/Go to/Previous message" , M_MSG_EXIST},
+- {"/View/Go to/Next message" , M_MSG_EXIST},
+- {"/View/Go to/Previous unread message" , M_MSG_EXIST},
+- {"/View/Go to/Previous new message" , M_MSG_EXIST},
+- {"/View/Go to/Previous marked message" , M_MSG_EXIST},
+- {"/View/Go to/Previous labeled message", M_MSG_EXIST},
+- {"/View/Go to/Next labeled message", M_MSG_EXIST},
+- {"/View/Go to/Last read message" , M_SINGLE_TARGET_EXIST},
+- {"/View/Go to/Parent message" , M_SINGLE_TARGET_EXIST},
+- {"/View/Open in new window" , M_SINGLE_TARGET_EXIST},
+ {"/View/Message source" , M_SINGLE_TARGET_EXIST},
+ {"/View/All headers" , M_SINGLE_TARGET_EXIST},
+ {"/View/Quotes" , M_SINGLE_TARGET_EXIST},
+@@ -2379,40 +2244,20 @@
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), active); \
+ }
+
+- SET_CHECK_MENU_ACTIVE("/View/Show or hide/Message view",
+- messageview_is_visible(mainwin->messageview));
+-
+ summaryview = mainwin->summaryview;
+- menu_path = "/View/Sort/Don't sort";
++ menu_path = "/View/Sort/by Date";
+
+ switch (summaryview->sort_key) {
+- case SORT_BY_NUMBER:
+- menu_path = "/View/Sort/by number"; break;
+- case SORT_BY_SIZE:
+- menu_path = "/View/Sort/by Size"; break;
+- case SORT_BY_DATE:
+- menu_path = "/View/Sort/by Date"; break;
+ case SORT_BY_FROM:
+ menu_path = "/View/Sort/by From"; break;
+ case SORT_BY_TO:
+ menu_path = "/View/Sort/by To"; break;
+ case SORT_BY_SUBJECT:
+ menu_path = "/View/Sort/by Subject"; break;
+- case SORT_BY_LABEL:
+- menu_path = "/View/Sort/by color label"; break;
+- case SORT_BY_MARK:
+- menu_path = "/View/Sort/by mark"; break;
+- case SORT_BY_STATUS:
+- menu_path = "/View/Sort/by status"; break;
+- case SORT_BY_MIME:
+- menu_path = "/View/Sort/by attachment"; break;
+- case SORT_BY_SCORE:
+- menu_path = "/View/Sort/by score"; break;
+- case SORT_BY_LOCKED:
+- menu_path = "/View/Sort/by locked"; break;
+ case SORT_BY_NONE:
++ case SORT_BY_DATE:
+ default:
+- menu_path = "/View/Sort/Don't sort"; break;
++ menu_path = "/View/Sort/by Date"; break;
+ }
+ SET_CHECK_MENU_ACTIVE(menu_path, TRUE);
+
+@@ -2735,8 +2580,6 @@
+ gtk_widget_destroy(mainwin->hpaned);
+ }
+
+- menu_set_sensitive(ifactory, "/View/Show or hide/Message view",
+- (layout_mode != WIDE_MSGLIST_LAYOUT && layout_mode != SMALL_LAYOUT));
+ switch (layout_mode) {
+ case VERTICAL_LAYOUT:
+ case NORMAL_LAYOUT:
+@@ -2877,37 +2720,6 @@
+
+ prefs_common.layout_mode = layout_mode;
+
+- menuitem = gtk_item_factory_get_item
+- (ifactory, "/View/Show or hide/Message view");
+- gtk_check_menu_item_set_active
+- (GTK_CHECK_MENU_ITEM(menuitem),
+- messageview_is_visible(mainwin->messageview));
+-
+-#define SET_CHECK_MENU_ACTIVE(path, active) \
+-{ \
+- menuitem = gtk_item_factory_get_widget(ifactory, path); \
+- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), active); \
+-}
+-
+- switch (prefs_common.layout_mode) {
+- case NORMAL_LAYOUT:
+- SET_CHECK_MENU_ACTIVE("/View/Layout/Standard", TRUE);
+- break;
+- case VERTICAL_LAYOUT:
+- SET_CHECK_MENU_ACTIVE("/View/Layout/Three columns", TRUE);
+- break;
+- case WIDE_LAYOUT:
+- SET_CHECK_MENU_ACTIVE("/View/Layout/Wide message", TRUE);
+- break;
+- case WIDE_MSGLIST_LAYOUT:
+- SET_CHECK_MENU_ACTIVE("/View/Layout/Wide message list", TRUE);
+- break;
+- case SMALL_LAYOUT:
+- SET_CHECK_MENU_ACTIVE("/View/Layout/Small screen", TRUE);
+- break;
+- }
+-#undef SET_CHECK_MENU_ACTIVE
+-
+ if (folderwin) {
+ g_signal_connect
+ (G_OBJECT(folderwin), "size_allocate",
+@@ -3116,12 +2928,6 @@
+ summary_toggle_view(mainwin->summaryview);
+ }
+
+-static void toggle_toolbar_cb(MainWindow *mainwin, guint action,
+- GtkWidget *widget)
+-{
+- toolbar_toggle(action, mainwin);
+-}
+-
+ static void main_window_reply_cb(MainWindow *mainwin, guint action,
+ GtkWidget *widget)
+ {
+Index: claws-mail-2.9.1/src/prefs_common.c
+===================================================================
+--- claws-mail-2.9.1.orig/src/prefs_common.c 2007-04-25 07:40:10.000000000 +0100
++++ claws-mail-2.9.1/src/prefs_common.c 2007-04-25 07:42:17.000000000 +0100
+@@ -262,7 +262,7 @@
+ {"default_reply_list", "TRUE", &prefs_common.default_reply_list, P_BOOL,
+ NULL, NULL, NULL},
+
+-#ifndef MAEMO
++#if 0
+ {"show_ruler", "TRUE", &prefs_common.show_ruler, P_BOOL,
+ NULL, NULL, NULL},
+ #else
+@@ -300,7 +300,7 @@
+ &prefs_common.normalfont_gtk1, P_STRING, NULL, NULL, NULL},
+
+ /* new fonts */
+-#ifndef MAEMO
++#if 0
+ {"widget_font_gtk2", NULL,
+ &SPECIFIC_PREFS.widgetfont, P_STRING, NULL, NULL, NULL},
+ {"message_font_gtk2", "Monospace 9",
+@@ -416,7 +416,7 @@
+
+ {"enable_thread", "TRUE", &prefs_common.enable_thread, P_BOOL,
+ NULL, NULL, NULL},
+-#ifndef MAEMO
++#if 0
+ {"toolbar_style", "3", &prefs_common.toolbar_style, P_ENUM,
+ NULL, NULL, NULL},
+ #else
+@@ -544,7 +544,7 @@
+ {"folder_col_pos_total", "3",
+ &prefs_common.folder_col_pos[F_COL_TOTAL], P_INT, NULL, NULL, NULL},
+
+-#ifndef MAEMO
++#if 0
+ {"folder_col_size_folder", "120",
+ &prefs_common.folder_col_size[F_COL_FOLDER], P_INT, NULL, NULL, NULL},
+ {"folder_col_size_new", "32",
+@@ -702,7 +702,7 @@
+ &SPECIFIC_PREFS.mime_open_cmd, P_STRING, NULL, NULL, NULL},
+
+ /* Interface */
+-#ifndef MAEMO
++#if 0
+ {"layout_mode", "0", &prefs_common.layout_mode, P_INT,
+ NULL, NULL, NULL},
+ #else
+Index: claws-mail-2.9.1/src/toolbar.c
+===================================================================
+--- claws-mail-2.9.1.orig/src/toolbar.c 2007-04-25 07:40:10.000000000 +0100
++++ claws-mail-2.9.1/src/toolbar.c 2007-04-25 07:42:17.000000000 +0100
+@@ -841,26 +841,17 @@
+ gtk_widget_hide(handlebox_wid);
+ break;
+ case TOOLBAR_ICON:
+- gtk_toolbar_set_style(GTK_TOOLBAR(toolbar_wid),
+- GTK_TOOLBAR_ICONS);
+- break;
+ case TOOLBAR_TEXT:
+- gtk_toolbar_set_style(GTK_TOOLBAR(toolbar_wid),
+- GTK_TOOLBAR_TEXT);
+- break;
+ case TOOLBAR_BOTH:
+- gtk_toolbar_set_style(GTK_TOOLBAR(toolbar_wid),
+- GTK_TOOLBAR_BOTH);
+- break;
+ case TOOLBAR_BOTH_HORIZ:
+ gtk_toolbar_set_style(GTK_TOOLBAR(toolbar_wid),
+- GTK_TOOLBAR_BOTH_HORIZ);
++ GTK_TOOLBAR_ICONS);
+ break;
+ default:
+ return;
+ }
+
+- prefs_common.toolbar_style = (ToolbarStyle)action;
++ prefs_common.toolbar_style = (ToolbarStyle)TOOLBAR_ICON;
+ gtk_widget_set_size_request(handlebox_wid, 1, -1);
+
+ if (prefs_common.toolbar_style != TOOLBAR_NONE) {
+@@ -1594,7 +1585,7 @@
+ gtk_container_add(GTK_CONTAINER(container), toolbar);
+ gtk_container_set_border_width(GTK_CONTAINER(container), 2);
+ gtk_toolbar_set_orientation(GTK_TOOLBAR(toolbar), GTK_ORIENTATION_HORIZONTAL);
+- gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_BOTH);
++ gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS);
+
+ for (cur = toolbar_list; cur != NULL; cur = cur->next) {
+
+Index: claws-mail-2.9.1/src/gtk/prefswindow.c
+===================================================================
+--- claws-mail-2.9.1.orig/src/gtk/prefswindow.c 2007-04-25 07:40:10.000000000 +0100
++++ claws-mail-2.9.1/src/gtk/prefswindow.c 2007-04-25 10:30:15.000000000 +0100
+@@ -343,6 +343,10 @@
+ gint x = gdk_screen_width();
+ gint y = gdk_screen_height();
+ static GdkGeometry geometry;
++ gint col_count = g_slist_length (prefs_pages);
++
++ if (col_count > 1)
++ col_count = 2;
+
+ prefswindow = g_new0(PrefsWindow, 1);
+
+@@ -360,39 +364,52 @@
+ gtk_window_set_resizable (GTK_WINDOW(prefswindow->window), TRUE);
+ gtk_container_set_border_width(GTK_CONTAINER(prefswindow->window), 4);
+
+- prefswindow->table1 = gtk_table_new(2, 2, FALSE);
++ prefswindow->table1 = gtk_table_new(col_count, col_count, FALSE);
+ gtk_widget_show(prefswindow->table1);
+ gtk_container_add(GTK_CONTAINER(prefswindow->window), prefswindow->table1);
+
+- prefswindow->scrolledwindow1 = gtk_scrolled_window_new(NULL, NULL);
+- gtk_widget_show(prefswindow->scrolledwindow1);
+- gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(prefswindow->scrolledwindow1), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
+- gtk_table_attach(GTK_TABLE(prefswindow->table1), prefswindow->scrolledwindow1, 0, 1, 0, 1, GTK_FILL, GTK_FILL | GTK_EXPAND, 2, 2);
+-
+- prefswindow->tree_view = prefswindow_tree_view_create(prefswindow);
+- gtk_widget_show(prefswindow->tree_view);
+- gtk_container_add(GTK_CONTAINER(prefswindow->scrolledwindow1),
+- prefswindow->tree_view);
+-
+- prefswindow->frame = gtk_frame_new(NULL);
+- gtk_widget_show(prefswindow->frame);
+- gtk_frame_set_shadow_type(GTK_FRAME(prefswindow->frame), GTK_SHADOW_IN);
+- gtk_table_attach(GTK_TABLE(prefswindow->table1), prefswindow->frame, 1, 2, 0, 1, GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, 2, 2);
+-
+- prefswindow->table2 = gtk_table_new(1, 2, FALSE);
+- gtk_widget_show(prefswindow->table2);
+- gtk_container_add(GTK_CONTAINER(prefswindow->frame), prefswindow->table2);
+-
+- prefswindow->labelframe = gtk_frame_new(NULL);
+- gtk_widget_show(prefswindow->labelframe);
+- gtk_frame_set_shadow_type(GTK_FRAME(prefswindow->labelframe), GTK_SHADOW_OUT);
+- gtk_table_attach(GTK_TABLE(prefswindow->table2), prefswindow->labelframe, 0, 1, 0, 1, GTK_FILL | GTK_EXPAND, GTK_FILL, 1, 1);
+-
+- prefswindow->pagelabel = gtk_label_new("");
+- gtk_widget_show(prefswindow->pagelabel);
+- gtk_label_set_justify(GTK_LABEL(prefswindow->pagelabel), GTK_JUSTIFY_LEFT);
+- gtk_misc_set_alignment(GTK_MISC(prefswindow->pagelabel), 0, 0.0);
+- gtk_container_add(GTK_CONTAINER(prefswindow->labelframe), prefswindow->pagelabel);
++ if (col_count > 1)
++ {
++ prefswindow->scrolledwindow1 = gtk_scrolled_window_new(NULL, NULL);
++ gtk_widget_show(prefswindow->scrolledwindow1);
++ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(prefswindow->scrolledwindow1), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
++ gtk_table_attach(GTK_TABLE(prefswindow->table1), prefswindow->scrolledwindow1, 0, 1, 0, 1, GTK_FILL, GTK_FILL | GTK_EXPAND, 2, 2);
++
++ prefswindow->tree_view = prefswindow_tree_view_create(prefswindow);
++ gtk_widget_show(prefswindow->tree_view);
++ gtk_container_add(GTK_CONTAINER(prefswindow->scrolledwindow1),
++ prefswindow->tree_view);
++
++ prefswindow->frame = gtk_frame_new(NULL);
++ gtk_widget_show(prefswindow->frame);
++ gtk_frame_set_shadow_type(GTK_FRAME(prefswindow->frame), GTK_SHADOW_IN);
++ gtk_table_attach(GTK_TABLE(prefswindow->table1), prefswindow->frame, col_count - 1, col_count, 0, 1, GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, 2, 2);
++
++ prefswindow->table2 = gtk_table_new(1, 2, FALSE);
++ gtk_widget_show(prefswindow->table2);
++ gtk_container_add(GTK_CONTAINER(prefswindow->frame), prefswindow->table2);
++ }
++ else
++ {
++ prefswindow->table2 = gtk_table_new(1, 2, FALSE);
++ gtk_widget_show(prefswindow->table2);
++ gtk_table_attach(GTK_TABLE(prefswindow->table1), prefswindow->table2, 0, 1, 0, 1, GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, 2, 2);
++ }
++
++
++ if (col_count > 1)
++ {
++ prefswindow->labelframe = gtk_frame_new(NULL);
++ gtk_widget_show(prefswindow->labelframe);
++ gtk_frame_set_shadow_type(GTK_FRAME(prefswindow->labelframe), GTK_SHADOW_OUT);
++ gtk_table_attach(GTK_TABLE(prefswindow->table2), prefswindow->labelframe, 0, 1, 0, 1, GTK_FILL | GTK_EXPAND, GTK_FILL, 1, 1);
++
++ prefswindow->pagelabel = gtk_label_new("");
++ gtk_widget_show(prefswindow->pagelabel);
++ gtk_label_set_justify(GTK_LABEL(prefswindow->pagelabel), GTK_JUSTIFY_LEFT);
++ gtk_misc_set_alignment(GTK_MISC(prefswindow->pagelabel), 0, 0.0);
++ gtk_container_add(GTK_CONTAINER(prefswindow->labelframe), prefswindow->pagelabel);
++ }
+
+ prefswindow->scrolledwindow2 = gtk_scrolled_window_new(NULL, NULL);
+ gtk_widget_show(prefswindow->scrolledwindow2);
+@@ -411,9 +428,38 @@
+ gtk_widget_show(prefswindow->empty_page);
+ gtk_container_add(GTK_CONTAINER(prefswindow->notebook), prefswindow->empty_page);
+
+- prefswindow_build_tree(prefswindow->tree_view, prefs_pages);
++ if (col_count > 1)
++ {
++ prefswindow_build_tree(prefswindow->tree_view, prefs_pages);
++
++ gtk_widget_grab_focus(prefswindow->tree_view);
++ }
++ else
++ {
++ PrefsPage * page = prefs_pages->data;
++ gint pagenum;
++ GtkAdjustment *adj;
++
++ if (!page->page_open)
++ {
++ page->create_widget(page,
++ GTK_WINDOW(prefswindow->window),
++ prefswindow->data);
++ gtk_container_add(GTK_CONTAINER(prefswindow->notebook),
++ page->widget);
++ page->page_open = TRUE;
++ }
++
++ pagenum = gtk_notebook_page_num(GTK_NOTEBOOK(prefswindow->notebook),
++ page->widget);
++ gtk_notebook_set_current_page(GTK_NOTEBOOK(prefswindow->notebook),
++ pagenum);
+
+- gtk_widget_grab_focus(prefswindow->tree_view);
++ adj = gtk_scrolled_window_get_vadjustment(
++ GTK_SCROLLED_WINDOW(prefswindow->scrolledwindow2));
++ gtk_adjustment_set_value(adj, 0);
++
++ }
+
+ gtkut_stock_button_set_create(&prefswindow->confirm_area,
+ &prefswindow->apply_btn, GTK_STOCK_APPLY,
+@@ -440,28 +486,6 @@
+ G_CALLBACK(prefswindow_key_pressed), &(prefswindow->window));
+ #endif
+
+- /* connect to callback only if we hhave non-NULL pointers to store size to */
+- if (prefswindow->save_width && prefswindow->save_height) {
+- g_signal_connect(G_OBJECT(prefswindow->window), "size_allocate",
+- G_CALLBACK(prefs_size_allocate_cb), prefswindow);
+- }
+-
+- if (!geometry.min_height) {
+-
+- if (x < 800 && y < 600) {
+- geometry.min_width = 600;
+- geometry.min_height = 440;
+- } else {
+- geometry.min_width = 700;
+- geometry.min_height = 550;
+- }
+- }
+- gtk_window_set_geometry_hints(GTK_WINDOW(prefswindow->window), NULL, &geometry,
+- GDK_HINT_MIN_SIZE);
+- if (prefswindow->save_width && prefswindow->save_height) {
+- gtk_widget_set_size_request(prefswindow->window, *(prefswindow->save_width),
+- *(prefswindow->save_height));
+- }
+
+ gtk_widget_show(prefswindow->window);
+ #ifdef MAEMO
+Index: claws-mail-2.9.1/src/compose.c
+===================================================================
+--- claws-mail-2.9.1.orig/src/compose.c 2007-04-25 07:40:10.000000000 +0100
++++ claws-mail-2.9.1/src/compose.c 2007-04-25 10:18:13.000000000 +0100
+@@ -352,9 +352,6 @@
+
+ /* callback functions */
+
+-static gboolean compose_edit_size_alloc (GtkEditable *widget,
+- GtkAllocation *allocation,
+- GtkSHRuler *shruler);
+ static void account_activated (GtkComboBox *optmenu,
+ gpointer data);
+ static void attach_selected (GtkTreeView *tree_view,
+@@ -439,9 +436,6 @@
+ guint action,
+ GtkWidget *widget);
+
+-static void compose_toggle_ruler_cb (gpointer data,
+- guint action,
+- GtkWidget *widget);
+ static void compose_toggle_sign_cb (gpointer data,
+ guint action,
+ GtkWidget *widget);
+@@ -788,7 +782,6 @@
+ ENC_ACTION(C_WINDOWS_874)},
+
+ {N_("/_Tools"), NULL, NULL, 0, "<Branch>"},
+- {N_("/_Tools/Show _ruler"), NULL, compose_toggle_ruler_cb, 0, "<ToggleItem>"},
+ {N_("/_Tools/_Address book"), "<shift><control>A", compose_address_cb , 0, NULL},
+ {N_("/_Tools/_Template"), NULL, NULL, 0, "<Branch>"},
+ {N_("/_Tools/Actio_ns"), NULL, NULL, 0, "<Branch>"},
+@@ -2067,7 +2060,6 @@
+ menu_set_sensitive(ifactory, "/Message/Insert signature", FALSE);
+ menu_set_sensitive(ifactory, "/Edit", FALSE);
+ menu_set_sensitive(ifactory, "/Options", FALSE);
+- menu_set_sensitive(ifactory, "/Tools/Show ruler", FALSE);
+ menu_set_sensitive(ifactory, "/Tools/Actions", FALSE);
+
+ if (compose->toolbar->draft_btn)
+@@ -5684,7 +5676,7 @@
+ g_signal_connect(G_OBJECT(GTK_COMBO(combo)->entry), "grab_focus",
+ G_CALLBACK(compose_grab_focus_cb), compose);
+ gtk_widget_show(combo);
+- gtk_table_attach(GTK_TABLE(compose->header_table), combo, 0, 1, compose->header_nextrow, compose->header_nextrow+1, GTK_SHRINK, GTK_FILL, 0, 0);
++ gtk_table_attach(GTK_TABLE(compose->header_table), combo, 0, 1, compose->header_nextrow, compose->header_nextrow+1, GTK_FILL, GTK_FILL, 0, 0);
+ if (compose->header_last) {
+ const gchar *last_header_entry = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(compose->header_last->combo)->entry));
+ string = headers;
+@@ -5778,7 +5770,7 @@
+
+ static GtkWidget *compose_create_header(Compose *compose)
+ {
+- GtkWidget *from_optmenu_hbox;
++ GtkWidget *from_optmenu;
+ GtkWidget *header_scrolledwin;
+ GtkWidget *header_table;
+
+@@ -5788,18 +5780,20 @@
+ header_scrolledwin = gtk_scrolled_window_new(NULL, NULL);
+ gtk_widget_show(header_scrolledwin);
+ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(header_scrolledwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
+-
+ header_table = gtk_table_new(2, 2, FALSE);
++ gtk_table_set_col_spacings (GTK_TABLE (header_table), BORDER_WIDTH);
+ gtk_widget_show(header_table);
+ gtk_container_set_border_width(GTK_CONTAINER(header_table), BORDER_WIDTH);
+ gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(header_scrolledwin), header_table);
+- gtk_viewport_set_shadow_type(GTK_VIEWPORT(GTK_BIN(header_scrolledwin)->child), GTK_SHADOW_ETCHED_IN);
++ gtk_viewport_set_shadow_type(GTK_VIEWPORT(GTK_BIN(header_scrolledwin)->child), GTK_SHADOW_NONE);
+ count = 0;
+
+ /* option menu for selecting accounts */
+- from_optmenu_hbox = compose_account_option_menu_create(compose);
+- gtk_table_attach(GTK_TABLE(header_table), from_optmenu_hbox,
+- 0, 2, count, count + 1, GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0);
++ from_optmenu = compose_account_option_menu_create(compose);
++ gtk_table_attach(GTK_TABLE(header_table), from_optmenu,
++ 0, 1, count, count + 1, GTK_FILL, GTK_FILL, 0, 0);
++ gtk_table_attach(GTK_TABLE(header_table), compose->from_name,
++ 1, 2, count, count + 1, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
+ count++;
+
+ compose->header_table = header_table;
+@@ -6140,15 +6134,12 @@
+ GtkWidget *vbox2;
+
+ GtkWidget *label;
+- GtkWidget *subject_hbox;
+- GtkWidget *subject_frame;
++ GtkWidget *edit_frame;
+ GtkWidget *subject_entry;
+ GtkWidget *subject;
+ GtkWidget *paned;
+
+ GtkWidget *edit_vbox;
+- GtkWidget *ruler_hbox;
+- GtkWidget *ruler;
+ GtkWidget *scrolledwin;
+ GtkWidget *text;
+ GtkTextBuffer *buffer;
+@@ -6169,8 +6160,6 @@
+ GtkAspell * gtkaspell = NULL;
+ #endif
+
+- static GdkGeometry geometry;
+-
+ g_return_val_if_fail(account != NULL, NULL);
+
+ debug_print("Creating compose window...\n");
+@@ -6190,28 +6179,6 @@
+
+ window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "compose");
+
+- gtk_window_set_resizable(GTK_WINDOW(window), TRUE);
+- gtk_widget_set_size_request(window, -1, prefs_common.compose_height);
+-
+- if (!geometry.max_width) {
+- geometry.max_width = gdk_screen_width();
+- geometry.max_height = gdk_screen_height();
+- }
+-
+- gtk_window_set_geometry_hints(GTK_WINDOW(window), NULL,
+- &geometry, GDK_HINT_MAX_SIZE);
+- if (!geometry.min_width) {
+- geometry.min_width = 600;
+- geometry.min_height = 480;
+- }
+- gtk_window_set_geometry_hints(GTK_WINDOW(window), NULL,
+- &geometry, GDK_HINT_MIN_SIZE);
+-
+-#ifndef MAEMO
+- if (compose_force_window_origin)
+- gtk_widget_set_uposition(window, prefs_common.compose_x,
+- prefs_common.compose_y);
+-#endif
+ g_signal_connect(G_OBJECT(window), "delete_event",
+ G_CALLBACK(compose_delete_cb), compose);
+ MANAGE_WINDOW_SIGNALS_CONNECT(window);
+@@ -6227,11 +6194,7 @@
+ n_menu_entries, "<Compose>", compose);
+ gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, TRUE, 0);
+
+- if (prefs_common.toolbar_detachable) {
+- handlebox = gtk_handle_box_new();
+- } else {
+- handlebox = gtk_hbox_new(FALSE, 0);
+- }
++ handlebox = gtk_hbox_new(FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), handlebox, FALSE, FALSE, 0);
+
+ gtk_widget_realize(handlebox);
+@@ -6244,7 +6207,6 @@
+
+ /* Notebook */
+ notebook = gtk_notebook_new();
+- gtk_widget_set_size_request(notebook, -1, 130);
+ gtk_widget_show(notebook);
+
+ /* header labels and entries */
+@@ -6258,18 +6220,10 @@
+ /* Others Tab */
+ gtk_notebook_append_page(GTK_NOTEBOOK(notebook),
+ compose_create_others(compose),
+- gtk_label_new_with_mnemonic(_("Othe_rs")));
++ gtk_label_new_with_mnemonic(_("Othe_r")));
+
+ /* Subject */
+- subject_hbox = gtk_hbox_new(FALSE, 0);
+- gtk_widget_show(subject_hbox);
+-
+- subject_frame = gtk_frame_new(NULL);
+- gtk_frame_set_shadow_type(GTK_FRAME(subject_frame), GTK_SHADOW_NONE);
+- gtk_box_pack_start(GTK_BOX(subject_hbox), subject_frame, TRUE, TRUE, 0);
+- gtk_widget_show(subject_frame);
+-
+- subject = gtk_hbox_new(FALSE, HSPACING_NARROW);
++ subject = gtk_hbox_new(FALSE, BORDER_WIDTH);
+ gtk_container_set_border_width(GTK_CONTAINER(subject), 0);
+ gtk_widget_show(subject);
+
+@@ -6283,20 +6237,16 @@
+ G_CALLBACK(compose_grab_focus_cb), compose);
+ gtk_widget_show(subject_entry);
+ compose->subject_entry = subject_entry;
+- gtk_container_add(GTK_CONTAINER(subject_frame), subject);
+
+- edit_vbox = gtk_vbox_new(FALSE, 0);
++ edit_vbox = gtk_vbox_new(FALSE, BORDER_WIDTH);
++ gtk_container_set_border_width(GTK_CONTAINER(edit_vbox), BORDER_WIDTH);
+
+- gtk_box_pack_start(GTK_BOX(edit_vbox), subject_hbox, FALSE, FALSE, 0);
++ gtk_box_pack_start(GTK_BOX(edit_vbox), subject, FALSE, FALSE, 0);
+
+- /* ruler */
+- ruler_hbox = gtk_hbox_new(FALSE, 0);
+- gtk_box_pack_start(GTK_BOX(edit_vbox), ruler_hbox, FALSE, FALSE, 0);
+-
+- ruler = gtk_shruler_new();
+- gtk_ruler_set_range(GTK_RULER(ruler), 0.0, 100.0, 1.0, 100.0);
+- gtk_box_pack_start(GTK_BOX(ruler_hbox), ruler, TRUE, TRUE,
+- BORDER_WIDTH);
++ edit_frame = gtk_frame_new(NULL);
++ gtk_frame_set_shadow_type(GTK_FRAME(edit_frame), GTK_SHADOW_IN);
++ gtk_widget_show(edit_frame);
++ gtk_container_add(GTK_CONTAINER(edit_frame), edit_vbox);
+
+ /* text widget */
+ scrolledwin = gtk_scrolled_window_new(NULL, NULL);
+@@ -6317,9 +6267,6 @@
+
+ gtk_container_add(GTK_CONTAINER(scrolledwin), text);
+
+- g_signal_connect_after(G_OBJECT(text), "size_allocate",
+- G_CALLBACK(compose_edit_size_alloc),
+- ruler);
+ g_signal_connect(G_OBJECT(buffer), "changed",
+ G_CALLBACK(compose_changed_cb), compose);
+ g_signal_connect(G_OBJECT(text), "grab_focus",
+@@ -6363,7 +6310,7 @@
+ gtk_widget_set_size_request(edit_vbox, -1, mode == COMPOSE_NEW ? 250 : 230);
+ #endif
+ gtk_paned_add1(GTK_PANED(paned), notebook);
+- gtk_paned_add2(GTK_PANED(paned), edit_vbox);
++ gtk_paned_add2(GTK_PANED(paned), edit_frame);
+ gtk_widget_show_all(paned);
+
+
+@@ -6408,8 +6355,6 @@
+
+ compose->notebook = notebook;
+ compose->edit_vbox = edit_vbox;
+- compose->ruler_hbox = ruler_hbox;
+- compose->ruler = ruler;
+ compose->scrolledwin = scrolledwin;
+ compose->text = text;
+
+@@ -6531,13 +6476,6 @@
+
+ compose_list = g_list_append(compose_list, compose);
+
+- if (!prefs_common.show_ruler)
+- gtk_widget_hide(ruler_hbox);
+-
+- menuitem = gtk_item_factory_get_item(ifactory, "/Tools/Show ruler");
+- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem),
+- prefs_common.show_ruler);
+-
+ /* Priority */
+ compose->priority = PRIORITY_NORMAL;
+ compose_update_priority_menu_item(compose);
+@@ -6568,7 +6506,6 @@
+ static GtkWidget *compose_account_option_menu_create(Compose *compose)
+ {
+ GList *accounts;
+- GtkWidget *hbox;
+ GtkWidget *optmenu;
+ GtkWidget *optmenubox;
+ GtkListStore *menu;
+@@ -6584,7 +6521,6 @@
+ optmenu = gtkut_sc_combobox_create(optmenubox, FALSE);
+ menu = GTK_LIST_STORE(gtk_combo_box_get_model(GTK_COMBO_BOX(optmenu)));
+
+- hbox = gtk_hbox_new(FALSE, 6);
+ from_name = gtk_entry_new();
+
+ g_signal_connect_after(G_OBJECT(from_name), "grab_focus",
+@@ -6623,9 +6559,6 @@
+ G_CALLBACK(account_activated),
+ compose);
+
+- gtk_box_pack_start(GTK_BOX(hbox), optmenubox, FALSE, FALSE, 0);
+- gtk_box_pack_start(GTK_BOX(hbox), from_name, TRUE, TRUE, 0);
+-
+ gtk_tooltips_set_tip(compose->tooltips, optmenubox,
+ _("Account to use for this email"), NULL);
+ gtk_tooltips_set_tip(compose->tooltips, from_name,
+@@ -6633,7 +6566,7 @@
+
+ compose->from_name = from_name;
+
+- return hbox;
++ return optmenubox;
+ }
+
+ static void compose_set_priority_cb(gpointer data,
+@@ -7851,32 +7784,6 @@
+
+ /* callback functions */
+
+-/* compose_edit_size_alloc() - called when resized. don't know whether Gtk
+- * includes "non-client" (windows-izm) in calculation, so this calculation
+- * may not be accurate.
+- */
+-static gboolean compose_edit_size_alloc(GtkEditable *widget,
+- GtkAllocation *allocation,
+- GtkSHRuler *shruler)
+-{
+- if (prefs_common.show_ruler) {
+- gint char_width = 0, char_height = 0;
+- gint line_width_in_chars;
+-
+- gtkut_get_font_size(GTK_WIDGET(widget),
+- &char_width, &char_height);
+- line_width_in_chars =
+- (allocation->width - allocation->x) / char_width;
+-
+- /* got the maximum */
+- gtk_ruler_set_range(GTK_RULER(shruler),
+- 0.0, line_width_in_chars, 0,
+- /*line_width_in_chars*/ char_width);
+- }
+-
+- return TRUE;
+-}
+-
+ static void account_activated(GtkComboBox *optmenu, gpointer data)
+ {
+ Compose *compose = (Compose *)data;
+@@ -9040,21 +8947,6 @@
+ compose_update_privacy_system_menu_item(compose, warn);
+ }
+
+-static void compose_toggle_ruler_cb(gpointer data, guint action,
+- GtkWidget *widget)
+-{
+- Compose *compose = (Compose *)data;
+-
+- if (GTK_CHECK_MENU_ITEM(widget)->active) {
+- gtk_widget_show(compose->ruler_hbox);
+- prefs_common.show_ruler = TRUE;
+- } else {
+- gtk_widget_hide(compose->ruler_hbox);
+- gtk_widget_queue_resize(compose->edit_vbox);
+- prefs_common.show_ruler = FALSE;
+- }
+-}
+-
+ static void compose_attach_drag_received_cb (GtkWidget *widget,
+ GdkDragContext *context,
+ gint x,
+Index: claws-mail-2.9.1/src/folderview.c
+===================================================================
+--- claws-mail-2.9.1.orig/src/folderview.c 2007-04-03 19:10:25.000000000 +0100
++++ claws-mail-2.9.1/src/folderview.c 2007-04-25 10:28:00.000000000 +0100
+@@ -73,6 +73,11 @@
+ #define COL_FOLDER_WIDTH 150
+ #define COL_NUM_WIDTH 32
+
++/* added dummy column to stop the last column from
++ * resizing insanely in small screen view
++ */
++#define _N_FOLDER_COLS (N_FOLDER_COLS + 1)
++
+ static GList *folderview_list = NULL;
+
+ static GtkStyle *normal_style;
+@@ -448,7 +453,7 @@
+ gint *col_pos;
+ FolderColumnState *col_state;
+ FolderColumnType type;
+- gchar *titles[N_FOLDER_COLS];
++ gchar *titles[_N_FOLDER_COLS];
+ gint i;
+ GtkWidget *scrolledwin = folderview->scrolledwin;
+
+@@ -471,8 +476,9 @@
+ titles[col_pos[F_COL_UNREAD]] = _("Unread");
+ /* TRANSLATORS: This in Number sign in American style */
+ titles[col_pos[F_COL_TOTAL]] = _("#");
++ titles[F_COL_DUMMY] = "";
+
+- ctree = gtk_sctree_new_with_titles(N_FOLDER_COLS, col_pos[F_COL_FOLDER],
++ ctree = gtk_sctree_new_with_titles(_N_FOLDER_COLS, col_pos[F_COL_FOLDER],
+ titles);
+
+ gtk_clist_set_selection_mode(GTK_CLIST(ctree), GTK_SELECTION_BROWSE);
+@@ -510,6 +516,9 @@
+ (GTK_CLIST(ctree), i, col_state[i].visible);
+ }
+
++ GTK_WIDGET_UNSET_FLAGS(GTK_CLIST(ctree)->column[i].button,
++ GTK_CAN_FOCUS);
++
+ g_signal_connect(G_OBJECT(ctree), "key_press_event",
+ G_CALLBACK(folderview_key_pressed),
+ folderview);
+@@ -605,9 +614,6 @@
+ (GTK_SCROLLED_WINDOW(scrolledwin),
+ GTK_POLICY_AUTOMATIC,
+ prefs_common.folderview_vscrollbar_policy);
+- gtk_widget_set_size_request(scrolledwin,
+- prefs_common.folderview_width,
+- prefs_common.folderview_height);
+
+ folderview->scrolledwin = scrolledwin;
+ ctree = folderview_ctree_create(folderview);
+@@ -2268,7 +2274,7 @@
+ static void folderview_create_folder_node(FolderView *folderview, FolderItem *item)
+ {
+ GtkCTree *ctree = GTK_CTREE(folderview->ctree);
+- gchar *text[N_FOLDER_COLS] = {NULL, "0", "0", "0"};
++ gchar *text[_N_FOLDER_COLS] = {NULL, "0", "0", "0", ""};
+ GtkCTreeNode *node, *parent_node;
+ gint *col_pos = folderview->col_pos;
+ FolderItemUpdateData hookdata;
+Index: claws-mail-2.9.1/src/folderview.h
+===================================================================
+--- claws-mail-2.9.1.orig/src/folderview.h 2007-03-22 17:22:52.000000000 +0000
++++ claws-mail-2.9.1/src/folderview.h 2007-04-25 10:16:55.000000000 +0100
+@@ -37,7 +37,8 @@
+ F_COL_FOLDER,
+ F_COL_NEW,
+ F_COL_UNREAD,
+- F_COL_TOTAL
++ F_COL_TOTAL,
++ F_COL_DUMMY
+ } FolderColumnType;
+
+ #define N_FOLDER_COLS 4
diff --git a/meta-demoapps/recipes-sato/clipboard-manager/clipboard-manager_0.6.4.bb b/meta-demoapps/recipes-sato/clipboard-manager/clipboard-manager_0.6.4.bb
new file mode 100644
index 0000000000..82dd1d047f
--- /dev/null
+++ b/meta-demoapps/recipes-sato/clipboard-manager/clipboard-manager_0.6.4.bb
@@ -0,0 +1,33 @@
+LICENSE = "GPL"
+DESCRIPTION = "clipboard manager"
+DEPENDS = "virtual/libx11"
+
+SRC_URI = "svn://stage.maemo.org/svn/maemo/projects/haf/tags/clipboard-manager/;module=${PV};proto=https \
+ file://makefile.patch;patch=1 \
+ file://script.patch;patch=1 \
+ file://daemonize.patch;patch=1 \
+ "
+
+S = "${WORKDIR}/${PV}"
+
+inherit autotools pkgconfig
+
+do_install_append () {
+ mv ${D}/${sysconfdir}/X11/Xsession.d/clipboard.sh ${D}/${sysconfdir}/X11/Xsession.d/70clipboard
+ chmod u+x ${D}/${sysconfdir}/X11/Xsession.d/70clipboard
+}
+
+pkg_postinst_clipboard-manager () {
+#!/bin/sh -e
+if [ x"$D" = "x" ]; then
+ {
+ if [ x$(pidof clipboard-manager) != x ]; then
+ kill -TERM $(pidof clipboard-manager)
+ fi
+
+ ${sysconfdir}/X11/Xsession.d/70clipboard
+ } > /dev/null
+else
+ exit 1
+fi
+}
diff --git a/meta-demoapps/recipes-sato/clipboard-manager/files/daemonize.patch b/meta-demoapps/recipes-sato/clipboard-manager/files/daemonize.patch
new file mode 100644
index 0000000000..51ce4781a5
--- /dev/null
+++ b/meta-demoapps/recipes-sato/clipboard-manager/files/daemonize.patch
@@ -0,0 +1,44 @@
+Index: 0.6.4/manager.c
+===================================================================
+--- 0.6.4.orig/manager.c 2007-06-28 12:23:37.000000000 +0100
++++ 0.6.4/manager.c 2007-06-28 12:36:14.000000000 +0100
+@@ -68,7 +68,8 @@
+ ClipboardManager *manager;
+ int terminated = False;
+ Display *display;
+-
++ pid_t pid;
++
+ display = XOpenDisplay (NULL);
+
+ if (!display)
+@@ -83,6 +84,29 @@
+ exit (1);
+ }
+
++ /* deamonize */
++ pid = fork();
++ switch (pid)
++ {
++ case -1: fprintf (stderr, "Fork failed.\n");
++ /* Fall through */
++ default: exit(0); break;
++ case 0: break;
++ }
++
++ chdir ("/");
++ setsid ();
++ umask (0);
++
++ pid = fork();
++ switch (pid)
++ {
++ case -1: fprintf (stderr, "Fork failed.\n");
++ /* Fall through */
++ default: exit(0); break;
++ case 0: break;
++ }
++
+ XSetErrorHandler (x_error);
+ manager = clipboard_manager_new (display,
+ error_trap_push, error_trap_pop,
diff --git a/meta-demoapps/recipes-sato/clipboard-manager/files/makefile.patch b/meta-demoapps/recipes-sato/clipboard-manager/files/makefile.patch
new file mode 100644
index 0000000000..6e48da004c
--- /dev/null
+++ b/meta-demoapps/recipes-sato/clipboard-manager/files/makefile.patch
@@ -0,0 +1,18 @@
+Index: 0.6.4/Makefile.am
+===================================================================
+--- 0.6.4.orig/Makefile.am 2007-06-28 12:23:37.000000000 +0100
++++ 0.6.4/Makefile.am 2007-06-28 14:21:23.000000000 +0100
+@@ -1,5 +1,3 @@
+-SUBDIRS = debian
+-
+ bin_PROGRAMS = clipboard-manager
+
+ INCLUDES = \
+@@ -21,6 +19,6 @@
+ clipboard.txt \
+ clipboard.sh
+
+-servicedir = $(sysconfdir)/osso-af-init
++servicedir = $(sysconfdir)/X11/Xsession.d
+
+ service_DATA = clipboard.sh
diff --git a/meta-demoapps/recipes-sato/clipboard-manager/files/script.patch b/meta-demoapps/recipes-sato/clipboard-manager/files/script.patch
new file mode 100644
index 0000000000..09e68620d7
--- /dev/null
+++ b/meta-demoapps/recipes-sato/clipboard-manager/files/script.patch
@@ -0,0 +1,39 @@
+Index: 0.6.4/clipboard.sh
+===================================================================
+--- 0.6.4.orig/clipboard.sh 2007-06-28 12:23:37.000000000 +0100
++++ 0.6.4/clipboard.sh 2007-06-28 14:27:39.000000000 +0100
+@@ -1,33 +1,2 @@
+ #!/bin/sh
+-# Clipboard persistence manager startup script
+-
+-if [ "x$AF_PIDDIR" = "x" ]; then
+- echo "$0: Error, AF_PIDDIR is not defined"
+- exit 2
+-fi
+-if [ "x$LAUNCHWRAPPER_NICE_TRYRESTART" = "x" ]; then
+- echo "$0: Error, LAUNCHWRAPPER_NICE_TRYRESTART is not defined"
+- exit 2
+-fi
+-if [ ! -w $AF_PIDDIR ]; then
+- echo "$0: Error, directory $AF_PIDDIR is not writable"
+- exit 2
+-fi
+-PROG=/usr/bin/clipboard-manager
+-SVC="clipboard-manager"
+-
+-case "$1" in
+-start) START=TRUE
+- ;;
+-stop) START=FALSE
+- ;;
+-*) echo "Usage: $0 {start|stop}"
+- exit 1
+- ;;
+-esac
+-
+-if [ $START = TRUE ]; then
+- source $LAUNCHWRAPPER_NICE_TRYRESTART start "$SVC" $PROG
+-else
+- source $LAUNCHWRAPPER_NICE_TRYRESTART stop "$SVC" $PROG
+-fi
++/usr/bin/clipboard-manager &
diff --git a/meta-demoapps/recipes-sato/epdfview/epdfview/epdfview-ui-print.xml b/meta-demoapps/recipes-sato/epdfview/epdfview/epdfview-ui-print.xml
new file mode 100644
index 0000000000..3ddf5147df
--- /dev/null
+++ b/meta-demoapps/recipes-sato/epdfview/epdfview/epdfview-ui-print.xml
@@ -0,0 +1,12 @@
+<ui>
+ <menubar name="MenuBar">
+ <menu name="TopMenu" action="Top">
+ <menu action="FileMenu">
+ <placeholder name="PrintPlaceHolder">
+ <separator/>
+ <menuitem name="Print" action="Print"/>
+ </placeholder>
+ </menu>
+ </menu>
+ </menubar>
+</ui>
diff --git a/meta-demoapps/recipes-sato/epdfview/epdfview/epdfview-ui.xml b/meta-demoapps/recipes-sato/epdfview/epdfview/epdfview-ui.xml
new file mode 100644
index 0000000000..602d86f903
--- /dev/null
+++ b/meta-demoapps/recipes-sato/epdfview/epdfview/epdfview-ui.xml
@@ -0,0 +1,57 @@
+<ui>
+ <menubar name="MenuBar">
+ <menu name="TopMenu" action="Top">
+ <menu action="FileMenu">
+ <menuitem name="OpenFile" action="OpenFile"/>
+ <menuitem name="ReloadFile" action="ReloadFile"/>
+ <menuitem name="SaveFile" action="SaveFile"/>
+ <placeholder name="PrintPlaceHolder"/>
+ <separator/>
+ <menuitem name="Quit" action="Quit"/>
+ </menu>
+ <menu action="EditMenu">
+ <menuitem name="Find" action="Find"/>
+ <separator />
+ <menuitem name="Preferences" action="Preferences"/>
+ </menu>
+ <menu action="ViewMenu">
+ <menuitem name="ShowToolBar" action="ShowToolBar"/>
+ <menuitem name="ShowStatusBar" action="ShowStatusBar"/>
+ <menuitem name="ShowIndex" action="ShowIndex"/>
+ <separator/>
+ <menuitem name="ZoomIn" action="ZoomIn"/>
+ <menuitem name="ZoomOut" action="ZoomOut"/>
+ <menuitem name="ZoomFit" action="ZoomFit"/>
+ <menuitem name="ZoomWidth" action="ZoomWidth"/>
+ <separator />
+ <menuitem name="FullScreen" action="FullScreen"/>
+ <separator />
+ <menuitem name="RotateRight" action="RotateRight"/>
+ <menuitem name="RotateLeft" action="RotateLeft"/>
+ </menu>
+ <menu action="GoMenu">
+ <menuitem name="GoToFirstPage" action="GoToFirstPage"/>
+ <menuitem name="GoToPreviousPage" action="GoToPreviousPage"/>
+ <menuitem name="GoToNextPage" action="GoToNextPage"/>
+ <menuitem name="GoToLastPage" action="GoToLastPage"/>
+ </menu>
+ <menu action="HelpMenu">
+ <menuitem name="About" action="About"/>
+ </menu>
+ </menu>
+ </menubar>
+
+ <toolbar name="ToolBar">
+ <toolitem name="OpenFile" action="OpenFile"/>
+ <separator/>
+ <toolitem name="GoToPreviousPage" action="GoToPreviousPage"/>
+ <toolitem name="GoToNextPage" action="GoToNextPage"/>
+ <separator/>
+ <toolitem name="ZoomIn" action="ZoomIn"/>
+ <toolitem name="ZoomOut" action="ZoomOut"/>
+ <toolitem name="ZoomFit" action="ZoomFit"/>
+ <toolitem name="ZoomWidth" action="ZoomWidth"/>
+ </toolbar>
+
+ <accelerator name="SlashAccelerator" action="Slash"/>
+</ui>
diff --git a/meta-demoapps/recipes-sato/epdfview/epdfview/epdfview.desktop b/meta-demoapps/recipes-sato/epdfview/epdfview/epdfview.desktop
new file mode 100644
index 0000000000..d3bf06d2aa
--- /dev/null
+++ b/meta-demoapps/recipes-sato/epdfview/epdfview/epdfview.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Categories=Viewer;Office;GTK;
+Comment=Lightweight PDF document viewer
+Exec=epdfview %f
+GenericName=PDF Viewer
+Icon=accessories-text-editor
+Name=PDF Viewer
+MimeType=application/pdf;
+Terminal=false
+Type=Application
diff --git a/meta-demoapps/recipes-sato/epdfview/epdfview/owl-menus.patch b/meta-demoapps/recipes-sato/epdfview/epdfview/owl-menus.patch
new file mode 100644
index 0000000000..755b71e7a4
--- /dev/null
+++ b/meta-demoapps/recipes-sato/epdfview/epdfview/owl-menus.patch
@@ -0,0 +1,325 @@
+Index: epdfview-0.1.7/src/Makefile.am
+===================================================================
+--- epdfview-0.1.7.orig/src/Makefile.am 2010-07-13 12:30:44.014172385 +0100
++++ epdfview-0.1.7/src/Makefile.am 2010-07-13 12:30:48.780063260 +0100
+@@ -58,7 +58,7 @@
+ main.cxx
+
+ libshell_cxxflags = -I$(top_srcdir)/src/gtk $(GTK2_CFLAGS)
+-libshell_ldadd = $(GTK2_LIBS) $(top_builddir)/src/gtk/libshell-gtk.a
++libshell_ldadd = $(GTK2_LIBS) $(top_builddir)/src/gtk/libshell-gtk.a -lowl
+
+ epdfview_CXXFLAGS = \
+ -DLOCALEDIR='"$(datadir)/locale"' \
+Index: epdfview-0.1.7/src/gtk/MainView.cxx
+===================================================================
+--- epdfview-0.1.7.orig/src/gtk/MainView.cxx 2010-07-13 12:30:44.014172385 +0100
++++ epdfview-0.1.7/src/gtk/MainView.cxx 2010-07-13 12:30:48.782124540 +0100
+@@ -20,6 +20,7 @@
+ #include <string.h>
+ #include <gettext.h>
+ #include <gtk/gtk.h>
++#include <libowl/owlwindowmenu.h>
+ #include <epdfview.h>
+ #include "StockIcons.h"
+ #include "FindView.h"
+@@ -86,6 +87,7 @@
+ // The actions for menus and toolbars.
+ static const GtkActionEntry g_NormalEntries[] =
+ {
++ { "Top", NULL, "", NULL, NULL, NULL },
+ { "FileMenu", NULL, N_("_File"), NULL, NULL, NULL },
+ { "EditMenu", NULL, N_("_Edit"), NULL, NULL, NULL },
+ { "ViewMenu", NULL, N_("_View"), NULL, NULL, NULL },
+@@ -100,7 +102,7 @@
+ N_("Reload the current document"),
+ G_CALLBACK (main_window_reload_cb) },
+
+- { "SaveFile", GTK_STOCK_SAVE, N_("_Save a Copy..."), "<control>S",
++ { "SaveFile", GTK_STOCK_SAVE, N_("_Save a Copy..."), "<control>W",
+ N_("Save a copy of the current document"),
+ G_CALLBACK (main_window_save_file_cb) },
+
+@@ -110,11 +112,11 @@
+ G_CALLBACK (main_window_print_cb) },
+ #endif // HAVE_CUPS
+
+- { "Quit", GTK_STOCK_CLOSE, N_("_Close"), "<control>W",
++ { "Quit", GTK_STOCK_CLOSE, N_("_Close"), "<control>Q",
+ N_("Close this window"),
+ G_CALLBACK (main_window_quit_cb) },
+
+- { "Find", GTK_STOCK_FIND, N_("_Find"), "<control>F",
++ { "Find", GTK_STOCK_FIND, N_("_Find"), "<control>S",
+ N_("Find a word in the document"),
+ G_CALLBACK (main_window_find_cb) },
+
+@@ -138,19 +140,19 @@
+ N_("Rotate the document 90 degrees counter-clockwise"),
+ G_CALLBACK (main_window_rotate_left_cb) },
+
+- { "GoToFirstPage", GTK_STOCK_GOTO_FIRST, N_("_First Page"), "<control>Home",
++ { "GoToFirstPage", GTK_STOCK_GOTO_FIRST, N_("_First Page"), "<control>1",
+ N_("Go to the first page"),
+ G_CALLBACK (main_window_go_to_first_page_cb) },
+
+- { "GoToNextPage", GTK_STOCK_GO_FORWARD, N_("_Next Page"), "<Shift>Page_Down",
++ { "GoToNextPage", GTK_STOCK_GO_FORWARD, N_("_Next Page"), "<Shift>Down",
+ N_("Go to the next page"),
+ G_CALLBACK (main_window_go_to_next_page_cb) },
+
+- { "GoToPreviousPage", GTK_STOCK_GO_BACK, N_("_Previous Page"), "<Shift>Page_Up",
++ { "GoToPreviousPage", GTK_STOCK_GO_BACK, N_("_Previous Page"), "<Shift>Up",
+ N_("Go to the previous page"),
+ G_CALLBACK (main_window_go_to_previous_page_cb) },
+
+- { "GoToLastPage", GTK_STOCK_GOTO_LAST, N_("_Last Page"), "<control>End",
++ { "GoToLastPage", GTK_STOCK_GOTO_LAST, N_("_Last Page"), "<control>0",
+ N_("Go to the last page"),
+ G_CALLBACK (main_window_go_to_last_page_cb) },
+
+@@ -172,7 +174,7 @@
+
+ static GtkToggleActionEntry g_ToggleEntries[] =
+ {
+- { "FullScreen", NULL, N_("F_ull screen"), "F11",
++ { "FullScreen", NULL, N_("F_ull screen"), "<control>F",
+ N_("Toggle full screen window"),
+ G_CALLBACK (main_window_fullscreen_cb), FALSE },
+
+@@ -184,7 +186,7 @@
+ N_("Show or hide the statusbar"),
+ G_CALLBACK (main_window_show_statusbar_cb), TRUE },
+
+- { "ShowIndex", NULL, N_("Show I_ndex"), "F9",
++ { "ShowIndex", NULL, N_("Show I_ndex"), "<control>I",
+ N_("Show or hide the document's outline"),
+ G_CALLBACK (main_window_show_index_cb), FALSE },
+
+@@ -234,9 +236,8 @@
+ GtkAccelGroup *accelGroup = gtk_ui_manager_get_accel_group (m_UIManager);
+ gtk_window_add_accel_group (GTK_WINDOW (m_MainWindow), accelGroup);
+ // Add the menu bar and tool bar.
+- GtkWidget *menuBar = gtk_ui_manager_get_widget (m_UIManager, "/MenuBar");
+- gtk_box_pack_start (GTK_BOX (m_MainBox), menuBar, FALSE, FALSE, 0);
+- gtk_widget_show (menuBar);
++ owl_set_window_menu_item (GTK_WINDOW (m_MainWindow),
++ GTK_MENU_ITEM(gtk_ui_manager_get_widget(m_UIManager, "/MenuBar/TopMenu")));
+ GtkWidget *toolBar = gtk_ui_manager_get_widget (m_UIManager, "/ToolBar");
+ gtk_box_pack_start (GTK_BOX (m_MainBox), toolBar, FALSE, FALSE, 0);
+ // Add the current page tool item.
+@@ -285,7 +286,7 @@
+ MainView::activeZoomFit (gboolean active)
+ {
+ GtkAction *zoomFit =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/ViewMenu/ZoomFit");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/ViewMenu/ZoomFit");
+ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (zoomFit), active);
+ }
+
+@@ -293,7 +294,7 @@
+ MainView::activeZoomWidth (gboolean active)
+ {
+ GtkAction *zoomWidth =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/ViewMenu/ZoomWidth");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/ViewMenu/ZoomWidth");
+ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (zoomWidth), active);
+ }
+
+@@ -484,7 +485,7 @@
+ MainView::sensitiveFind (gboolean sensitive)
+ {
+ GtkAction *find =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/EditMenu/Find");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/EditMenu/Find");
+ gtk_action_set_sensitive (find, sensitive);
+ }
+
+@@ -492,7 +493,7 @@
+ MainView::sensitiveGoToFirstPage (gboolean sensitive)
+ {
+ GtkAction *goToFirstPage = gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/GoMenu/GoToFirstPage");
++ "/MenuBar/TopMenu/GoMenu/GoToFirstPage");
+ gtk_action_set_sensitive (goToFirstPage, sensitive);
+ }
+
+@@ -500,7 +501,7 @@
+ MainView::sensitiveGoToLastPage (gboolean sensitive)
+ {
+ GtkAction *goToLastPage =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/GoMenu/GoToLastPage");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/GoMenu/GoToLastPage");
+ gtk_action_set_sensitive (goToLastPage, sensitive);
+ }
+
+@@ -508,7 +509,7 @@
+ MainView::sensitiveGoToNextPage (gboolean sensitive)
+ {
+ GtkAction *goToNextPage =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/GoMenu/GoToNextPage");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/GoMenu/GoToNextPage");
+ gtk_action_set_sensitive (goToNextPage, sensitive);
+ }
+
+@@ -522,7 +523,7 @@
+ MainView::sensitiveGoToPreviousPage (gboolean sensitive)
+ {
+ GtkAction *goToPreviousPage = gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/GoMenu/GoToPreviousPage");
++ "/MenuBar/TopMenu/GoMenu/GoToPreviousPage");
+ gtk_action_set_sensitive (goToPreviousPage, sensitive);
+ }
+
+@@ -530,7 +531,7 @@
+ MainView::sensitiveOpen (gboolean sensitive)
+ {
+ GtkAction *open =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/FileMenu/OpenFile");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/FileMenu/OpenFile");
+ gtk_action_set_sensitive (open, sensitive);
+ }
+
+@@ -539,7 +540,7 @@
+ MainView::sensitivePrint (gboolean sensitive)
+ {
+ GtkAction *print = gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/FileMenu/PrintPlaceHolder/Print");
++ "/MenuBar/TopMenu/FileMenu/PrintPlaceHolder/Print");
+ gtk_action_set_sensitive (print, sensitive);
+ }
+ #endif // HAVE_CUPS
+@@ -548,7 +549,7 @@
+ MainView::sensitiveReload (gboolean sensitive)
+ {
+ GtkAction *reload =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/FileMenu/ReloadFile");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/FileMenu/ReloadFile");
+ gtk_action_set_sensitive (reload, sensitive);
+ }
+
+@@ -556,7 +557,7 @@
+ MainView::sensitiveRotateLeft (gboolean sensitive)
+ {
+ GtkAction *rotateLeft =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/ViewMenu/RotateLeft");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/ViewMenu/RotateLeft");
+ gtk_action_set_sensitive (rotateLeft, sensitive);
+ }
+
+@@ -564,7 +565,7 @@
+ MainView::sensitiveRotateRight (gboolean sensitive)
+ {
+ GtkAction *rotateRight = gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/ViewMenu/RotateRight");
++ "/MenuBar/TopMenu/ViewMenu/RotateRight");
+ gtk_action_set_sensitive (rotateRight, sensitive);
+ }
+
+@@ -572,7 +573,7 @@
+ MainView::sensitiveSave (gboolean sensitive)
+ {
+ GtkAction *save =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/FileMenu/SaveFile");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/FileMenu/SaveFile");
+ gtk_action_set_sensitive (save, sensitive);
+ }
+
+@@ -586,7 +587,7 @@
+ MainView::sensitiveZoomIn (gboolean sensitive)
+ {
+ GtkAction *zoomIn =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/ViewMenu/ZoomIn");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/ViewMenu/ZoomIn");
+ gtk_action_set_sensitive (zoomIn, sensitive);
+ }
+
+@@ -594,7 +595,7 @@
+ MainView::sensitiveZoomOut (gboolean sensitive)
+ {
+ GtkAction *zoomOut =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/ViewMenu/ZoomOut");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/ViewMenu/ZoomOut");
+ gtk_action_set_sensitive (zoomOut, sensitive);
+ }
+
+@@ -602,7 +603,7 @@
+ MainView::sensitiveZoomFit (gboolean sensitive)
+ {
+ GtkAction *zoomFit =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/ViewMenu/ZoomFit");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/ViewMenu/ZoomFit");
+ gtk_action_set_sensitive (zoomFit, sensitive);
+ }
+
+@@ -610,7 +611,7 @@
+ MainView::sensitiveZoomWidth (gboolean sensitive)
+ {
+ GtkAction *zoomWidth =
+- gtk_ui_manager_get_action (m_UIManager, "/MenuBar/ViewMenu/ZoomWidth");
++ gtk_ui_manager_get_action (m_UIManager, "/MenuBar/TopMenu/ViewMenu/ZoomWidth");
+ gtk_action_set_sensitive (zoomWidth, sensitive);
+ }
+
+@@ -654,7 +655,7 @@
+ }
+ GtkAction *showIndex =
+ gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/ViewMenu/ShowIndex");
++ "/MenuBar/TopMenu/ViewMenu/ShowIndex");
+ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (showIndex), show);
+ }
+
+@@ -695,13 +696,13 @@
+ gtk_window_fullscreen (GTK_WINDOW (m_MainWindow));
+ // Hide the menu bar, tool bar, status bar and the index bar. Then
+ // zoom to fit.
+- gtk_widget_hide (menuBar);
++// gtk_widget_hide (menuBar);
+ gtk_widget_hide (toolBar);
+ gtk_widget_hide (m_StatusBar);
+ gtk_widget_hide (m_Sidebar);
+ gtk_toggle_action_set_active (
+ GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/ViewMenu/ZoomFit")), TRUE);
++ "/MenuBar/TopMenu/ViewMenu/ZoomFit")), TRUE);
+ }
+ else
+ {
+@@ -711,15 +712,15 @@
+ // enabled.
+ main_window_show_index_cb (
+ GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/ViewMenu/ShowIndex")),
++ "/MenuBar/TopMenu/ViewMenu/ShowIndex")),
+ (gpointer)m_Pter);
+ main_window_show_statusbar_cb (
+ GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/ViewMenu/ShowStatusBar")),
++ "/MenuBar/TopMenu/ViewMenu/ShowStatusBar")),
+ (gpointer)m_Pter);
+ main_window_show_toolbar_cb (
+ GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/ViewMenu/ShowToolBar")),
++ "/MenuBar/TopMenu/ViewMenu/ShowToolBar")),
+ (gpointer)m_Pter);
+ }
+ }
+@@ -814,7 +815,7 @@
+ MainView::showStatusbar (gboolean show)
+ {
+ GtkAction *toggleAction = gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/ViewMenu/ShowStatusBar");
++ "/MenuBar/TopMenu/ViewMenu/ShowStatusBar");
+ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (toggleAction), show);
+ if ( show )
+ {
+@@ -830,7 +831,7 @@
+ MainView::showToolbar (gboolean show)
+ {
+ GtkAction *toggleAction = gtk_ui_manager_get_action (m_UIManager,
+- "/MenuBar/ViewMenu/ShowToolBar");
++ "/MenuBar/TopMenu/ViewMenu/ShowToolBar");
+ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (toggleAction), show);
+ GtkWidget *toolBar = gtk_ui_manager_get_widget (m_UIManager, "/ToolBar");
+ if ( show )
diff --git a/meta-demoapps/recipes-sato/epdfview/epdfview_0.1.6.bb b/meta-demoapps/recipes-sato/epdfview/epdfview_0.1.6.bb
new file mode 100644
index 0000000000..a528474d9b
--- /dev/null
+++ b/meta-demoapps/recipes-sato/epdfview/epdfview_0.1.6.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "A minimal PDF viewer based on gtk and poppler"
+HOMEPAGE = "http://trac.emma-soft.com/epdfview/"
+LICENSE = "GPLv2"
+SECTION = "x11/applications"
+DEPENDS = "poppler gtk+ libowl"
+PR="r0"
+
+SRC_URI = "http://trac.emma-soft.com/epdfview/chrome/site/releases/epdfview-${PV}.tar.bz2 \
+ file://owl-menus.patch \
+ file://epdfview.desktop \
+ file://epdfview-ui.xml \
+ file://epdfview-ui-print.xml"
+
+inherit autotools gettext
+
+do_install_prepend() {
+ install ${WORKDIR}/epdfview-ui.xml ${S}/data/epdfview-ui.xml
+ install ${WORKDIR}/epdfview-ui-print.xml ${S}/data/epdfview-ui-print.xml
+ install ${WORKDIR}/epdfview.desktop ${S}/data/epdfview.desktop
+}
+
diff --git a/meta-demoapps/recipes-sato/epdfview/epdfview_0.1.7.bb b/meta-demoapps/recipes-sato/epdfview/epdfview_0.1.7.bb
new file mode 100644
index 0000000000..34e08bd140
--- /dev/null
+++ b/meta-demoapps/recipes-sato/epdfview/epdfview_0.1.7.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "A minimal PDF viewer based on gtk and poppler"
+HOMEPAGE = "http://trac.emma-soft.com/epdfview/"
+LICENSE = "GPLv2"
+SECTION = "x11/applications"
+DEPENDS = "poppler gtk+"
+PR="r0"
+
+SRC_URI = "http://trac.emma-soft.com/epdfview/chrome/site/releases/epdfview-${PV}.tar.bz2 \
+ file://owl-menus.patch;patch=1 \
+ file://epdfview.desktop \
+ file://epdfview-ui.xml \
+ file://epdfview-ui-print.xml"
+
+inherit autotools gettext
+
+do_install_prepend() {
+ install ${WORKDIR}/epdfview-ui.xml ${S}/data/epdfview-ui.xml
+ install ${WORKDIR}/epdfview-ui-print.xml ${S}/data/epdfview-ui-print.xml
+ install ${WORKDIR}/epdfview.desktop ${S}/data/epdfview.desktop
+}
+
diff --git a/meta-demoapps/recipes-sato/kf/files/fix-configure.patch b/meta-demoapps/recipes-sato/kf/files/fix-configure.patch
new file mode 100644
index 0000000000..fc1ad9a418
--- /dev/null
+++ b/meta-demoapps/recipes-sato/kf/files/fix-configure.patch
@@ -0,0 +1,25 @@
+diff -urNd ../kf-0.5.4.1-r0/kf-0.5.4.1/configure.in kf-0.5.4.1/configure.in
+--- ../kf-0.5.4.1-r0/kf-0.5.4.1/configure.in 2005-04-27 19:42:49.000000000 +0100
++++ kf-0.5.4.1/configure.in 2005-09-29 14:12:32.000000000 +0100
+@@ -27,7 +27,7 @@
+ dnl AC_ARG_ENABLE(debug,)
+
+ dnl modules needed for package
+-MODULES="gtk+-2.0 >= 2.0.0 libglade-2.0 >= 1.110.0 loudmouth-1.0 >= 0.16"
++MODULES="gtk+-2.0 >= 2.0.0 libglade-2.0 >= 1.110.0 loudmouth-1.0 >= 0.16 libxml-2.0"
+ dnl MODULES="gtk+-2.0 >= 2.0.0 libglade-2.0 >= 1.110.0 loudmouth-1.0 >= 0.15.1"
+
+ dnl GtkSpell
+@@ -60,9 +60,9 @@
+ AC_DEFINE([HAVE_LM_CONNECTION_SET_JID],1,[We have lm_connection_set_jid])
+ fi
+
+-dnl XScreenSaver stuff...
+-AC_DEFINE([HAVE_XSCREENSAVER], [1], [Whether to support XScreenSaver extension])
+-PACKAGE_LIBS="$PACKAGE_LIBS -lXss -L/usr/X11R6/lib"
++#dnl XScreenSaver stuff...
++#AC_DEFINE([HAVE_XSCREENSAVER], [1], [Whether to support XScreenSaver extension])
++#PACKAGE_LIBS="$PACKAGE_LIBS -lXss -L/usr/X11R6/lib"
+
+ AC_SUBST(PACKAGE_CFLAGS)
+ AC_SUBST(PACKAGE_LIBS)
diff --git a/meta-demoapps/recipes-sato/kf/files/fix-desktop-file.patch b/meta-demoapps/recipes-sato/kf/files/fix-desktop-file.patch
new file mode 100644
index 0000000000..7a0f7d1bca
--- /dev/null
+++ b/meta-demoapps/recipes-sato/kf/files/fix-desktop-file.patch
@@ -0,0 +1,20 @@
+Common subdirectories: kf-0.5.4.1.orig/data and kf-0.5.4.1/data
+diff -u kf-0.5.4.1.orig/kf.desktop kf-0.5.4.1/kf.desktop
+--- kf-0.5.4.1.orig/kf.desktop 2005-04-19 22:08:44.000000000 +0100
++++ kf-0.5.4.1/kf.desktop 2005-10-03 14:36:47.000000000 +0100
+@@ -1,6 +1,6 @@
+ [Desktop Entry]
+ Encoding=UTF-8
+-Name=kf jabber client
++Name=Instant Messenger
+ Name[pl]=kf klient sieci jabber
+ Name[lt]=Pokalbi┼│ programa kf
+ GenericName=Instant Messenger
+@@ -11,5 +11,6 @@
+ Icon=kf.png
+ Terminal=false
+ Type=Application
+-Categories=GTK;Application;Network;
++Categories=GTK;PIM;Application;Network;
+ StartupNotify=true
++X-MB-SingleInstance=true
diff --git a/meta-demoapps/recipes-sato/kf/files/gcc4.patch b/meta-demoapps/recipes-sato/kf/files/gcc4.patch
new file mode 100644
index 0000000000..58727ea0e0
--- /dev/null
+++ b/meta-demoapps/recipes-sato/kf/files/gcc4.patch
@@ -0,0 +1,30 @@
+Index: kf-0.5.4.1/src/jispman.c
+===================================================================
+--- kf-0.5.4.1.orig/src/jispman.c 2006-12-03 15:33:47.000000000 +0100
++++ kf-0.5.4.1/src/jispman.c 2006-12-03 15:35:01.000000000 +0100
+@@ -25,12 +25,6 @@
+ #include "emoticons.h"
+ #include "kf.h"
+
+-struct _KfJispManager {
+- GHashTable *jisps; /** A hash-table of all JISP pachages managed by this object, indexed by their filename */
+- GList *patterns; /** A list of patterns */
+-};
+-
+-
+ /**
+ * \brief create a new instance of KfJispManager
+ * \return a new instance of KfJispManager
+Index: kf-0.5.4.1/src/jispman.h
+===================================================================
+--- kf-0.5.4.1.orig/src/jispman.h 2006-12-03 15:33:47.000000000 +0100
++++ kf-0.5.4.1/src/jispman.h 2006-12-03 15:34:37.000000000 +0100
+@@ -25,6 +25,8 @@
+ #include "jisp.h"
+
+ typedef struct _KfJispManager {
++ GHashTable *jisps; /** A hash-table of all JISP pachages managed by this object, indexed by their filename */
++ GList *patterns; /** A list of patterns */
+ } KfJispManager;
+
+ /**
diff --git a/meta-demoapps/recipes-sato/kf/kf_0.5.4.1.bb b/meta-demoapps/recipes-sato/kf/kf_0.5.4.1.bb
new file mode 100644
index 0000000000..2baa6d46f7
--- /dev/null
+++ b/meta-demoapps/recipes-sato/kf/kf_0.5.4.1.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "Kf is a GTK+ instant messaging client."
+LICENSE = "GPL"
+DEPENDS = "libxml2 glib-2.0 gtk+ loudmouth libglade"
+PR = "r4"
+
+SRC_URI = "http://jabberstudio.2nw.net/${PN}/${PN}-${PV}.tar.gz \
+ file://fix-configure.patch;patch=1 \
+ file://fix-desktop-file.patch;patch=0 \
+ file://gcc4.patch;patch=1"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-binreloc"
+
+export PKG_CONFIG="${STAGING_BINDIR_NATIVE}/pkg-config"
+
diff --git a/meta-demoapps/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_0.3.bb b/meta-demoapps/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_0.3.bb
new file mode 100644
index 0000000000..fb91f03b12
--- /dev/null
+++ b/meta-demoapps/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_0.3.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Matchbox window manager extra themes"
+LICENSE = "GPL"
+DEPENDS = "matchbox-wm"
+SECTION = "x11/wm"
+
+SRC_URI = "http://projects.o-hand.com/matchbox/sources/matchbox-themes-extra/${PV}/matchbox-themes-extra-${PV}.tar.bz2"
+S = "${WORKDIR}/matchbox-themes-extra-${PV}"
+
+inherit autotools pkgconfig
+
+# split into several packages plus one meta package
+PACKAGES = "${PN} ${PN}-industrial ${PN}-expose ${PN}-mbcrystal"
+
+ALLOW_EMPTY_${PN} = "1"
+FILES_${PN} = ""
+RDEPENDS_${PN} = "${PN}-industrial ${PN}-expose ${PN}-mbcrystal"
+
+FILES_${PN}-industrial = "${datadir}/themes/Industrial \
+ ${datadir}/icons/Industrial"
+
+FILES_${PN}-expose = "${datadir}/themes/expose \
+ ${datadir}/icons/expose"
+
+FILES_${PN}-mbcrystal = "${datadir}/themes/mbcrystal \
+ ${datadir}/icons/mbcrystal"
diff --git a/meta-demoapps/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_svn.bb b/meta-demoapps/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_svn.bb
new file mode 100644
index 0000000000..6a9f18beaf
--- /dev/null
+++ b/meta-demoapps/recipes-sato/matchbox-themes-extra/matchbox-themes-extra_svn.bb
@@ -0,0 +1,30 @@
+DESCRIPTION = "Matchbox window manager extra themes"
+LICENSE = "GPL"
+DEPENDS = "matchbox-wm"
+SECTION = "x11/wm"
+PV = "0.3+svnr${SRCREV}"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=matchbox-themes-extra;proto=http"
+S = "${WORKDIR}/${PN}"
+
+inherit autotools pkgconfig
+
+# split into several packages plus one meta package
+PACKAGES = "${PN} ${PN}-industrial ${PN}-expose ${PN}-mbcrystal ${PN}-clearlooks"
+
+ALLOW_EMPTY_${PN} = 1
+FILES_${PN} = ""
+RDEPENDS_${PN} = "${PN}-industrial ${PN}-expose ${PN}-mbcrystal ${PN}-clearlooks"
+
+FILES_${PN}-industrial = "${datadir}/themes/Industrial \
+ ${datadir}/icons/Industrial"
+
+FILES_${PN}-expose = "${datadir}/themes/expose \
+ ${datadir}/icons/expose"
+
+FILES_${PN}-mbcrystal = "${datadir}/themes/mbcrystal \
+ ${datadir}/icons/mbcrystal"
+
+FILES_${PN}-clearlooks = "${datadir}/themes/Clearlooks \
+ ${datadir}/icons/Clearlooks"
+
diff --git a/meta-demoapps/recipes-sato/matchbox-themes-gtk/files/gtkrc b/meta-demoapps/recipes-sato/matchbox-themes-gtk/files/gtkrc
new file mode 100644
index 0000000000..6dc40c0aa5
--- /dev/null
+++ b/meta-demoapps/recipes-sato/matchbox-themes-gtk/files/gtkrc
@@ -0,0 +1 @@
+include "/usr/share/themes/Clearlooks/gtk-2.0/gtkrc"
diff --git a/meta-demoapps/recipes-sato/matchbox-themes-gtk/matchbox-themes-gtk.bb b/meta-demoapps/recipes-sato/matchbox-themes-gtk/matchbox-themes-gtk.bb
new file mode 100644
index 0000000000..60be56de13
--- /dev/null
+++ b/meta-demoapps/recipes-sato/matchbox-themes-gtk/matchbox-themes-gtk.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Gtk2 theme files to accompany default Matchbox themes"
+LICENSE = "GPL"
+DEPENDS = "gtk-engines"
+RDEPENDS = "matchbox-wm gtk-engine-clearlooks"
+SECTION = "x11/base"
+PR = "r2"
+
+SRC_URI = "file://gtkrc"
+
+FILES_${PN} = "${datadir}/themes"
+
+do_install() {
+ install -d ${D}${datadir}/themes/blondie/gtk-2.0
+ install -d ${D}${datadir}/themes/MBOpus/gtk-2.0
+ install -m 644 ${WORKDIR}/gtkrc ${D}${datadir}/themes/blondie/gtk-2.0/
+ install -m 644 ${WORKDIR}/gtkrc ${D}${datadir}/themes/MBOpus/gtk-2.0/
+}