Note/Disclaimer: I am *not* suggesting adding this "feature" into gimp. And please don't tell me I am doing something wrong or stupid or degrading gimp in any way or form.


I like many of the splash screens submitted, so I select a random one at startup. If you wish to do the same,


 - create a "gimp-splash" subdirectory under ~/.gimp-2.2
 - place all your favorites there
 - Apply the included patch (patch -p1 < rand-splash.diff)
 - recompile gimp

-Joseph
*** gimp-2.2-pre2/app/gui/splash.c            2004-12-13 08:46:25.000000000 
+1300
--- gimp-2.2-pre2s/app/gui/splash.c     2004-12-13 08:46:25.000000000 +1300
***************
*** 74,92 ****
  
    g_return_if_fail (splash == NULL);
  
!   filename = gimp_personal_rc_file ("gimp-splash.png");
!   pixbuf = gdk_pixbuf_new_from_file (filename, NULL);
!   g_free (filename);
! 
!   if (! pixbuf)
!     {
!       filename = g_build_filename (gimp_data_directory (),
!                                    "images", "gimp-splash.png",
!                                    NULL);
        pixbuf = gdk_pixbuf_new_from_file (filename, NULL);
!       g_free (filename);
      }
  
    if (! pixbuf)
      return;
  
--- 74,119 ----
  
    g_return_if_fail (splash == NULL);
  
!   {
!     int nFiles = 0;
!     GError* err;
!     const char* folder = gimp_personal_rc_file("gimp-splash");
!     GDir* d = g_dir_open(folder, 0, &err);
! 
!     filename = 0;
!     if( d ) {
!       srandom(time(NULL));
!       G_CONST_RETURN gchar* name;
!       while( (name = g_dir_read_name(d)) ) {
!       if( (random() % (nFiles+1)) == 0 ) {
!         filename = g_build_filename(folder, name, NULL);
!       }
!       ++nFiles;
!       }
!       g_dir_close(d);
!     }
!     
!     if( filename ) {
        pixbuf = gdk_pixbuf_new_from_file (filename, NULL);
!       g_free(filename);
      }
+   }
  
+   if (!pixbuf ) {
+     filename = gimp_personal_rc_file ("gimp-splash.png");
+     pixbuf = gdk_pixbuf_new_from_file (filename, NULL);
+     g_free (filename);
+ 
+     if (! pixbuf)
+       {
+       filename = g_build_filename (gimp_data_directory (),
+                                    "images", "gimp-splash.png",
+                                    NULL);
+       pixbuf = gdk_pixbuf_new_from_file (filename, NULL);
+       g_free (filename);
+       }
+   }
+   
    if (! pixbuf)
      return;
  
_______________________________________________
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer

Reply via email to