I've already received your messsage through the list and it was a great
help. Maybe you've some suggestions for my next step i've explained in
my last mail today.


Am Donnerstag, den 03.07.2008, 07:19 -0400 schrieb zentara:
> On Wed, 02 Jul 2008 20:23:32 +0200
> Mario Kemper <[EMAIL PROTECTED]> wrote:
> 
> >Hello folks, 
> >
> >i am trying to get the native window ids of my running x-session and
> >handle them in my perl code using Gtk2::Gdk::Window->foreign_new but
> >this is misleading into an error:
> >Gdk-CRITICAL **: gdk_window_foreign_new_for_display: assertion
> >`GDK_IS_DISPLAY (display)'
> >
> >Here is my code snippet:
> 
> >I think a am doing something totally wrong here, but i can't figure it
> >out.
> >I've already had that code running, but i do not know what changed :-(
> 
> >Thanks in advance
> >Mario
> 
> Sorry if this is a multiple post, my mailer seemed to send it, but I never
> received it from the list?  Maybe the magic pixel fairy deemed it useless? :-)
> 
> This rings a little bell, reminding me of when I tried grabbing screenshots
> thru wininfo ids.  And since you said it was working, but now it dosn't, may 
> be a clue
> that you have the same glitch.  The glitch was you needed to run the capture 
> script from the
> same virtual desktop as the window to-be-captured.  Now Gnome2::Wnck
> does have the ability to switch you to the virtual desktop, I was using 
> X11::WMCtrl
> 
> This was my hacking script when I did it
> 
> #!/usr/bin/perl
> use warnings;
> use strict;
> use Image::Magick;
> use X11::WMCtrl;
> use Data::Dumper;
> 
> my $wmctrl = X11::WMCtrl->new;
> 
> printf("window manager is %s\n", $wmctrl->get_window_manager->{name});
> 
> my @windows = $wmctrl->get_windows;
> 
> my $wid;  # x window id
> my $host; # virtual desktop
> 
> foreach my $app(@windows){
>          my $title = $app->{title};
>           if( $title =~ /Mozilla/i){
>           print "$title\n";
>           print Dumper(\$app),"\n\n";
>           
>           $wid = $app->{id};
>           $host = $app->{host};
> 
>          }
>    }
> 
> $wmctrl->switch($host);
> #must be on same virtual desktop as the browser
> 
> #works
> my $blob = `import -window $wid jpg:`;   
> 
> #my $blob = `import -`;  #postscript produced
> #print "$blob\n";
> # now $blob is in memory and you can do what you
> # want with it.
> 
> my $output = Image::Magick->new(magick=>'jpg');
> $output->BlobToImage( $blob );
> $output->Resize(geometry=>'160x120');
> $output->Write( $0.'.jpg');
> 
> exit;
> # png works too
> 
> 
> __END__
> 
> zentara
> 
> 

_______________________________________________
gtk-perl-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtk-perl-list

Reply via email to