GNOME-EXTENSIONS(1)

NAME
gnome-extensions - Command line tool for managing GNOME extensions

SYNOPSIS
gnome-extensions help [COMMAND]
gnome-extensions version
gnome-extensions enable UUID
gnome-extensions disable UUID
gnome-extensions reset UUID
gnome-extensions info UUID
gnome-extensions show UUID
gnome-extensions list [OPTION...]
gnome-extensions prefs UUID
gnome-extensions create [OPTION...]
gnome-extensions pack [OPTION...]
gnome-extensions install [OPTION...] PACK
gnome-extensions uninstall UUID
gnome-extensions upload [OPTION...] PACK...

DESCRIPTION

gnome-extensions is a utility that makes some common GNOME extensions operations available on the command line.

COMMON OPTIONS

All commands except for help and version handle the following options:

--quiet, -q Do not print error messages

COMMANDS

help [COMMAND] Displays a short synopsis of the available commands or provides detailed help on a specific command.

version Prints the program version.

enable UUID Enables the extension identified by UUID.

The command will not detect any errors from the extension itself, use the info command to confirm that the extension state is ACTIVE.

If the extension is already enabled, the command will do nothing.

disable UUID Disables the extension identified by UUID.

If the extension is not enabled, the command will do nothing.

reset UUID Reset the extension identified by UUID.

The extension will be disabled in GNOME, but may be enabled by other sessions like GNOME Classic.

info UUID Show details of the extension identified by UUID, including name, description and state.

show UUID Synonym of info.

list [OPTION...] Displays a list of installed extensions.

Options --user Include extensions installed in the user's $HOME

--system Include extensions installed in the system

--enabled Include enabled extensions

--disabled Include disabled extensions

--active Only include extensions in active state

--inactive Only include extensions in inactive state

--prefs Only include extensions with preferences

--updates Only include extensions with pending updates

-d, --details Show some extra information for each extension

prefs UUID Open the preference dialog of the extension identified by UUID.

create [OPTION...] Creates a new extension from a template.

Options --name=NAME Set the user-visible name in the extension's metadata to NAME

--description=DESC Set the description in the extension's metadata to DESC

--uuid=UUID Set the unique extension ID in the metadata to UUID

--gettext-domain=DOMAIN Set the gettext domain used by the extension

--settings-schema=SCHEMA Set the GSettings schema used by the extension

--template=TEMPLATE Use TEMPLATE as base for the new extension

--prefs Include a prefs.js template

-i, --interactive Prompt for any extension metadata that hasn't been provided on the command line

pack [OPTION...] [SOURCE-DIRECTORY] Creates an extension bundle that is suitable for publishing.

The bundle will always include the required files extension.js and metadata.json, as well as any of the optional stylesheet.css, stylesheet-dark.css, stylesheet-light.css or prefs.js if found. Each additional source that should be included must be specified with --extra-source.

If the extension includes one or more GSettings schemas, they can either be placed in a schemas/ folder to be picked up automatically, or be specified with --schema.

Similarily, translations are included automatically when they are located in a po/ folder, otherwise the --podir option can be used to point to the correct directory. If no gettext domain is provided on the command line, the value of the gettext-domain metadata field is used if it exists, and the extension UUID if not.

All files are searched in SOURCE-DIRECTORY if specified, or the current directory otherwise.

Options --extra-source=FILE Additional source to include in the bundle

--schema=SCHEMA A GSettings schema that should be included

--podir=PODIR A directory with translations that should be compiled and included

--gettext-domain=DOMAIN The gettext domain to use for translations

-f, --force Overwrite an existing pack

-o, --out-dir=DIRECTORY The directory where the pack should be created

install [OPTION...] PACK Installs an extension from the bundle PACK.

The command unpacks the extension files and moves them to the expected location in the user's $HOME, so that it will be loaded in the next session.

It is mainly intended for testing, not as a replacement for the extension website. As extensions have privileged access to the user's session, it is advised to never load extensions from untrusted sources without carefully reviewing their content.

Options --force Override an existing extension

uninstall UUID Uninstalls the extension identified by UUID.

upload [OPTION...] PACK... Upload one or more extension packs to <https://extensions.gnome.org> .

If login credentials are required, they can be entered interactively when prompted. This is generally preferred over the --password or --password-file options, which risk exposing the password in logs, the environment or filesystem (depending on how it was provided).

Options --accept-tos Accept the terms of service at <https://extensions.gnome.org/upload/>

--user=USER Username to log into <https://extensions.gnome.org>

--password=PASSWORD Password to log into <https://extensions.gnome.org>

--password-file=FILE File to read <https://extensions.gnome.org> password from

EXIT STATUS

On success 0 is returned, a non-zero failure code otherwise.

BUGS

The tool is part of the gnome-shell project, and bugs should be reported in its issue tracker at <https://gitlab.gnome.org/GNOME/gnome-shell/issues> .