Hello everybody! I just wanted to let you know that I successfully compiled evince-0.5 using Janis GTK+ patches plus the attached patch for usage with directfb. To do this I had to disable the postscript backend, but pdf (using poppler-cairo, which in turn uses cairo-dfb) seems to work well. For building gtk+ with directfb support you need the latest gtk+ cvs version (directfb support just got in today *g*), pango, glib cvs and probably cairo cvs. Some notes are here: http://wiki.debian.org/DebianInstallerGUIBuild Note: evince still depends on libgnomeprintui, libgnomeprint and libgnomecanvas. I'm not sure if building with full gnome deps would work - I didn't try. My old laptop is quiet happy without them ;-) Have a nice day, Ciao, Olaf Leidinger
diff -Nur evince-orig/cut-n-paste/recent-files/egg-recent-item.c evince-0.5.0/cut-n-paste/recent-files/egg-recent-item.c
--- evince-orig/cut-n-paste/recent-files/egg-recent-item.c 2006-02-06 14:11:38.000000000 +0000
+++ evince-0.5.0/cut-n-paste/recent-files/egg-recent-item.c 2006-02-06 21:54:17.000000000 +0000
@@ -356,8 +356,16 @@
return short_name;
}
+#else
+/* dummy stub */
+gchar *
+egg_recent_item_get_short_name (const EggRecentItem *item)
+{
+ return (item->uri);
+}
#endif
+
void
egg_recent_item_set_mime_type (EggRecentItem *item, const gchar *mime)
{
diff -Nur evince-orig/cut-n-paste/recent-files/egg-recent-model.c evince-0.5.0/cut-n-paste/recent-files/egg-recent-model.c
--- evince-orig/cut-n-paste/recent-files/egg-recent-model.c 2006-02-06 14:11:38.000000000 +0000
+++ evince-0.5.0/cut-n-paste/recent-files/egg-recent-model.c 2006-02-06 21:11:48.000000000 +0000
@@ -32,9 +32,14 @@
#include <sys/stat.h>
#include <time.h>
#include <gtk/gtk.h>
-#include <libgnomevfs/gnome-vfs.h>
-#include <libgnomevfs/gnome-vfs-mime-utils.h>
-#include <gconf/gconf-client.h>
+
+#ifdef WITH_GNOME
+ #include <libgnomevfs/gnome-vfs.h>
+ #include <libgnomevfs/gnome-vfs-mime-utils.h>
+
+ #include <gconf/gconf-client.h>
+#endif
+
#include "egg-recent-model.h"
#include "egg-recent-item.h"
@@ -1372,12 +1377,14 @@
model->priv->limit = EGG_RECENT_MODEL_DEFAULT_LIMIT;
model->priv->use_default_limit = FALSE;
+#ifdef WITH_GNOME
model->priv->monitors = g_hash_table_new_full (
g_str_hash, g_str_equal,
(GDestroyNotify) g_free,
(GDestroyNotify) gnome_vfs_monitor_cancel);
-
model->priv->monitor = NULL;
+#endif
+
model->priv->poll_timeout = 0;
model->priv->last_mtime = 0;
egg_recent_model_monitor (model, TRUE);
@@ -1697,13 +1704,17 @@
g_warning ("Failed to unlock: %s", strerror (errno));
fclose (file);
-
+
+#ifdef WITH_GNOME
if (model->priv->monitor == NULL) {
/* since monitoring isn't working, at least give a
* local notification
*/
egg_recent_model_changed (model);
}
+#else
+ egg_recent_model_changed (model);
+#endif
}
static void
diff -Nur evince-orig/cut-n-paste/recent-files/egg-recent-util.c evince-0.5.0/cut-n-paste/recent-files/egg-recent-util.c
--- evince-orig/cut-n-paste/recent-files/egg-recent-util.c 2006-02-06 14:11:38.000000000 +0000
+++ evince-0.5.0/cut-n-paste/recent-files/egg-recent-util.c 2006-02-06 21:48:17.000000000 +0000
@@ -2,9 +2,13 @@
#include <stdio.h>
#include <string.h>
#include <gtk/gtk.h>
+
+#ifdef WITH_GNOME
#ifndef USE_STABLE_LIBGNOMEUI
#include <libgnomeui/gnome-icon-lookup.h>
#endif
+#endif
+
#include <time.h>
#include <unistd.h>
#include <sys/types.h>
@@ -63,7 +67,12 @@
#ifndef USE_STABLE_LIBGNOMEUI
gchar *icon;
GdkPixbuf *pixbuf;
-
+
+ #ifndef WITH_GNOME
+ /* TODO: think abount a static mime_type -> icon filename mapping */
+ g_print ("DEBUG(egg-recent-util.c): mime-type: %s\n", mime_type);
+ #else
+
icon = gnome_icon_lookup (theme, NULL, uri, NULL, NULL,
mime_type, 0, NULL);
@@ -73,6 +82,7 @@
g_free (icon);
return pixbuf;
+ #endif
#endif
return NULL;
}
diff -Nur evince-orig/lib/ev-file-helpers.c evince-0.5.0/lib/ev-file-helpers.c
--- evince-orig/lib/ev-file-helpers.c 2006-02-06 14:11:39.000000000 +0000
+++ evince-0.5.0/lib/ev-file-helpers.c 2006-02-06 21:23:29.000000000 +0000
@@ -25,11 +25,14 @@
#include <sys/stat.h>
#include <unistd.h>
#include <glib.h>
+
+#ifdef WITH_GNOME
#include <libgnome/gnome-init.h>
#include <libgnomevfs/gnome-vfs-uri.h>
#include <libgnomevfs/gnome-vfs-utils.h>
#include <libgnomevfs/gnome-vfs-ops.h>
#include <libgnomevfs/gnome-vfs-xfer.h>
+#endif
#include "ev-file-helpers.h"
@@ -139,6 +142,7 @@
const char *to,
GError **error)
{
+#ifdef WITH_GNOME
GnomeVFSResult result;
GnomeVFSURI *source_uri;
GnomeVFSURI *target_uri;
@@ -164,5 +168,7 @@
G_FILE_ERROR_FAILED,
gnome_vfs_result_to_string (result));
return (result == GNOME_VFS_OK);
-
+#else
+ return FALSE;
+#endif
}
diff -Nur evince-orig/shell/main.c evince-0.5.0/shell/main.c
--- evince-orig/shell/main.c 2006-02-06 14:11:39.000000000 +0000
+++ evince-0.5.0/shell/main.c 2006-02-06 21:25:12.000000000 +0000
@@ -24,7 +24,11 @@
#include "ev-metadata-manager.h"
#include <glib/gi18n.h>
+
+#ifdef WITH_X
#include <gdk/gdkx.h>
+#endif
+
#include <gtk/gtkmain.h>
#include <stdlib.h>
#include <string.h>
Attachment:
pgpHCq4qrc71Z.pgp
Description: PGP signature