Tutorial
There is a (very) introductory tutorial to Seed, covering the creation of a small GTK+ WebKit browser, here.
Mapping
There is a document covering at a broad level, how things in a namespace are mapped to Seed when importing, here.
C API
The C API is documented here.
Runtime
Documentation on the Seed builtins and runtime is here.
Examples
Seed has a wide variety of examples in git. A partial index of some of the more useful examples is below:
- accelgroup.js - Demonstrates using GtkAccelGroup
- actions.js - Demonstrates the use of GConf actions
- async-quine.js - Reads itself with GIO using async calls
- broken - Several old examples, or old versions of examples which have not been updated
- browser - The simple WebKit browser outlined in the tutorial.
- calculator.js - A simple GTK calculator.
- clutter-0.8.js - A silly demo of Clutter 0.8.
- clutter-0.9.js - The silly Clutter 0.8 demo ported to 0.9
- clutter-cairo.js - Simple use of ClutterCairo (0.8)
- clutter-cogl.js - Demonstrates usage of cogl for drawing in Clutter.
- clutter-pad - An example to prototype Clutter scripts using a GtkSourceView widget and a GtkClutter stage. Demonstrates usage of sandbox module and GtkBuilder.
- clutter-shader - Demonstrates the use of Clutter Shaders and GtkSourceView
- clutter-transitions - A library of slide transitions written with Clutter 0.9
- dbus-banshee - Demonstrates the use of DBus to control Banshee.
- dbus-consolekit - Demonstrates the use of DBus to query ConsoleKit.
- dbus-networkmanager - Demonstrates the use of DBus to query NetworkManager.
- gconf.js - Simple GConf usage (reading keys)
- gdkpixbufloader.js - Demonstrates reading an image with GIO and loading it in to a GdkPixbuf.
- glib - Several examples of using GLib, including timers, timeouts and threading.
- Gnio.js - Basic client usage of GIO.
- Gnio-server.js -Implementing a server using GIO
- gtkplug.js - Demonstrates GtkPlug usage.
- gtktextview.js - A very simple use of GtkTextView
- gtktreeview.js - Demonstrates the use of GtkTreeView
- json-reddit.js - Uses GIO and JSON to parse the reddit homepage.
- ls.js - Enumerating a directory with GIO.
- n-oscillator.js - Demonstrates basic Gtk and GStreamer usage.
- notify-test.js - Usage of libnotify
- opengl - Reimplementations of classic opengl examples in Seed (including glxgears!)
- pango-fontset - Demonstrates basic Pango usage (for querying font information)
- pango - Demonstrates a bit more complicated Pango usage, and Clutter usage, to create a sort of font playground.
- pong - A simple Clutter 0.8 game.
- poppler.js - A simple PDF viewer, demonstrates poppler and GTK
- quine.js - Reads itself with GIO
- repl.js - The Seed REPL
- soup.js - Basic client usage of soup.
- threaded-repl.js - An example of a REPL which runs async while a GTK program continues to run
- turtle - a simple example of the C embedding API to create a logo like turtle.
- twitter - A moderately simple Gtk twitter client, demonstrates GIO, Gtk, GdkPixbuf...
- video.js - Runs the GStreamer video test.
- vte-test.js - A simple terminal using VTE
- xml-dom - Demonstrates the use of the libxml module for basic document access using DOM methods.
- xml-tree - Demonstrates the use of the libxml module for basic document access using the document tree.
- xml-xpath - Demonstrates the use of the libxml module for basic document access using XPath.
- weather - Demonstrates the use of XPath and Soup to check the weather using Yahoo.
Native Modules
Seed has several C extension modules, to bind libraries not available from GObject-introspection.
readline, sqlite, GtkBuilder, and sandbox
Documented in a consistent manual (html pdf)
canvas
A reimplementation of HTML5 canvas, with some Cairo integration. Documented here
os
A module similar (nearly identical) to python's os module. Not yet documented, python os module documentation is useful.
dbus
A module which allows usage of DBus. Not yet documented, but see the dbus-banshee or dbus-consolekit examples.
libxml
A module which allows basic usage of libxml. Not yet documented, or complete, however very similar to the libxml2 python module.