evince + gtk-directfb



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



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