--- f-spot-0.4.2/src/MainWindow.cs.orig 2008-02-14 22:26:50.000000000 +0000 +++ f-spot-0.4.2/src/MainWindow.cs 2008-03-12 14:48:14.000000000 +0000 @@ -2067,6 +2067,13 @@ int active = Math.Max (ActiveIndex (), 0); if (fsview == null) { fsview = new FSpot.FullScreenView (query); + + Gdk.Screen screen = fsview.Screen; + int monitor = screen.GetMonitorAtWindow (main_window.GdkWindow); + Gdk.Rectangle bounds = screen.GetMonitorGeometry(monitor); + fsview.Move(bounds.X, 0); + fsview.SetDefaultSize(bounds.Width, bounds.Height); + fsview.Destroyed += HandleFullScreenViewDestroy; fsview.View.Item.Index = active; ColorDialog.SwitchViews (fsview.View); @@ -2110,6 +2117,13 @@ int active = Math.Max (ActiveIndex (), 0); if (fsview == null) { fsview = new FSpot.FullScreenView (query); + + Gdk.Screen screen = fsview.Screen; + int monitor = screen.GetMonitorAtWindow (main_window.GdkWindow); + Gdk.Rectangle bounds = screen.GetMonitorGeometry(monitor); + fsview.Move(bounds.X, 0); + fsview.SetDefaultSize(bounds.Width, bounds.Height); + fsview.Destroyed += HandleFullScreenViewDestroy; fsview.View.Item.Index = active; ColorDialog.SwitchViews (fsview.View);