
Others: overlay, iframe, browser, editor, etc.Events and scripts: script, command, key, broadcaster, observer, etc.
Box model: box, grid, stack, deck, etc. Widgets: label, button, text box, list box, combo box, radio button, check box, tree, menu, toolbar, group box, tab box, color-picker, spacer, splitter, etc. Top-level elements: window, page, dialog, wizard, etc. XUL defines a wide range of elements, which roughly belong to the following types: #Pale moon standard deck japan software
Locale: the files containing user-visible strings for easy software localization. Skin: the CSS and image files, which define the appearance of an application. Content: the XUL document(s), whose elements define the layout of the user interface. Īpplication programmers need to define a XUL interface as three discrete sets of components: XUL can only be used with the Mozilla codebase (or a fork of it) because the Gecko engine does the XUL rendering. As a result, Pale Moon and other UXP applications have remained single-process but extensible. UXP maintains the traditional XUL capabilities. The Pale Moon developers forked Mozilla's entire Firefox 52 ESR codebase to create the Unified XUL Platform (UXP) for their Goanna rendering engine. The SeaMonkey internet suite chose to re-implement XUL for the Firefox Quantum codebase and the suite's development has subsequently slowed. They released Thunderbird 78 without support for XUL-based extensions in 2020. Mozilla began gradually removing XUL support from their email client, Thunderbird. When Mozilla removed support from Firefox, there were still several applications using XUL. By the end of 2019, Mozilla had removed all XUL files from their mozilla-central codebase. In 2017, Firefox still included 289 XUL bindings for native browser components. Mozilla switched extensions over to Google's HTML5-based WebExtensions format. Due to the difficulty of re-creating XUL for their new engine, Mozilla removed support for legacy add-ons, including the use of custom XUL code. XUL was designed for the original single-process codebase and would have required considerable effort to re-implement. Firefox Quantum switched Gecko to a new multi-process codebase derived from their Servo research project. Mozilla released Firefox 57, also known as Firefox Quantum, in 2017. The features of HTML5 that made web applications possible, also made much of XUL redundant. In the early 2000s there was some interest in using XUL by other parties, including Amazon, but those have switched over to HTML5. Some software projects like Zotero began as Mozilla Firefox extensions and used XULRunner to become standalone desktop applications. XUL was used by various Mozilla projects, forks of Mozilla projects, and projects closely related to Mozilla.
It was designed as an expansion of HTML to be used with applications rather than documents. When XUL was introduced, it added features beyond the then standard HTML 4. XUL is similar to web technologies implemented by the Gecko rendering engine. XUL was devised at Netscape in 1997 as part of the development effort that eventually became the Mozilla codebase.
The Periodic Table of XUL Elements is a reference extension designed to demonstrate XUL's capabilities. Several forks of Firefox, such as Pale Moon, Basilisk, and Waterfox, retain support for XUL add-ons. Firefox originally permitted add-ons to extensively alter its user interface via custom XUL code, but this capability was removed in 2017 and replaced with the less-permissive WebExtensions API. The most notable example is the removal of add-on customization. However, in recent years, Mozilla has been reducing the usage of XUL in Firefox. XUL applications rely on the Mozilla codebase (or a fork of it) the most prominent example is the Firefox web browser.
XUL is an XML dialect for writing graphical user interfaces, enabling developers to write user interface elements in a manner similar to web pages. XUL ( / ˈ z uː l/ ZOOL), which stands for XML User Interface Language, is a user interface markup language developed by Mozilla.