Index: totem-options.c
===================================================================
RCS file: /cvs/gnome/totem/src/totem-options.c,v
retrieving revision 1.4
diff -u -p -r1.4 totem-options.c
--- totem-options.c	28 Apr 2005 09:20:11 -0000	1.4
+++ totem-options.c	16 Nov 2006 23:59:07 -0000
@@ -75,11 +75,9 @@ totem_options_process_late (Totem *totem
 
 	for (i = 1; i < *argc; i++)
 	{
-		if (strcmp (args[i], "--debug") == 0)
-		{
+		if (strcmp (args[i], "--debug") == 0) {
 			options++;
 		} else if (strcmp (args[i], "--fullscreen") == 0) {
-			totem_action_fullscreen_toggle (totem);
 			options++;
 		} else if (strcmp (args[i], "--toggle-controls") == 0) {
 			totem_action_toggle_controls (totem);
@@ -122,7 +120,7 @@ totem_options_process_late (Totem *totem
 }
 
 void
-totem_options_process_early (GConfClient *gc, int argc, char **argv)
+totem_options_process_early (Totem *totem, int argc, char **argv)
 {
 	int i;
 
@@ -133,12 +131,14 @@ totem_options_process_early (GConfClient
 	{
 		if (strcmp (argv[i], "--debug") == 0)
 		{
-			gconf_client_set_bool (gc, GCONF_PREFIX"/debug",
+			gconf_client_set_bool (totem->gc, GCONF_PREFIX"/debug",
 					TRUE, NULL);
 		} else if (strcmp (argv[i], "--quit") == 0) {
 			/* If --quit is one of the commands, just quit */
 			gdk_notify_startup_complete ();
 			exit (0);
+		} else if (strcmp (argv[i], "--fullscreen") == 0) {
+			totem->start_fullscreen = TRUE;
 		}
 	}
 }
Index: totem-options.h
===================================================================
RCS file: /cvs/gnome/totem/src/totem-options.h,v
retrieving revision 1.2
diff -u -p -r1.2 totem-options.h
--- totem-options.h	1 Jan 2005 21:28:29 -0000	1.2
+++ totem-options.h	16 Nov 2006 23:59:07 -0000
@@ -32,7 +32,7 @@ G_BEGIN_DECLS
 
 poptOption totem_options_get_options (void);
 
-void totem_options_process_early (GConfClient *gc, int argc, char **argv);
+void totem_options_process_early (Totem *totem, int argc, char **argv);
 gboolean totem_options_process_late (Totem *totem, int *argc, char ***argv);
 
 void totem_options_process_for_server (BaconMessageConnection *conn,
Index: totem-private.h
===================================================================
RCS file: /cvs/gnome/totem/src/totem-private.h,v
retrieving revision 1.48
diff -u -p -r1.48 totem-private.h
--- totem-private.h	6 Nov 2006 11:18:15 -0000	1.48
+++ totem-private.h	16 Nov 2006 23:59:08 -0000
@@ -173,6 +173,7 @@ struct Totem {
 	BaconMessageConnection *conn;
 	TotemStates state;
 	gboolean cursor_shown;
+	gboolean start_fullscreen;
 };
 
 GtkWidget *totem_volume_create (void);
Index: totem.c
===================================================================
RCS file: /cvs/gnome/totem/src/totem.c,v
retrieving revision 1.538
diff -u -p -r1.538 totem.c
--- totem.c	15 Nov 2006 14:00:17 -0000	1.538
+++ totem.c	16 Nov 2006 23:59:16 -0000
@@ -3280,6 +3280,7 @@ main (int argc, char **argv)
 
 	/* IPC stuff */
 	totem->conn = bacon_message_connection_new (GETTEXT_PACKAGE);
+	totem->gc = gc;
 	if (bacon_message_connection_get_is_server (totem->conn) == FALSE)
 	{
 		totem_options_process_for_server (totem->conn, argc, argv);
@@ -3288,12 +3289,11 @@ main (int argc, char **argv)
 		gdk_notify_startup_complete ();
 		exit (0);
 	} else {
-		totem_options_process_early (gc, argc, argv);
+		totem_options_process_early (totem, argc, argv);
 	}
 
 	/* Init totem itself */
 	totem->prev_volume = -1;
-	totem->gc = gc;
 	totem->cursor_shown = TRUE;
 
 	/* Main window */
@@ -3348,19 +3348,30 @@ main (int argc, char **argv)
 
 	/* Show ! gtk_main_iteration trickery to show all the widgets
 	 * we have so far */
-	gtk_widget_show (totem->win);
-	totem_gdk_window_set_waiting_cursor (totem->win->window);
-	update_fullscreen_size (totem);
-	long_action ();
+	if (totem->start_fullscreen == FALSE) {
+		gtk_widget_show (totem->win);
+		totem_gdk_window_set_waiting_cursor (totem->win->window);
+		update_fullscreen_size (totem);
+		long_action ();
+	} else {
+		gtk_widget_realize (totem->win);
+	}
 
 	totem->controls_visibility = TOTEM_CONTROLS_VISIBLE;
 
 	/* Show ! (again) the video widget this time. */
 	video_widget_create (totem);
-	long_action ();
 	gtk_widget_grab_focus (GTK_WIDGET (totem->bvw));
+
+	if (totem->start_fullscreen != FALSE) {
+		totem_action_fullscreen (totem, TRUE);
+		gtk_widget_show (totem->win);
+		update_fullscreen_size (totem);
+	}
 	bacon_video_widget_set_logo (totem->bvw, LOGO_PATH);
 
+	long_action ();
+
 	/* The prefs after the video widget is connected */
 	totem_setup_preferences (totem);
 
@@ -3373,7 +3384,9 @@ main (int argc, char **argv)
 	} else {
 		totem_action_set_mrl (totem, NULL);
 	}
-	gdk_window_set_cursor (totem->win->window, NULL);
+
+	if (totem->start_fullscreen == FALSE)
+		gdk_window_set_cursor (totem->win->window, NULL);
 
 	if (bacon_message_connection_get_is_server (totem->conn) != FALSE)
 	{
Index: backend/Makefile.am
===================================================================
RCS file: /cvs/gnome/totem/src/backend/Makefile.am,v
retrieving revision 1.7
diff -u -p -r1.7 Makefile.am
--- backend/Makefile.am	3 Nov 2006 16:20:00 -0000	1.7
+++ backend/Makefile.am	16 Nov 2006 23:59:17 -0000
@@ -9,8 +9,7 @@ INCLUDES = \
 
 bvw_test_SOURCES = bvw-test.c
 bvw_test_CFLAGS = \
-	-DDATADIR=\""$(datadir)"\" \
-	-DLOGO_PATH=DATADIR\"\"G_DIR_SEPARATOR_S\"totem\"G_DIR_SEPARATOR_S\"totem_logo.png\"
+	-DDATADIR=\""$(datadir)"\"
 bvw_test_LDADD = \
 	libbaconvideowidget.la \
 	$(GTK_LIBS) $(XVIDMODE_LIBS) $(NVTV_LIBS) $(XTEST_LIBS) $(X_LIBS)
Index: backend/bvw-test.c
===================================================================
RCS file: /cvs/gnome/totem/src/backend/bvw-test.c,v
retrieving revision 1.10
diff -u -p -r1.10 bvw-test.c
--- backend/bvw-test.c	15 Nov 2006 17:21:15 -0000	1.10
+++ backend/bvw-test.c	16 Nov 2006 23:59:17 -0000
@@ -36,12 +36,12 @@ int main(int argc, char *argv[])
 {
 	guint32 height = 500;
 	guint32 width = 500;
-
+#if 0
 	if (argc > 2) {
 		g_warning ("Usage: %s <file>", argv[0]);
 		return 1;
 	}
-
+#endif
 #ifdef GDK_WINDOWING_X11
 	XInitThreads();
 #endif
@@ -70,9 +70,12 @@ int main(int argc, char *argv[])
 	gtk_widget_show(xine);
 
 	mrl = NULL;
-	test_xine_set_mrl(argv[1] ? argv[1] : LOGO_PATH);
-	argument = g_strdup (argv[1] ? argv[1] : LOGO_PATH);
-	bacon_video_widget_play (BACON_VIDEO_WIDGET (xine), NULL);
+#define LOGO_PATH "/usr/share/totem/totem_logo.png"
+	bacon_video_widget_set_logo (xine, LOGO_PATH);
+	bacon_video_widget_set_logo_mode (xine, TRUE);
+//	test_xine_set_mrl(argv[1] ? argv[1] : LOGO_PATH);
+//	argument = g_strdup (argv[1] ? argv[1] : LOGO_PATH);
+//	bacon_video_widget_play (BACON_VIDEO_WIDGET (xine), NULL);
 	gtk_main();
 
 	return 0;
