Skip to content

Latest commit

 

History

History
54 lines (38 loc) · 2.45 KB

README-origin.md

File metadata and controls

54 lines (38 loc) · 2.45 KB

create-gnome-extension

create-gnome-extension is a community maintained scaffolding tool to build GNOME Shell extensions.

Developing a GNOME Shell extension

To get started with developing GNOME Shell extensions, visit gjs.guide. It has tutorials and guides written by the GNOME community.

If you need more help, you can use the following channels

Usage

To use create-gnome-extension run the following command in a terminal.

npm create gnome-extension@latest

You will be asked some questions to determine which files to include in your project.

Project Structure

The following file structure will be created when running npm create gnome-extension. Depending on the options passed to create-gnome-extension, some files may not be included in your project.

project-directory/
├── data/
├── po/
├── scripts/
├── src/
│   ├── schemas/
│   │   └── org.gnome.shell.extensions.project-name.gschema.xml
│   ├── extension.[js|ts]
│   ├── prefs.[js|ts]
│   └── stylesheet.css
├── metadata.json
└── ...
  • data/ contains files that will be bundled into a GResource file when building your extension.
  • po/ contains files for the translation of your project. The template file (*.pot) lists all translatable strings. Translators will use this template to create translation files (*.po).
  • scripts/ consists of scripts to build and install your extension. The scripts have --help flags. They can also be called via the npm scripts in package.json.
  • src/ is where the actual source code of your extension will reside. extension.js is the main entry point, prefs.js is the entry point for your preference window.
  • metadata.json provides information about your extension for GNOME Shell's extension system.

Other files may be included but they aren't directly related to extension development. For instance, configuration files for tools like Prettier or ESLint.

License

This software is distributed under the terms of the GNU General Public License, version 2 or later. See the license file for details.