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