Galeon Frequently asked questions
---------------------------------

The following are items you probably shouldn't e-mail or post in the 
mailing lists about, as they are often repeated.

[Index]

1. I'm trying to compile Galeon and it needs gtkmozembed.h.  Where is it?
2. How can I configure what mail program to use for "mailto:" links?
3. Galeon crashes when I goto page X
4. When starting Galeon, I get an gtkmozembed assertion failed 'retval == TRUE'
   error.  What does this mean?
5. Why doesn't downloading work?
6. How can I get my scrollwheel mouse to work with Galeon?
7. Why does Galeon depend on Gnome?  There should be a Gtk+ only version!   
8. I can't compile galeon.  I get ld errors such as this (/usr/include/mozilla/nsCOMPtr.h:552: undefined reference to `nsCString type_info node'). Help!
9. I compiled galeon and mozilla but I still get ld errors.
10. Galeon is using 80MB+ of memory!  What's going on?
11. Galeon seg-faults on startup. What's wrong?

[Q&A]


1. I'm trying to compile Galeon and it needs gtkmozembed.h.  Where is it?

This header is part of Mozilla, and you need to either install the Mozilla
source or find a Mozilla-devel package containing the appropriate headers.
This also applies for nsI*.h.  These steps are described in detail on
the website (http://galeon.sourceforge.net) and in the INSTALL file.


2. How can I configure what mail program to use for "mailto:" links?

We don't have a configuration option for this because Galeon uses the
GNOME URL handler for "mailto:".  Please add/edit a mailto handler
in the GNOME control center for the client of choice.


3. Galeon crashes when I goto page X

Unless you are really sure that it's Galeon's fault, it's likely
Mozilla.  Try updating to a newer version, and if that doesn't work
consider reporting the problem to the Mozilla team.


4. When starting Galeon, I get an gtkmozembed assertion failed 'retval == TRUE'
   error.  What does this mean?

The full error message for this usually looks like this:

** CRITICAL **: file gtkmozembed.cpp: line 298 (void gtk_moz_embed_init(struct GtkMozEmbed *)): assertion 'retval == TRUE' failed.

If this happens, it usually means there is a problem or incompatibility
with your Mozilla installation.  Try manually exporting/setting your
MOZILLA_FIVE_HOME environment variable and then executing 'galeon-bin'.
This is known to work sometimes, but it's also known to not work for some
users (Debian installations in particular).


5. Why doesn't downloading work?

GTM (Gnome Transfer Manager) is used with Galeon for downloading.  Galeon
uses CORBA to request that GTM downloads files, so a working Gnome/CORBA
setup is required.

GTM is available at http://gtm.sourceforge.net


6. How can I get my scrollwheel mouse to work with Galeon?

Galeon supports scrollwheel mice natively.  If your other applications
work fine with the wheel and Galeon does not, it could be because other
programs (such as Imwheel) are interfering.  However, even with Imwheel
the wheel can still be used if the wheel is pushed down while scrolled
(I'm not sure why, and this may only be true for Logitech mice).

If your wheel doesn't work at all for any applications, you probably need
to configure your X server.  For XFree86, this can be done by adding
the line "ZAxisMapping 4 5" to the "Pointer" (mouse) section of XF86Config.

If you still want to use imwheel for the wheelmouse support in other
applications, you can place the following two lines in your ~/.imwheelrc
file to tell imwheel not to interfere with Galeon:

"^Galeon"
@Exclude

Simply place that in your imwheelrc file and restart imwheel.



7. Why does Galeon depend on Gnome?  There should be a Gtk+ only version!

First of all, from the very start Galeon has always intended to be a
Gnome web browser.  If you don't use Gnome, then Galeon probably isn't
a very good choice for the time being.

So why lock Galeon into the Gnome environment?  There are many advantages
to using the existing Gnome libraries.  Contrary to what some think,
depending on existing libraries to do typical tasks in modern desktop
applications is NOT bloat.  In fact, it's the exact opposite of bloat.
The bottom line is that implementing our own toolbar, our own configuration
mechanism, our own session management, our own download manager, and our
own dialogs would be counter-productive.

Galeon relies on many standard Gnome libraries (gtk+, libgnome, libglade,
libxml, etc.).  Given these requirements, how much would we gain by removing
the Gnome dependency?  This is not only illogical, but conflicts with
some of Galeon's other goals of integrating nicely with the Gnome desktop.

However, if you absolutely don't want to use Gnome, there is now a project
known as SkipStone which implements a Gtk+-only web browser.
See http://www.muhri.net/skipstone/ for more information.

8. I can't compile galeon.  I get ld errors such as this (/usr/include/mozilla
/nsCOMPtr.h:552: undefined reference to `nsCString type_info node'). Help!

This is due to the fact that you're trying to compile galeon and mozilla with 
a different compiler version.
Download the right mozilla package for you distribution. (Take a look at
http://galeon.sourceforge.net/download.html)

9. I compiled galeon and mozilla but I still get ld errors.

Note that both applications must be compiled not only with the same
version of compiler, but also with the same compiler flags. For
example with gcc Mozilla by default adds -fno-rtti and -fno-exceptions
or -fno-handle-exceptions (depends on gcc version). Galeon now adds
-fno-rtti, which should be normally be sufficient. This can be
disabled with the --enable-cpp-rtti flag to ./autogen.sh.

If you need further flag changes, you have two chances to get things
in sync:

1)
Compile mozilla with this .mozconfig script: (You must place it in your home directory) 

# sh
# Build configuration script
#
# See http://www.mozilla.org/build/unix.html for build instructions.
#

# Options for 'configure' (same as command-line options).
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --enable-strip-libs
ac_add_options --disable-mailnews
ac_add_options --enable-optimize

2)
Configure mozilla with standard configure script and compile it. Before
configuring galeon set proper CXXFLAGS. For example with latest gcc it
means:

CXXFLAGS='-fno-exceptions'
export CXXFLAGS

For more see configure.in in mozilla source. You can save some space by
disabling RTTI.


10. Galeon is using 80MB+ of memory!  What's going on?

On Linux systems, threads are essentially visible as seperate processes
to many user-space applications.  This means that process X, using
10MB of memory with 5 threads sharing that same 10MB will appear to
consume 50MB (though it is not).  Only count one process, not all of
them (this is true for many other applications besides Galeon).

11. Galeon seg-faults on startup. What's wrong?

Make sure the MOZILLA_FIVE_HOME environment variable points to the
directory where the Mozilla executables are installed.  If Mozilla is
compiled from source, try mozilla_build_dir/dist/bin.


