|
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
|