Image of Linux Kernel Development (3rd Edition)
Image of Operating System Concepts
Image of RHCE Red Hat Certified Engineer Linux Study Guide (Exam RH302) (Certification Press)
Image of XSLT 2.0 and XPath 2.0 Programmer's Reference (Programmer to Programmer)

Dual Menus for a GNOME Shell 3.2 Button

This post demonstrates how to create a button on the top panel of the GNOME 3.2 Shell which displays a different menu depending on whether the left or right mouse button is clicked.

More GNOME Shell Customization

In this post I delve deeper into the technologies behind the new GNOME Shell and provide sample code for a number of simple extensions which demonstrate how to customize and extend various components of the GNOME Shell user interface.

Updating the Fedora 14 JavaScript Shell

This post shows you how to build the Mozilla TraceMonkey JavaScript shell on Fedora 14. A number of examples are also provided to show you how to load and execute JavaScript scripts using this JavaScript shell.

Microsoft SUA JavaScript Shell

This post shows you how to build and smoketest a JavaScript shell for Microsoft Windows Vista SUA using the SpiderMonkey 1.8 sources

JavaScript File Object

As you are probably aware JavaScript engines such as SpiderMonkey typically do not allow access to the local filesystem for reasons of security.  To enable developers to test the scripts from a command line, js includes the load() function which enables you to load one or more JavaScript scripts into the SpiderMonkey engine.  However this is not sufficient for our purposes as no means is provided to write to the filesystem.  Looking more closely at the source code, I noticed support for File objects.  This support is not enabled by default however.  It is not sufficient to simply recompile SpiderMonkey