Skip to content

Latest commit

 

History

History
11 lines (7 loc) · 13.9 KB

supported-manifest-keys.md

File metadata and controls

11 lines (7 loc) · 13.9 KB
description
Descriptions of all manifest keys supported by Thunderbird.

Supported Manifest Keys

Several manifest keys in the following table are common to Thunderbird and Firefox and link to MDN description pages. Please be aware, that MDN is dedicated to browsers and of course to Firefox. Some information listed on MDN may not apply to Thunderbird.

The two columns MV2 and MV3 specify whether the manifest key is supported in Manifest V2 and/or Manifest V3.

Manifest KeyMV2MV3Description
actionfalsetrueA browser action is a button that your extension can add to Thunderbird's main mailTab toolbar. The button has an icon, and may optionally have a popup whose content is specified using HTML, CSS, and JavaScript.

Note: This key has been renamed from browser_action to action in Manifest V3.
applicationstruefalse

Deprecated. Use

browser_specific_settings

instead.

authortruetrueDefines the extension's author. If the developer key is supplied and it contains the name property, it will override the author key. There is no way to specify multiple authors. This is a localizable property.
backgroundtruetrueUse the background key to include one or more background scripts, and optionally a background page in your extension. Background scripts are loaded as soon as the extension is loaded and stay loaded until the extension is disabled or uninstalled.
browser_actiontruefalseA browser action is a button that your extension can add to Thunderbird's main mailTab toolbar. The button has an icon, and may optionally have a popup whose content is specified using HTML, CSS, and JavaScript.

Note: This key has been renamed from browser_action to action in Manifest V3.
browser_specific_settingstruetrue

Defines properties that are specific to a particular host application. Information for Thunderbird are stored in:

browser_specific_settings.gecko

More details can be found in our hello world example.

cloud_filetruetrueDefines a file link provider, which can be used to upload large attachments to a server, instead of attaching them directly to the email.
commandstruetrueUse the commands API to add keyboard shortcuts that trigger actions in your extension, for example, an action to open a browser action popup.
content_scriptstruefalseInstructs Thunderbird to load content scripts into web page tabs and windows, whose URL matches a given pattern.
content_security_policytruefalseThe default policy restricts the sources from which a content script can load <script> and <object> resources, and disallows potentially unsafe practices such as the use of eval(). See Default content security policy to learn more about the implications of this.
compose_actiontruetrueA compose action is a button that your extension can add to the toolbar of Thunderbird's message compose tabs. The button has an icon, and may optionally have a popup whose content is specified using HTML, CSS, and JavaScript.
default_localetruetrueThis key must be present if the extension contains the _locales directory, and must be absent otherwise. It identifies a subdirectory of _locales, and this subdirectory will be used to find the default strings for your extension. See Internationalization.
descriptiontruetrueDefines a short description of the extension, intended for display in the Add-ons Manager. This is a localizable property.
developertruetrueDefines the name of the extension's developer and their homepage URL, intended for display in the add-on manager tab. The name and url properties, if present, will override the author and homepage_url keys, respectively. This is a localizable property.
dictionariestruetrueThe dictionaries key specifies the locale_code for which your extension supplies a dictionary.
homepage_urltruetrue

URL for the extension's home page. If the developer key is supplied and it contains the url property, this will override the homepage_url key.

This is a localizable property.

iconstruetrueThe icons key specifies icons for your extension. Those icons will be used to represent the extension in components such as the Add-ons Manager.
manifest_versiontruetrueThis key specifies the manifest version used by this extension. Supported are 2 and 3 (since Thunderbird Beta 110).
message_display_actiontruetrueA message display action is a button that your extension can add to the toolbar of Thunderbird's message display tabs. The button has an icon, and may optionally have a popup whose content is specified using HTML, CSS, and JavaScript.
nametruetrueDefines the name of the extension. This is used to identify the extension in the Add-on manager and on sites like addons.thunderbird.net.
optional_permissionstruefalseDefines permissions, which should be requested dynamically (when needed) and not during install.
options_uitruetrueDefines an options page for your extension.
permissionstruetrueThis key requests special powers for your extension. This key is an array of strings, and each string is a request for a permission.
protocol_handlerstruetrueThis key registers one or more web-based protocol handlers. It allows to register a website or an extension page as a handler for a particular protocol. Note: The default click handler in Thunderbird web tabs is currently not working correctly with custom defined protocol handlers. It does work in WebExtension windows.
short_nametruetrue

Short name for the extension. If given, this will be used in contexts where the name field is too long. It's recommended that the short name should not exceed 12 characters. If the short name field is not included in manifest.json, then name will be used instead and may be truncated.

This is a localizable property.

themetruetrueThis key defines a static theme to be applied to Thunderbird.
theme_experimenttruetrueThis key enables the definition of experimental theme key properties for the Thunderbird interface. These experiments are a precursor to proposing new theme features for inclusion in Thunderbird.
user_scriptstruefalseInstructs the browser to load a script packaged in the extension, known as the API script, this script is used to export a set of custom API methods for use in user scripts.
versiontruetrueThe version of the extension, formatted as numbers and ASCII characters separated by dots. For the details of the version format, see the Version format page.
web_accessible_resourcestruefalseThis key enables an extension to make resources bundled with the extension (for example images, HTML, CSS or JavaScript) available to web pages.