Max, My original email just bounced back from your address so you probably didn't see it. I'm copying it below again (only to the list this time). This includes an example of a working Gtk3::Application.
Jeremy On Sun, 29 May 2016 13:11:50 -0500 Jeremy Volkening <[email protected]> wrote: > Hello Max, > > The structure of a GtkApplication program is different than that of a > "Gtk2 mainloop"-style application. You should't call Gtk3::init - > that is handled automatically. All of the program initialization is > supposed to be done inside of the 'startup' and 'activate' callbacks. > Instead of calling Gtk3::main and Gtk3::quit, you call the > GApplication 'run' and 'quit' methods (therefore you also need to > import Glib::IO). This is the most useful site I've found: > > https://wiki.gnome.org/HowDoI/GtkApplication > > The problems you're encountering relate to the fact that the App > hasn't been intitialized yet. At the bottom is a working example. > > Regards, > Jeremy > > > use strict; > use warnings; > > use Gtk3; > use Glib::IO; > use Glib qw/TRUE FALSE/; > > my $app = Gtk3::Application->new('app.test', 'flags-none'); > > $app->signal_connect('startup' => \&_init ); > $app->signal_connect('activate' => \&_build_ui ); > $app->signal_connect('shutdown' => \&_cleanup ); > > $app->run(\@ARGV); > > exit; > > sub _init { > > my ($app) = @_; > > # Handle program initialization > print "Hello world!\n"; > > } > > sub _build_ui { > > my ($app) = @_; > > my $window = Gtk3::ApplicationWindow->new($app); > $window->set_title ("Gtk3 Menu Example"); > $window->set_default_size (200, 200); > $window->signal_connect( "delete_event" => sub {$app->quit()} ); > $window->show(); > > } > > sub _cleanup { > > my ($app) = @_; > > # Handle cleanup > print "Goodbye world!\n"; > > } > _______________________________________________ gtk-perl-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/gtk-perl-list
