Seed Documentation
v.3.2.0
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.

Reference Manual

The C API, some of the modules, and a small (but expanding) portion of the runtime 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:

Large Examples

- browser - An expanded version of the simple WebKit browser outlined in the tutorial
- 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
- pango - Demonstrates a bit more complicated Pango usage, and Clutter usage, to create a sort of font playground
- 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.

Small Examples

- accelgroup.js - Demonstrates proper use of Gtk key accelerators
- actions.js - Gtk actions, for menus, toolbars, and accelerators
- async-quine.js - A Quine which loads itself asynchronously
- broken - Several old examples, or old versions of examples which have not been updated
- calculator.js - A simple GTK calculator
- clutter-1.0.js - A silly demo of Clutter 1.0
- clutter-cairo-1.0.js - Simple use of Clutter 1.0's Cairo component
- clutter-cogl-1.0.js - Demonstrates usage of COGL for drawing in Clutter
- 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)
- 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
- 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 the Yahoo API

Native Modules

Seed has several C extension modules, to bind libraries not available from GObject-introspection.

readline, sqlite, GtkBuilder, and sandbox

Documented in the main 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.