in reply to Perl-Gtk2::How to set a window background image.

Any one have any suggestion on how to get this to work with the root window?

The code below works, but it does not change it permanently. As soon as I move a window or etc, that part of the root window that was revealed goes back to the previous back ground.

sub setBGfile{
my $self=$_[0];
my $file=$_1;

Gtk2->init;

my $screen=Gtk2::Gdk::Screen->get_default;
my $window=$screen->get_root_window;

my $pixbuf=Gtk2::Gdk::Pixbuf->new_from_file($file);

my $values;
my $colormap = $screen->get_default_colormap;

my ($real_drawable, $x_offset, $y_offset) = $window->get_internal_paint_info;
my $gc = Gtk2::Gdk::GC->new ($window, undef);

$pixbuf->render_to_drawable($real_drawable, $gc,
0,0,0,0,871,1200,'normal',0,0);

Gtk2->main_iteration while Gtk2->events_pending;

return;
}
  • Comment on Re: Perl-Gtk2::How to set a window background image.