Hi Torsten, Apologies for the delay in replying.
On 02/05/18 22:46, Torsten Schoenfeld wrote: > I think this is due to the @ARGV semantics. In Perl, @ARGV does not > contain the program's name, but Gtk3::Application's run() expects the > C-style argv with the program's name at the beginning. So try to use > the following: > > $app->run([$0, @ARGV]); Thanks. That get things going. > Also: I wrote a version of your program that more closely resembles the > Python version. Here it is, in case it is helpful: Thanks for this. Very helpful. Where should I have looked to know that the Perl method names were simply capitalised versions of the C methods? For anyone interested, $files is an arrayref of Glib::Object::_Unregistered::GLocalFile, for which there is a method get_basename() to dig out the filename: sub OPEN { my ($app, $files, $nfiles, $arg3) = @_; print "in open\n"; use Data::Dumper; print Dumper($files, $nfiles, $arg3); for my $file (@$files) { print $file->get_basename(), "\n"; } } I don't understand what is going on in the signal version, though. If the callback for the open signal is: sub _open { my ($app, $files, $nfiles, $arg3) = @_; print "files: $files, $nfiles, $arg3\n"; use Data::Dumper; print Dumper($files, $nfiles, $arg3); } I get output like: files: 94684537255296, 1, $VAR1 = '94684537255296'; $VAR2 = 1; $VAR3 = ''; What is going on? Regards Jeff
signature.asc
Description: OpenPGP digital signature
_______________________________________________ gtk-perl-list mailing list gtk-perl-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-perl-list