GNU G-Golf
About GNU
Philosophy
Licenses
Education
Software
Documentation
Help GNU
JOIN THE FSF
GNU G-Golf
GNOME: (Guile Object Library for)
About
Donate
News
Install
Learn
Participate
Contact
About G-Golf
G-Golf
GNOME: (Guile Object Library for)
Description
G-Golf
is a
Guile
Object Library for
GNOME
G-Golf
is a tool to develop fast and feature-rich
graphical applications, with a clean and recognizable look and
feel. Here is an overview of the
GNOME platform libraries
accessible using G-Golf.
In particular,
libadwaita
provides a number of
widgets that change their layout based on the available space. This can
be used to make applications adapt their UI between desktop and mobile
devices. The
GNOME Web
(best known through its code name,
Epiphany
, is a good example of such an adaptive UI.
G-Golf
uses
Glib
GObject
and
GObject Introspection
. As it imports a
Typelib
(a GObject
introspectable library), G-Golf defines GObject classes as
GOOPS
(the Guile Object Oriented System) classes. GObject
methods are defined and added to their corresponding generic
function. Simple functions are defined as scheme procedures.
Here is an example, an excerpt taken from the peg-solitaire
game, that shows the implementation, for the peg-solitaire game, of the
GtkApplication activate signal callback in G-Golf:
define
activate
app
let
window
make

#:title
"Peg Solitaire"
#:default-width
420
#:default-height
420
#:application
app
header-bar
make

restart
make

#:icon-name
"view-refresh-symbolic"
connect
restart
'clicked
lambda
bt
restart-game
window
set-titlebar
window
header-bar
pack-start
header-bar
restart
create-board
window
show
window
G-Golf
comes with some examples, listed on the
learn
page of the G-Golf web site. Each
example comes with a screenshot and has a link that points to its source
code, in the G-Golf sources
repository
Latest News
March 2026
G-Golf
version
0.8.5
is released.
See the
News
page for a summary of the
noteworthy changes in this release. For a complete list and description
of all changes, see the G-Golf
git summary
and
git log
Documentation
Documentation for G-Golf is available
online
as is documentation for most
GNU software
. You may also look at the
G-Golf
manual by running
info g-golf
or find it, if you installed
G-Golf
manually and did run
make install-html
, by
looking at
$prefix/share/doc/g-golf/g-golf.html/
. If you
installed
G-Golf
using a distribution package, you may find
it, perhaps, by looking at
/usr/share/doc/g-golf/
or similar directories on your
system
Savannah
G-Golf
also has a
Savannah
project page
here
Join the GNU Project
G-Golf
is part of the GNU Operating System, developed by
the
GNU Project
If you are the author of an awesome program and want to join us
in writing Free (libre) Software, please consider making it an official
GNU program and become a GNU Maintainer. You can find instructions on
how to do this
here
You don't have a program to contribute? Look at all the other
ways you still may
help
To learn more about Free (libre) Software, you can read and
please share
this page
License
G-Golf
is a free software, distributed under the terms of
the GNU Lesser General Public License
LGPLv3
or higher. You
must be aware there is no warranty whatsoever for
G-Golf
. This
is described in full in the license.
Free Software Foundation, Inc.
sxml