Skip to content

Latest commit

 

History

History

doc

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

GJS

GJS is JavaScript bindings for the GNOME platform APIs. Powered by Mozilla's SpiderMonkey JavaScript engine and GObject Introspection, it opens the entire GNOME ecosystem to JavaScript developers.

The stable version of GJS is based on the latest Extended Support Release (ESR) of SpiderMonkey. To find out when a language feature was added to GJS, review NEWS in the GitLab repository.

Documentation

If you are reading this file in the GJS repository, you may find it more convenient to browse and search using the API Documentation website instead. There is documentation for GLib, GTK, Adwaita, WebKit, and many more libraries. General documentation about built-in modules and APIs is under the GJS Topic.

GJS Guide has many in-depth tutorials and examples for a number of core GNOME APIs. The repository also has code examples and thorough coverage of language features in the test suite.

GTK4 + GJS Book is a start to finish walkthrough for creating GTK4 applications with GJS.

The GNOME developer portal contains examples of a variety of GNOME technologies written GJS, alongside other languages you may know.

Workbench is a code sandbox for GJS, CSS and GTK. It features live preview and a library of examples and demos.

Applications

GJS is a great option to write applications for the GNOME Desktop.

The easiest way to get started is to use GNOME Builder, start a new project and select JavaScript language.

Here is a non-exhaustive list of applications written in GJS:

GNOME Apps

Others

Archived

GNOME Shell Extensions

GJS is used to write GNOME Shell Extensions, allowing anyone to make considerable modifications to the GNOME desktop. This can also be a convenient way to prototype changes you may want to contribute to the upstream GNOME Shell project.

There is documentation and tutorials specifically for extension authors at gjs.guide/extensions.

Embedding GJS

GJS can also be embedded in other applications, such as with GNOME Shell, to provide a powerful scripting language with support for the full range of libraries with GObject-Introspection.

Getting Help