This document contains: * What /is/ MozGlade * Using MozGlade * Building MozGlade --------------- As I'm sure you're wondering (because I get this question a lot): What /is/ MozGlade? MozGlade is a project to add a simple, easy-to-configure user interface on top of web browser engines. It was conceived because I need the browsing capabilities of Mozilla, but detest its large, slow interface (this interface is improving in the latest versions of Mozilla, but there are still other issues). The user interface is designed with the GUI builder Glade. The file that Glade outputs to describe the UI is then used by libglade at runtime to actually build the UI. This means (among other things) that if you want to redesign the interface, you can, easily. You can use Glade to build a new UI, then just point MozGlade at the new file. No recompilation is necessary. --------------- Using MozGlade. After installing, there's only one real requirement: setting MOZILLA_FIVE_HOME. This is something the embedded gtk widget depends upon, not MozGlade itself. However, if you don't set it, MozGlade will die with a segfault (technically the embedded widget dies with a segfault, but it's the same effect). The value to which you should set MOZILLA_FIVE_HOME depends on your configuration, but it is the same value to which it should be set for Mozilla. As far as the browsing things are concerned, this /is/ mozilla. --------------- Building MozGlade. First, make sure you have everything you need: Mozilla (either m15 or m16/cvs; if you use m15, see below), libgtkembedmoz (the mozilla/gtk embedded widget), gtkmozembed.h (header for said widget), libglade, libglade-devel, libxml and libxml-devel (libglade requires these), and about 1MB of drive space. libglade and libxml do not depend on Gnome but are distributed as part of Gnome. Libglade takes advantage of gnome widgets with a separate library. libxml doesn't depend on Gnome; rather, most of Gnome depends on libxml. If you want to build against m15, the first thing you'll notice is that the gtk/mozilla embedded widget isn't built by default. So if you just grabbed a binary tarball of m15, and it doesn't contain the widget (most don't; the only notable exception is the one I tossed on alphalinux.org), you're pretty much screwed. You have the option of building m15 for yourself, or grabbing m16. You might as well grab m16, 'cuz the m15 embedded widget is ... barely usable. You don't get much beyond basic browsing. If you want to build against m16, things are easier (unless you're running Linux/Alpha, in which case mozilla/m16 doesn't run right). For starters, the embedded widget is built by default, so you can grab almost any pre-built package and use it. Need Mozilla RPMS? Check Chris Blizzard's site: http://people.redhat.com/blizzard/software/RPMS/. Everything you need should be in those packages. Pointing to Mozilla: If you installed some pre-built package, you probably don't need to worry about this. Most such packages will install things into standard locations which will be found by the compiler and linker automatically. But if for some reason these aren't found automatically (e.g., if you're like me and have mozilla stuff scattered all over your hard drives), you need to tell configure and make where to find things. The easiest way to help configure is to point it at your mozilla distribution tree. For example, when I build MozGlade, I use the command './configure --with-mozilla=/mnt/sda5/mozilla-m15/dist'. Note the 'dist' at the end there -- you're not pointing it at the top of your mozilla tree, you're pointing it at the top of your mozilla distribution. You're pointing it at the location of mozilla's "bin" and "lib" directories, to be precise. If you point it to MOZILLADIR, then MOZILLADIR/bin should contain 'mozilla-config', which will take care of the rest. Mozilla's components are shared libraries, and the embedded gtk widget depends upon them. In addition to telling configure where these things are located, the linker needs to know. How to handle this depends on your compiler and linker. For me, it means I have to set 'LD_LIBRARY_PATH=/mnt/sda5/mozilla/dist/bin'. Last but not least, you need to set MOZILLA_FIVE_HOME. But we already discussed that. Good luck. If you have any questions, comments, or suggestions, send 'em my way or the way of the MozGlade lists. - Bibek