Re: Mugshot in maemo - Kickoff



Hi,

I've just update the patch by removing the icon installation related
part as it was already commited in trunk.

--lucasr


2007/10/28, Lucas Rocha <lucasr gnome org>:
> Hi all,
>
> I had some random spare time last couple weeks and I thought it would
> be nice to have a Mugshot client running on maemo. Basically, I got it
> woking on Chinook (latest version of maemo which is the basis for
> N810). Here are some general issues and comments.
>
> 1. Icon issues
> Yes, maemo uses some really weird icon sizes. So, here's what's needed:
> - mugshot app logo in 64x64 pixels
> - mugshot_connection and mugshot_connection_disabled in 40x40 pixels.
> Currently, only have it in 22x22 pixels.
>
> 2. Screensaver issues
> Screensaver X extension is not available in maemo. I saw that this
> extension is being used in hippo-idle. At first sight, I don't think
> it makes sense to have it on maemo anyway. I disabled all code related
> to this extension when maemo mode is on.
>
> 3. Mozilla engine issues
> I added the necessary dependency checks for maemo mozilla-based
> browser. There's a build problem due to an API incompatible code
> chunk. I get this error:
>
> • NS_IMETHODIMP hippoControl::SetWindow() incompatible API (build error)
> ./../common/firefox/src/hippoControl.cpp: In member function `virtual
> nsresult hippoControl::SetWindow(nsIDOMWindow*)':
> ./../common/firefox/src/hippoControl.cpp:155: error: 'class
> nsDerivedSafe<nsIScriptGlobalObject>' has no member named
> 'GetDocShell'
>
> I'm far from being a Mozilla expert, so, do you have any idea on how
> to work around this? For now, I disabled this code chunk when maemo
> mode is on. My patch adds a new type of browser (HIPPO_BROWSER_MAEMO)
> which is used when running on maemo mode.
>
> 4. Loudmouth version
> The correct loudmouth dependency should be 1.2.2, not 1.0 as mugshot
> doesn't build because LM_DISCONNECT_REASON_RESOURCE_CONFLICT and
> LM_DISCONNECT_REASON_INVALID_XML are not available in loudmounth <
> 1.2.2. This is fixed in the patch as well.
>
> 5. Build configure option
> I added a --with-maemo configure option to activate maemo bits in
> mugshot client.
>
> 6. Web pages
> There some design issues on viewing the online desktop webpages on a
> small screen. See screenshots (initial-page.png and login-page.png).
>
> 7. gnome-desktop
> I still need to replace gnome-desktop (desktop file handling) with
> equivalent code based on maemo stack. For now, I've just disabled the
> code.
>
> 7. User interaction issues
> For now, this is just a simple port of the current client but there
> should be some major adaptations on the UI to make it work nicely on a
> small screen and finger usage.
>
> 8. Status icon
> There are still some issues on Hildon Desktop side (the maemo main UI
> component) on handling GtkStatusIcon in statusbar (see screenshots).
> Those are already fixed but not yet commited (will be in the next
> weeks).
>
> I'm still working on the proper (debian) packaging for mugshot client
> and its dependencies to make it easily instalable on Nokia devices.
> This will come soon.
>
> Patch is attached. You can find some screenshots of mugshot running on
> maemo here:
>
>   http://www.gnome.org/~lucasr/misc/mugshot/
>
> Cheers!
>
> --lucasr
>
>
Index: linux/src/hippo-platform-impl.c
===================================================================
--- linux/src/hippo-platform-impl.c	(revisão 6847)
+++ linux/src/hippo-platform-impl.c	(cópia de trabalho)
@@ -304,7 +304,6 @@
         g_free(web_host);
         goto out;
     }        
-
     /* Extract value from first cookie and free the rest of them 
      * (we only expect to have one, though)
      */
@@ -448,10 +447,15 @@
     case HIPPO_BROWSER_GALEON:
         command = g_strdup_printf("galeon %s", quoted);
         break;
+#ifdef WITH_MAEMO
+    case HIPPO_BROWSER_MAEMO:
+        command = g_strdup_printf("browser --url=%s", quoted);
+        break;
+#endif
     case HIPPO_BROWSER_FIREFOX:
     case HIPPO_BROWSER_UNKNOWN: /* FIXME get user's default from gnome */
     default:
-        command = g_strdup_printf("firefox %s", quoted);    
+	command = g_strdup_printf("firefox %s", quoted);
         break;
     }
 
Index: linux/src/hippo-distribution.c
===================================================================
--- linux/src/hippo-distribution.c	(revisão 6847)
+++ linux/src/hippo-distribution.c	(cópia de trabalho)
@@ -1,10 +1,13 @@
 /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
 
+#include <config.h>
 #include <errno.h>
 #include <stdlib.h>
 #include <string.h>
 #include <sys/wait.h>
+#ifndef WITH_MAEMO
 #include <libgnome/gnome-desktop-item.h>
+#endif
 #include <libgnomevfs/gnome-vfs.h>
 #include <gtk/gtk.h>
 #include <gdk/gdkx.h>
@@ -1069,6 +1072,7 @@
                                       HippoAsyncCallback  callback,
                                       void               *callback_data)
 {
+#ifndef WITH_MAEMO
     GnomeDesktopItem *item = NULL;
     char *desktop_file = NULL;
     GError *error = NULL;
@@ -1110,6 +1114,7 @@
         gnome_desktop_item_unref(item);
     
     g_free(desktop_file);
+#endif
 }
 
 
Index: linux/src/hippo-cookies-linux.c
===================================================================
--- linux/src/hippo-cookies-linux.c	(revisão 6847)
+++ linux/src/hippo-cookies-linux.c	(cópia de trabalho)
@@ -1,4 +1,5 @@
 /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
+#include <config.h>
 #include "hippo-cookies-linux.h"
 #include <string.h>
 
@@ -29,6 +30,14 @@
     hippo_cookie_locator_add_file(locator, path, HIPPO_BROWSER_GALEON);
     g_free(path);
 
+#ifdef WITH_MAEMO
+    path = g_build_filename(homedir,
+                            ".mozilla/microb/cookies.txt",
+                            NULL);
+    hippo_cookie_locator_add_file(locator, path, HIPPO_BROWSER_MAEMO);
+    g_free(path);
+#endif
+    
     path = g_build_filename(homedir, ".mozilla/firefox", NULL);
     hippo_cookie_locator_add_directory(locator, path, HIPPO_BROWSER_FIREFOX);
     g_free(path);
Index: linux/src/hippo-window-gtk.c
===================================================================
--- linux/src/hippo-window-gtk.c	(revisão 6847)
+++ linux/src/hippo-window-gtk.c	(cópia de trabalho)
@@ -69,8 +69,12 @@
 
 static const RoleProperties role_properties[] = {
     /*                   type_hint,                   skip_taskbar_pager, accept_focus, no_background */
-    /* APPLICATION */  { GDK_WINDOW_TYPE_HINT_NORMAL,  FALSE,              TRUE,         FALSE  },
+    /* APPLICATION */  { GDK_WINDOW_TYPE_HINT_NORMAL,  FALSE,              TRUE,         FALSE },
+#ifdef WITH_MAEMO
+    /* NOTIFICATION */ { GDK_WINDOW_TYPE_HINT_DIALOG,  TRUE,               FALSE,        TRUE  },
+#else
     /* NOTIFICATION */ { GDK_WINDOW_TYPE_HINT_DOCK,    TRUE,               FALSE,        TRUE  },
+#endif
     /* INPUT_POPUP */  { GDK_WINDOW_TYPE_HINT_TOOLBAR, FALSE,              TRUE,         TRUE  },
 };
 
Index: linux/src/hippo-idle.c
===================================================================
--- linux/src/hippo-idle.c	(revisão 6847)
+++ linux/src/hippo-idle.c	(cópia de trabalho)
@@ -4,7 +4,9 @@
 
 #include <X11/Xlib.h>
 #include <X11/Xatom.h>
+#ifndef WITH_MAEMO
 #include <X11/extensions/scrnsaver.h>
+#endif
 #include <gdk/gdkx.h>
 
 #include "hippo-idle.h"
@@ -16,7 +18,9 @@
 };
 
 struct HippoIdleMonitor {
+#ifndef WITH_MAEMO
     XScreenSaverInfo *info;
+#endif
     GdkDisplay *display;
     HippoDataCache *cache;
     GTime activity_time;
@@ -226,20 +230,24 @@
     idle_time = G_MAXINT;
     n_screens = gdk_display_get_n_screens(monitor->display);
     for (i = 0; i < n_screens; ++i) {
-        int result;
+        int result = 0;
         GdkScreen *screen;
 
-        screen = gdk_display_get_screen(monitor->display, i);        
+        screen = gdk_display_get_screen(monitor->display, i);       
+#ifndef WITH_MAEMO
         result = XScreenSaverQueryInfo(GDK_DISPLAY_XDISPLAY(monitor->display),
                                 GDK_SCREEN_XSCREEN(screen)->root,
                                 monitor->info);
+#endif
         if (result == 0) {
             g_warning("Failed to get idle time from screensaver extension");
             break;
         }
         
         /* monitor->info->idle is time in milliseconds since last user interaction event */
+#ifndef WITH_MAEMO
         idle_time = MIN(monitor->info->idle, idle_time);
+#endif
     }
     
     was_idle = monitor->currently_idle;
@@ -290,16 +298,20 @@
     HippoIdleMonitor *monitor;
         
     xdisplay = GDK_DISPLAY_XDISPLAY(display);
-    
+#ifndef WITH_MAEMO   
     if (!XScreenSaverQueryExtension(xdisplay, &event_base, &error_base)) {
         g_warning("Screensaver extension not found on X display, can't detect user idleness");
         return NULL;
     }
+#endif
+    return NULL;
     
     monitor = g_new0(HippoIdleMonitor, 1);
     monitor->display = g_object_ref(display);
     monitor->cache = g_object_ref(cache);
+#ifndef WITH_MAEMO
     monitor->info = XScreenSaverAllocInfo();
+#endif
     monitor->activity_time = get_time();
     monitor->last_idle = 0;    
     monitor->currently_idle = FALSE;
@@ -319,9 +331,9 @@
 {
     if (monitor == NULL)
         return; /* means no screensaver extension */
-
+#ifndef WITH_MAEMO
     XFree(monitor->info);
-
+#endif
     g_source_remove(monitor->poll_id);
     g_object_unref(monitor->display);
     g_object_unref(monitor->cache);
Index: linux/src/hippo-ui.c
===================================================================
--- linux/src/hippo-ui.c	(revisão 6847)
+++ linux/src/hippo-ui.c	(cópia de trabalho)
@@ -493,16 +493,19 @@
      */
     GdkDisplay *display = gdk_screen_get_display(screen);
     GdkWindow *root = gdk_screen_get_root_window(screen);
+#ifndef WITH_MAEMO
     Atom current_desktop_atom = gdk_x11_get_xatom_by_name_for_display(display, "_NET_CURRENT_DESKTOP");
+#endif
     Atom workarea_atom = gdk_x11_get_xatom_by_name_for_display(display, "_NET_WORKAREA");
     int format;
     Atom type;
     unsigned long n_items;
     unsigned long bytes_after;
     unsigned char *data;
-    guint current_desktop;
+    guint current_desktop = 0;
     guint n_desktops;
     
+#ifndef WITH_MAEMO
     if (XGetWindowProperty(GDK_WINDOW_XDISPLAY(root), GDK_WINDOW_XWINDOW(root),
                            current_desktop_atom, 
                            0, G_MAXLONG, False, XA_CARDINAL,
@@ -519,7 +522,7 @@
 
     current_desktop = ((unsigned long *)data)[0];
     XFree(data);
-    
+#endif    
 
     if (XGetWindowProperty(GDK_WINDOW_XDISPLAY(root), GDK_WINDOW_XWINDOW(root),
                            workarea_atom, 
@@ -542,9 +545,14 @@
     }
 
     work_area->x = ((unsigned long *)data)[current_desktop * 4];
+    work_area->width = ((unsigned long *)data)[current_desktop * 4 + 2];
+#ifndef WITH_MAEMO
     work_area->y = ((unsigned long *)data)[current_desktop * 4 + 1];
-    work_area->width = ((unsigned long *)data)[current_desktop * 4 + 2];
     work_area->height = ((unsigned long *)data)[current_desktop * 4 + 3];
+#else
+    work_area->y = ((unsigned long *)data)[current_desktop * 4 + 1] + 50;
+    work_area->height = ((unsigned long *)data)[current_desktop * 4 + 3] - 50;
+#endif
     
     XFree(data);
     return;
Index: linux/configure.ac
===================================================================
--- linux/configure.ac	(revisão 6847)
+++ linux/configure.ac	(cópia de trabalho)
@@ -287,10 +287,15 @@
     fi
 fi
 
+AC_ARG_WITH(maemo,
+	    AC_HELP_STRING([--with-maemo=[yes/no]],
+		           [Whether to use Maemo version of Mugshot client]),
+	    ,
+	    with_maemo=no)
 
 GLIB2_REQUIRED=2.6.0
 GTK2_REQUIRED=2.6.0
-LOUDMOUTH_REQUIRED=1.0
+LOUDMOUTH_REQUIRED=1.2.2
 # unfortunately this breaks us on FC4
 DBUS_REQUIRED=0.60
 DBUS_GLIB_REQUIRED=0.60
@@ -341,35 +346,37 @@
 XSCREENSAVER_LIBS=""
 XSCREENSAVER_CFLAGS=""
 
-# First check to see if we have a .pc file for the xscreensaver extensio
-HIPPO_PKG_CHECK_EXISTS(xscrnsaver, have_xscreensaver=true, have_xscreensaver=false)
-if $have_xscreensaver ; then
-    XSCREENSAVER_PACKAGES="xscrnsaver"
-else
-    # No, check the old way
-    AC_PATH_XTRA
-    if test "x$no_x" = xyes ; then
-        AC_MSG_ERROR([Can't find path to the X development files])
+if test "x$with_maemo" = xno ; then
+    # First check to see if we have a .pc file for the xscreensaver extensio
+    HIPPO_PKG_CHECK_EXISTS(xscrnsaver, have_xscreensaver=true, have_xscreensaver=false)
+    if $have_xscreensaver ; then
+        XSCREENSAVER_PACKAGES="xscrnsaver"
+    else
+        # No, check the old way
+        AC_PATH_XTRA
+        if test "x$no_x" = xyes ; then
+            AC_MSG_ERROR([Can't find path to the X development files])
+        fi
+    
+        hippo_save_CPPFLAGS="$CPPFLAGS"
+        CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+    
+        hippo_save_LIBS="$LIBS"
+        LIBS="$X_LIBS $LIBS"
+    
+        have_xscreensaver=true
+        AC_CHECK_HEADERS([X11/extensions/scrnsaver.h], :, [have_xscreensaver=false])
+        AC_CHECK_LIB(Xss, XScreenSaverQueryExtension, :, [have_xscreensaver=false], -lXext -lX11 $X_EXTRA_LIBS)
+    
+        CFLAGS="$hippo_save_CFLAGS"
+        LIBS="$hippo_save_LIBS"
+    
+        if ! $have_xscreensaver ; then
+            AC_MSG_ERROR([XScreenSaver extension is required - X11/extensions/scnsaver.h, libXss.so])
+        fi
+        XSCREENSAVER_LIBS="-lXss -lXext -lX11 $X_EXTRA_LIBS"
+        XSCREENSAVER_CFLAGS="$X_CFLAGS"
     fi
-
-    hippo_save_CPPFLAGS="$CPPFLAGS"
-    CPPFLAGS="$CPPFLAGS $X_CFLAGS"
-
-    hippo_save_LIBS="$LIBS"
-    LIBS="$X_LIBS $LIBS"
-
-    have_xscreensaver=true
-    AC_CHECK_HEADERS([X11/extensions/scrnsaver.h], :, [have_xscreensaver=false])
-    AC_CHECK_LIB(Xss, XScreenSaverQueryExtension, :, [have_xscreensaver=false], -lXext -lX11 $X_EXTRA_LIBS)
-
-    CFLAGS="$hippo_save_CFLAGS"
-    LIBS="$hippo_save_LIBS"
-
-    if ! $have_xscreensaver ; then
-        AC_MSG_ERROR([XScreenSaver extension is required - X11/extensions/scnsaver.h, libXss.so])
-    fi
-    XSCREENSAVER_LIBS="-lXss -lXext -lX11 $X_EXTRA_LIBS"
-    XSCREENSAVER_CFLAGS="$X_CFLAGS"
 fi
 
 # PCRE checks
@@ -448,14 +455,27 @@
 AC_DEFINE(HIPPO_LOUDMOUTH_IS_10, 1, [Define if Loudmouth is version 1.0 or below])
 PKG_CHECK_MODULES(LIBHIPPOIPC, gobject-2.0 dbus-1 >= $DBUS_REQUIRED dbus-glib-1 >= $DBUS_REQUIRED)
 PKG_CHECK_MODULES(LIBGTKCOPY, gtk+-2.0 >= $GTK2_REQUIRED gtk+-x11-2.0)
-PKG_CHECK_MODULES(MUGSHOT_BASE, gtk+-2.0 >= $GTK2_REQUIRED gthread-2.0 loudmouth-1.0 >= $LOUDMOUTH_REQUIRED dbus-1 >= $DBUS_REQUIRED dbus-glib-1 >= $DBUS_GLIB_REQUIRED gnome-desktop-2.0 >= $GNOME_DESKTOP_REQUIRED gnome-vfs-2.0 $XSCREENSAVER_PACKAGES $CANVAS_MODULES)
-MUGSHOT_LIBS="$MUGSHOT_BASE_LIBS $CURL_LIBS $XSCREENSAVER_LIBS $JPEG_LIBS $RESOLV_LIBS"
-MUGSHOT_CFLAGS="$MUGSHOT_BASE_CFLAGS $CURL_CFLAGS $XSCREENSAVER_CFLAGS"
+PKG_CHECK_MODULES(MUGSHOT_BASE, gtk+-2.0 >= $GTK2_REQUIRED gthread-2.0 loudmouth-1.0 >= $LOUDMOUTH_REQUIRED dbus-1 >= $DBUS_REQUIRED dbus-glib-1 >= $DBUS_GLIB_REQUIRED gnome-vfs-2.0 $XSCREENSAVER_PACKAGES $CANVAS_MODULES)
+
+# If we're building the Maemo client, we don't need gnome-desktop
+if test "x$with_maemo" != xno ; then
+    PKG_CHECK_MODULES(MUGSHOT_MAEMO, libosso >= 0.9.19)
+else
+    PKG_CHECK_MODULES(MUGSHOT_GNOME, gnome-desktop-2.0 >= $GNOME_DESKTOP_REQUIRED)
+fi
+   
+MUGSHOT_LIBS="$MUGSHOT_BASE_LIBS $MUGSHOT_GNOME_LIBS $MUGSHOT_MAEMO_LIBS $CURL_LIBS $XSCREENSAVER_LIBS $JPEG_LIBS $RESOLV_LIBS"
+MUGSHOT_CFLAGS="$MUGSHOT_BASE_CFLAGS $MUGSHOT_GNOME_CFLAGS $MUGSHOT_MAEMO_CFLAGS $CURL_CFLAGS $XSCREENSAVER_CFLAGS"
 AC_SUBST(MUGSHOT_LIBS)
 AC_SUBST(MUGSHOT_CFLAGS)
 PKG_CHECK_MODULES(MUGSHOT_URI_HANDLER, gtk+-2.0 >= $GTK2_REQUIRED gthread-2.0 dbus-1 >= $DBUS_REQUIRED)
 PKG_CHECK_MODULES(TEST_HIPPO_IPC, gobject-2.0 dbus-1 >= $DBUS_REQUIRED dbus-glib-1 >= $DBUS_REQUIRED)
 
+if test "x$with_maemo" != xno ; then
+    AC_DEFINE(WITH_MAEMO, , [whether Maemo is active])
+fi
+AM_CONDITIONAL(WITH_MAEMO, test "x$with_maemo" != xno)
+
 GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
 AC_SUBST(GLIB_GENMARSHAL)
 
@@ -620,7 +640,7 @@
 if $sdk_includes_nspr ; then
     NSPR_LIBS="-L $with_gecko_sdk/lib -lnspr4"
 else
-    for pkg in firefox-nspr xulrunnner-nspr nspr ; do
+    for pkg in firefox-nspr xulrunnner-nspr nspr microb-engine-nspr; do
         if test "x$NSPR_PACKAGES" = x ; then
 	    HIPPO_PKG_CHECK_EXISTS($pkg, NSPR_PACKAGES=$pkg)
 	fi
@@ -631,7 +651,7 @@
 fi
 
 if $need_separate_js ; then
-    for pkg in firefox-js xulrunner-js ; do
+    for pkg in firefox-js xulrunner-js microb-engine-js; do
         if test "x$JS_PACKAGES" = x ; then
 	    HIPPO_PKG_CHECK_EXISTS($pkg, JS_PACKAGES=$pkg)
 	fi
Index: linux/Makefile-mugshot.am
===================================================================
--- linux/Makefile-mugshot.am	(revisão 6847)
+++ linux/Makefile-mugshot.am	(cópia de trabalho)
@@ -157,7 +157,11 @@
 autostart_files=$(autostart_in_files:.desktop.in=.desktop)
 autostart_DATA = $(autostart_files)
 
+if WITH_MAEMO
+desktopfilesdir=$(datadir)/applications/hildon
+else
 desktopfilesdir=$(datadir)/applications
+endif
 desktopfiles_in_files=mugshot.desktop.in
 desktopfiles_files=$(desktopfiles_in_files:.desktop.in=.desktop)
 desktopfiles_DATA = $(desktopfiles_files)
Index: common/hippo/hippo-connection.c
===================================================================
--- common/hippo/hippo-connection.c	(revisão 6847)
+++ common/hippo/hippo-connection.c	(cópia de trabalho)
@@ -1,4 +1,5 @@
 /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
+#include <config.h>
 #include "hippo-common-internal.h"
 #include "hippo-connection.h"
 #include "hippo-data-cache-internal.h"
@@ -316,8 +317,14 @@
 #ifdef G_OS_WIN32
     connection->login_browser = HIPPO_BROWSER_IE;
 #else
+
+#ifdef WITH_MAEMO
+    connection->login_browser = HIPPO_BROWSER_MAEMO;
+#else
     connection->login_browser = HIPPO_BROWSER_FIREFOX;
-#endif
+#endif /* WITH_MAEMO */
+
+#endif /* G_OS_WIN32 */
 }
 
 static void
@@ -705,7 +712,7 @@
     g_return_val_if_fail(HIPPO_IS_CONNECTION(connection), FALSE);
     
     hippo_connection_stop_signin_timeout(connection);
-        
+
     if (hippo_connection_load_auth(connection)) {
         if (connection->state == HIPPO_STATE_AUTH_WAIT)
             hippo_connection_authenticate(connection);
@@ -1161,6 +1168,7 @@
                             handle_open, connection, NULL, 
                             &error)) {
         g_debug("lm_connection_open returned false");
+
         hippo_connection_connect_failure(connection, error ? error->message : "");
         if (error)
             g_error_free(error);
@@ -1318,6 +1326,7 @@
                 g_error_free(error);
         } else {
         hippo_connection_state_change(connection, HIPPO_STATE_AUTHENTICATING);
+
     }
     g_free(jabber_id);
 }
Index: common/hippo/hippo-stack-manager.c
===================================================================
--- common/hippo/hippo-stack-manager.c	(revisão 6847)
+++ common/hippo/hippo-stack-manager.c	(cópia de trabalho)
@@ -140,7 +140,7 @@
     HippoRectangle base;
     gboolean is_west;
     gboolean is_north;
-
+    
 #if 1
     g_debug("SIZING: work area %d,%d %dx%d icon %d,%d %dx%d orientation %d",
         monitor->x, monitor->y, monitor->width,  monitor->height,
@@ -896,6 +896,10 @@
 
     manager->browser_window = hippo_platform_create_window(platform);
 
+#ifdef WITH_MAEMO
+    g_object_set(manager->browser_window, "role", HIPPO_WINDOW_ROLE_NOTIFICATION, NULL);
+#endif
+
     g_signal_connect(manager->browser_window, "minimize",
                      G_CALLBACK(on_browser_minimize), manager);
 
Index: common/hippo/hippo-basics.h
===================================================================
--- common/hippo/hippo-basics.h	(revisão 6847)
+++ common/hippo/hippo-basics.h	(cópia de trabalho)
@@ -2,6 +2,7 @@
 #ifndef __HIPPO_BASICS_H__
 #define __HIPPO_BASICS_H__
 
+#include <config.h>
 #include <glib-object.h>
 
 G_BEGIN_DECLS
@@ -69,7 +70,10 @@
     HIPPO_BROWSER_IE,
     HIPPO_BROWSER_FIREFOX,
     HIPPO_BROWSER_EPIPHANY,
-    HIPPO_BROWSER_GALEON
+    HIPPO_BROWSER_GALEON,
+#ifdef WITH_MAEMO
+    HIPPO_BROWSER_MAEMO
+#endif
 } HippoBrowserKind;
 
 typedef enum {
Index: common/hippo/hippo-canvas-filter-area.c
===================================================================
--- common/hippo/hippo-canvas-filter-area.c	(revisão 6847)
+++ common/hippo/hippo-canvas-filter-area.c	(cópia de trabalho)
@@ -202,6 +202,9 @@
     
     item = g_object_new(HIPPO_TYPE_CANVAS_TEXT,
                         "text", "Hide feeds: ",
+#ifdef WITH_MAEMO
+                        "font", "14px",
+#endif
                         "padding-left", 4,
                         "xalign", HIPPO_ALIGNMENT_START,
                         NULL);
@@ -219,6 +222,9 @@
     
     item = g_object_new(HIPPO_TYPE_CANVAS_TEXT,
                         "text", "Hide my items: ",
+#ifdef WITH_MAEMO
+                        "font", "14px",
+#endif
                         "padding-left", 40,
                         "xalign", HIPPO_ALIGNMENT_START,
                         NULL);
Index: common/firefox/src/hippoControl.cpp
===================================================================
--- common/firefox/src/hippoControl.cpp	(revisão 6847)
+++ common/firefox/src/hippoControl.cpp	(cópia de trabalho)
@@ -1,5 +1,7 @@
 /* -*- mode: C++; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
 
+#include <config.h>
+
 #ifdef HIPPO_OS_LINUX
 #include <glib.h>
 #include <gtk/gtk.h>
@@ -135,6 +137,8 @@
 {
     window_ = do_GetWeakReference(window);
 
+#ifndef WITH_MAEMO
+
 #ifdef HIPPO_OS_LINUX
     HippoWindowId windowId = 0;
     
@@ -167,8 +171,10 @@
     
     if (controller_ && endpoint_ && windowId)
         controller_->setWindowId(endpoint_, windowId);
-#endif
+#endif /* HIPPO_OS_LINUX */
 
+#endif /* WITH_MAEMO */
+
     return NS_OK;
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]