Translate

Image of Android Wireless Application Development
Image of Operating System Concepts
Image of Beginning Google Maps API 3
Image of Linux Kernel Development (3rd Edition)

GNOME 3.0 and 3.1 Shell Extensions

[2011-11-01] This blog discusses extensions for the GNOME Shell version 3.0 and 3.1. Extensions for GNOME 3.2 are somewhat different. I will be writing a new post discussing such extensions shortly and will provide a pointer here when it is written. The new GNOME Shell in GNOME 3 includes support for GNOME Shell extensions. What, you may ask, is a GNOME Shell extension? According to the GNOME web page on GNOME Shell extensions the GNOME Shell extension design is designed to give a high degree of power to the parts of the GNOME interface managed by the shell, such

Firefox 4 Restartless Add-ons

Prior to Firefox 4, extensions (more commonly called add-ons) that modified or added to the browser user interface (UI) required one or more UI overlays which the browser loaded from the add-on and applied atop its own user interface. While this technology made creating add-ons that modified the Firefox UI relatively easy, it also meant that updating, installing, or disabling an extension required that Firefox had to be restarted. UI overlays for Firefox are written in XUL (pronounced “zool”), an XML-based markup language created by Mozilla for specifying user interfaces. XUL provides a number of largely platform independent widgets from

Using JavaScript Code Modules in Firefox 4 Add-Ons

The concept of a JavaScript code module in the Gecko layout engine was first introduced in Gecko 1.9. This post discusses how such code modules can be used to simplify preference and add-on management in Firefox 4 which uses Gecko 2.0 and JavaScript 1.8.5. It uses a simple Firefox add-on called HTML5toggle as an example of how to modify existing code to use Javascript code modules. A JavaScript code module is simply some JavaScript code located in a registered (well-known) location. JavaScript code modules are primarily used to share code between different privileged scopes. They can also be used to