Blame HACKING.md

Packit Service 597ea5
## Creating a New Extension
Packit Service 597ea5
Packit Service 597ea5
To create a new extension, add a subdirectory in extensions. Then create
Packit Service 597ea5
a meson.build from the provided [template](extensions/meson.build.template).
Packit Service 597ea5
If you need additional sources, add them to extension_sources. Similarily add
Packit Service 597ea5
GSettings schemas to extension_schemas and other files to extension_data.
Packit Service 597ea5
Packit Service 597ea5
Then modify the [toplevel Meson file](meson.build) to add the new
Packit Service 597ea5
extension name in the appropriate set (that is one of classic_extensions,
Packit Service 597ea5
default_extensions or all_extensions).
Packit Service 597ea5
Packit Service 597ea5
Don't forget to add any translatable file to po/POTFILES.in, and
Packit Service 597ea5
then you're done.
Packit Service 597ea5
The Gettext domain you should choose is gnome-shell-extensions,
Packit Service 597ea5
not gnome-shell, unless you're sure there is the string you
Packit Service 597ea5
need in gnome-shell.
Packit Service 597ea5
Packit Service 597ea5
## Coding Style
Packit Service 597ea5
Packit Service 597ea5
Generally, we follow [GJS coding style][coding-style], which in short is:
Packit Service 597ea5
indent 4 spaces, no tabs, space after comma, no space after function call.
Packit Service 597ea5
Packit Service 597ea5
The Emacs mode line for this
Packit Service 597ea5
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
Packit Service 597ea5
Packit Service 597ea5
Imports should be at the top, in two groups, one for standard
Packit Service 597ea5
imports (like imports.lang or imports.dbus) and introspection,
Packit Service 597ea5
the other for Shell API. Within the same group, put everything
Packit Service 597ea5
in alphabetic order.
Packit Service 597ea5
Packit Service 597ea5
[coding-style]: https://gitlab.gnome.org/GNOME/gjs/blob/master/doc/Style_Guide.md