Advertise on MozillaQuest Magazine Belkin 4-Port USB Switch for Linux, Mac, & Windows - Laptop & Notebook Docking -- Peripheral Device Sharing  MozillaQuest MQ Logo
MozillaQuest the on-line computer magazine
October 6, 2001
About Computers On-Line

RisingNet

EPIX Internet Services
MozillaQuest Magazine Front Page button

Internet & Web browsers button

custom Netscape & Mozilla themes & skins button

Digital Photography

Graphics

IRC - Internet Relay Chat - Chat button

Linux buttonLinux for Windows Users

Mozilla button

Multimedia

Netscape button
network articles

tutorial - help - how to button

Web Page Design

Web Tools

Windows button
..
..


Patch Maker -- Mozilla Hacking & Patching Made Easy

Mike Angelo -- 6 October 2001 (c)


The Mozilla Organization's newest toy for Mozilla hacking is Patch Maker. It let's almost anyone familiar with XUL, JS, or CSS create patches to the Mozilla user interface – without having to deal with CVS (Concurrent Versions System), source code, C++, and/or compiling.

Patch Maker makes it easier to write and to submit Mozilla user interface (UI) patches. It was written by Mozilla developer Gervase Markham primarily for people who are not in to, or up to, dealing with CVS and compiling. Even people that are up to snuff skill-wise might not have sufficient computer resources to work with the Mozilla CVS and compiling Mozilla source code.

The impetus for creating Patch Maker seems to lie in the fact that Mozilla bugs are raging out of control. So the Mozilla developers are hoping to get more bug-fixing help from the Mozilla and Open Source communities by making it easier for people to write and submit bug-fix patches.

XUL (pronounced zuul) is Mozilla implementation of XML that is used to describe the interactive Web-like page faces of Mozilla-based applications. Think of XUL as the Mozilla developers' name for an XML-based language used to describe the UI (User Interface). Creating a Mozilla skin or UI is mostly a matter of hacking the XUL, XML, CSS, JS and so forth that define the chrome and skin, and/or redoing the graphic images and widgets they use.

To be more precise, however, XUL is not exactly XML. A standard XML parser cannot interpret XUL. That is why you cannot display XUL as a Web page with Internet Explorer 5, Netscape 4.x, or other non-Mozilla-based browsers. Mozilla-based browsers have a special parser that can interpret XUL.

Here is how it works. The Mozilla browser suite is built on top of the underlying Mozilla application programming framework, which is written in C++. For the most part, the Mozilla browser-suite user-interface employs XUL, JS, and CSS. Patch Maker is a Perl script that let's you modify the user interface XUL, JS, or CSS and try your modification(s) without having to download, compile, or recompile the source code -- and without having to deal with CVS.

More About the Mozilla Application Programming Framework

Mozilla-based Web-browser suites, including the navigator, e-mail, news, and composer components, all are applications built to run upon the underlying Mozilla application programming framework. So what you see when you run such Mozilla-based Web-browser suites essentially are interactive Web-like pages defined and controlled by the XUL, JS, and CSS code, which is interpreted at run time.

What you see when you open Mozilla or Netscape 6 (NS6) browser suites is not the Mozilla or NS6 program itself. What you see essentially is an interactive Web page generated by Mozilla and its Gecko layout engine.

Web page is an oversimplification. The Mozilla Web-browser face is similar to a Web page in that it is laid out by Mozilla's Gecko engine much as the Gecko engine lays out a Web page. Mozilla-the-browser is a combination of text, images, widgets and so forth laid out by Gecko to form an interactive user interface. That interactive user interface is very much similar to a Web page. Something we will call a Web-like page here.

Downloading & Using Patch Maker

Patch Maker is limited to the XUL, JS, and CSS code that runs on top of the underlying Mozilla application programming framework, It will not let you create patches for the underlying Mozilla framework.

You can download the Patch Maker script from the Mozilla Organization Web site. You also should read the Patch Maker Web page on the Mozilla Organization Web site. Links for the Patch Maker script and Web page are in the Resources Section at the end of this article.

Patch Maker is designed primarily for Linux. However, according to the PageMaker Web site, you should be able to use Page Maker with Windows if you also download ActivePerl and Cygwin.

If you would like to hack the Mozilla or Netscape browser suites without using Patch Maker, please check our Mozilla-skinning articles, MozillaQuest the Series: Building Your Own Mozilla-Based Web Browser .

For more information about Mozilla the organization, Mozilla the application programming framework, and Mozilla the Web browser suite, please see the series, Mozilla--A Lizard for All Seasons. (Please check the Resources Section at the end of this article for links.)




Resources



Mozilla 0.9.x Releases & Download Links

More Mozilla Roadmap & Development Plan Changes: Mozilla 1.0 Pushed Back to Q3 2001 (April Roadmap revisions)

Mozilla 1.0 Release Pushed Back -- Milestone 0.8.1 Inserted into Development Roadmap Schedule (March Roadmap revisions)

Mozilla Organization Revises Development Roadmap and Product Release Schedule (December Roadmap revisions)


Other Related Mozilla & Netsape Articles

Composer: The Netscape & Mozilla Graphical HTML Editor & Word Processor

Netscape 6.1 Browser-Suite Released Again?

How To Download, Install, & Configure Netscape 6 -- Safely!


MozillaQuest the Series: Building Your Own Mozilla-Based Web Browser

Meet Bugzilla -- Mozilla's Secretary of Bug-Busting & Feature Requests Lizard


For more information about the Mozilla Organization, the Mozilla applications programming framework, and the Mozilla browser, please see:


Copyright 2000, 2001 -- MozillaQuest -- Brodheadsville, Pa..USA -- All Rights Reserved


Recent Articles

Netscape 6.2 Browser Source Code (Mozilla 0.9.4.1) Released

Netscape 6.2 Browser-Suite Released

Mandrake Linux 8.1 Boxed CDs Available Now

SuSE Linux 7.3 Ships In North America

Red Hat Linux 7.2 Distribution Released

AOL 7.0: Good News for AOL Users & Microsoft - Bad News for Netscape & Mozilla

Mozilla Milestone 0.9.5 Browser-Suite Released

Netscape 6.2 Browser-Suite Coming Soon?

Mozilla Organization Opposes W3C (RAND) Patent Policy Proposal

Mozilla 0.9.5 Branched -- Buggier Than Ever

Patch Maker -- Mozilla Hacking & Patching Made Easy

SuSE Linux 7.3 Set for October 22 Release

Mandrake Linux 8.1 Released for Downloading

Mozilla Milestone 0.9.4 Browser-Suite Released

Belkin 4-Port USB Switch for Linux, Mac, & Windows

World Trade Center & Pentagon Aircraft-Bombings - Terrorism ? The Third World War - 11 September Massacre

Laptop & Notebook Docking -- Peripheral Device Sharing

Milestone 0.9.4 Delayed - Turbo Mode & Bugs Slow Mozilla Development to Snail´s Pace - Turbo/Quick-Launch Examined -- Is Mozilla Really Open Source?

Milestone 0.9.4 Delayed - Turbo Mode & Bugs Slow Mozilla Development to Snail´s Pace - Turbo/Quick-Launch Examined -- Is Mozilla Really Open Source?

Netscape Lays-Off Mozilla's Chief Lizard Wrangler, Mitchell Baker, & Others?

SuSE Linux Free for US High Schools

Mozilla Roadmap Update - Mozilla 1.0 Release Set Back to 2002 - Mozilla 0.9.4 Set for 7 September Release

Red Hat E-Commerce Suite - Open Source Software Plus Commercial Tools, Services, & Support

KDE 2.2 Released - Binaries and Source Code Available for Downloading

Caldera OpenLinux Workstation 3.1 - review

Caldera OpenLinux 3.1 - Open UNIX 8

Mozilla 0.9.2 Branches on Schedule, but with Many Bugs

Mozilla 0.9.2 Set for 25 June Release - More Mozilla Roadmap Plan Changes and Chaos

Mozilla Roadmap Plan Changed Again - Mozilla 1.0 Set Back to Q4 2001

Is Netscape Losing the Browser Wars? Part II: Why Are Major Linux Distributions Rejecting Netscape 6?

Is Netscape losing browser war

Red Hat Linux drops Netscape browser

Linux for Microsoft Windows Users #5: Simple Number Crunching, Word Processing, & Photo Viewing with the Windows-Like Desktop for Linux

AbiWord - A Free, Decent, MS Word Clone for the Linux, MS Windows, & Other Platforms

Linux for Microsoft Windows Users: #4-- Getting Started Using the Windows-Like Desktop for Linux

Linux for Microsoft Windows Users: #3 -- Making an MS Windows-Like Desktop for Red Hat Linux

Composer: The Netscape & Mozilla Graphical HTML Editor & Word Processor

Mozilla Milestone 0.8 Browser-Suite RPM Builds Released

Linux for Microsoft Windows Users: #2 -Getting Started with The Linux MS Windows-Like Desktop

Triple-Boot Caldera OpenLinux, Red Hat Linux, & MS Windows for Best of Three Worlds

Linux for Microsoft Windows Users: Introduction & Overview

Meet Bugzilla -- Mozilla's Secretary of Bug-Busting & Feature Requests Lizard

Computer Connections at Home, Office, & School

Some Basics for Computing & Networking Novices

dual-boot Linux & windows for best of both operating system worlds

New Browser War Heats Up -- But It's Netscape vs. Netscape

MozillaQuest the Series -- Building Your Own Mozilla-Based Web Browser:Branding your Lizard

How to Download,, Install, & Configure Netscape 6.0 Safely

MozillaQuest the Series -- Building Your Own Mozilla-Based Web Browser:Skinning the Lizard

MozillaQuest Magic: Enabling Changes Made to Mozilla-Based Browsers & Applications Chrome -- A Tutorial

Mozilla's ChatZilla, The Lizard Speaks:- IRC