A simpler and more efficient API for GTK::Simple
Switch branches/tags
Nothing to show


GTK::Simpler Build Status Build status

This module provides a simpler API for GTK::Simple. The idea here is to load GTK::Simple widgets lazily at runtime and type less characters. For example instead of writing the following:

# This is slow since it will load a lot of GTK::Simple widgets by default
use GTK::Simple;

my $app = GTK::Simple::App.new(title => "Hello");

you write the more concise shorter form:

# Exports a bunch of subroutines by default
use GTK::Simpler;

# GTK::Simple::App is loaded and created only here
my $app = app(title => "Hello");


use v6;
use GTK::Simpler;

my $app = app(title => "Hello GTK!");

        my $first-button  = button(label => "Hello World!"),
        my $second-button = button(label => "Goodbye!")

$app.border-width        = 20;
$second-button.sensitive = False;

    .sensitive = False; 
    $second-button.sensitive = True 



For more examples, please see the examples folder.


Please see the GTK::Simpler generated documentation.


Please check GTK::Simple prerequisites section for more information.

To install it using zef (a module management tool bundled with Rakudo Star):

$ zef install GTK::Simpler


  • To run tests:
$ prove -e "perl6 -Ilib"
  • To run all tests including author tests (Please make sure Test::Meta is installed):
$ zef install Test::META
$ AUTHOR_TESTING=1 prove -ve "perl6 -Ilib"


Ahmad M. Zawawi, azawawi on #perl6


MIT License