Skip to content

[Development] General structure

glebihan edited this page Jan 29, 2012 · 8 revisions

The code of Cinnamon is divided into 2 parts :

  • One part is written in C and defines the core objects used in Cinnamon and interactions with the system
  • One part is written in Javascript and defines all the elements of the user interface

Gjs is the Javascript binding library for Gnome, and it provides access to functions written inside C modules from the Javascript code. See http://live.gnome.org/Gjs for more details. At the beginning of each Javascript file, you'll find a list of imports. Basically all "imports.ui.*" and "imports.misc.*" imports are imports of modules written in Javascript, and others imports are imports of modules written in C via Gjs.

For example :

const Meta = imports.gi.Meta;

will provide access to the "meta" module of muffin.

Clone this wiki locally