app: make sure the GUI appears on the same monitor as the splash
Manually figure the monitor where the pointer is and pass it to the splash, the empty image window and to session_restore() explicly.
This commit is contained in:
@ -93,14 +93,16 @@ static void splash_timer_elapsed (const gchar *text1,
|
||||
/* public functions */
|
||||
|
||||
void
|
||||
splash_create (gboolean be_verbose)
|
||||
splash_create (gboolean be_verbose,
|
||||
GdkScreen *screen,
|
||||
gint monitor)
|
||||
{
|
||||
GtkWidget *frame;
|
||||
GtkWidget *vbox;
|
||||
GdkPixbufAnimation *pixbuf;
|
||||
GdkScreen *screen;
|
||||
|
||||
g_return_if_fail (splash == NULL);
|
||||
g_return_if_fail (GDK_IS_SCREEN (screen));
|
||||
|
||||
pixbuf = splash_image_load (be_verbose);
|
||||
|
||||
@ -115,6 +117,7 @@ splash_create (gboolean be_verbose)
|
||||
"type-hint", GDK_WINDOW_TYPE_HINT_SPLASHSCREEN,
|
||||
"title", _("GIMP Startup"),
|
||||
"role", "gimp-startup",
|
||||
"screen", screen,
|
||||
"window-position", GTK_WIN_POS_CENTER,
|
||||
"resizable", FALSE,
|
||||
NULL);
|
||||
@ -123,8 +126,6 @@ splash_create (gboolean be_verbose)
|
||||
G_CALLBACK (exit),
|
||||
GINT_TO_POINTER (0));
|
||||
|
||||
screen = gtk_widget_get_screen (splash->window);
|
||||
|
||||
splash->width = MIN (gdk_pixbuf_animation_get_width (pixbuf),
|
||||
gdk_screen_get_width (screen));
|
||||
splash->height = MIN (gdk_pixbuf_animation_get_height (pixbuf),
|
||||
|
Reference in New Issue
Block a user