No description
Find a file
Havoc Pennington 408dcac2a8 fix EEL_DEFINE_BONOBO_BOILERPLATE call
2001-11-01  Havoc Pennington  <hp@pobox.com>

	* src/nautilus-view-frame-corba.c: fix
	EEL_DEFINE_BONOBO_BOILERPLATE call

	* src/nautilus-property-browser.c
	(nautilus_property_browser_init): mnemonics

	* src/nautilus-complex-search-bar.c
	(attach_criterion_to_search_bar): use gtk_widget_activate instead
	of eel_gtk_button_auto_click

	* src/nautilus-simple-search-bar.c
	(nautilus_simple_search_bar_new): ditto

	* src/nautilus-sidebar.c (nautilus_sidebar_update_buttons):
	remove eel_gtk_button_set_standard_padding, add mnemonic to
	button

	* src/nautilus-bookmarks-window.c (create_bookmarks_window):
	remove eel_gtk_button_set_standard_padding, add mnemonic to
	button

	* src/file-manager/fm-properties-window.c (create_basic_page):
	remove eel_gtk_button_set_standard_padding, add mnemonics to
	buttons

	* src/file-manager/fm-directory-view.c (copy_or_cut_files): remove
	use of eel_get_current_event_time()
	(paste_files_callback): ditto

	* Makefile.am (SUBDIRS): cut-n-paste-code seems to be required by
	libnautilus-private, so move it before libnautilus-private

	* libnautilus-private/nautilus-undo-manager.c: fix
	EEL_DEFINE_BONOBO_BOILERPLATE call

	* libnautilus-private/nautilus-undo-context.c: fix
	EEL_DEFINE_BONOBO_BOILERPLATE call

	* libnautilus-private/nautilus-program-chooser.c
	(nautilus_program_chooser_new): axe
	eel_gtk_button_set_standard_padding, add mnemonic to button
	(nautilus_program_chooser_new): axe
	eel_gtk_button_set_standard_padding, add mnemonic to button

	* libnautilus-private/nautilus-metafile.c: fix
	EEL_DEFINE_BONOBO_BOILERPLATE call

	* libnautilus-private/nautilus-metafile-factory.c: fix
	EEL_DEFINE_BONOBO_BOILERPLATE call

	* libnautilus-private/nautilus-icon-dnd.c
	(nautilus_icon_dnd_begin_drag): replace eel_drag_set_icon_pixbuf

	* libnautilus-private/nautilus-directory-metafile-monitor.c: fix
	EEL_DEFINE_BONOBO_BOILERPLATE call

	* libnautilus/nautilus-undo-transaction.c: fix
	EEL_DEFINE_BONOBO_BOILERPLATE call
2001-11-02 03:47:34 +00:00
components Lots of files in components/help Intregation of scrollkeeper indexing 2001-11-01 19:41:32 +00:00
cut-n-paste-code cut-n-paste-code now compiles, and we are a hair's breadth away from 2001-10-31 00:31:00 +00:00
data First baby steps at compiling under gnome 2. 2001-10-24 17:23:35 +00:00
docs Updated bugzilla.eazel.com references to refer to the 2001-09-15 19:18:15 +00:00
help Updating doc build stuff so it works properly on RH7.1 and any other newer 2001-07-22 18:53:29 +00:00
icons i18n fixes for cpu speed and cache size (fixes #45298) Fix #48322, Theme 2001-09-28 09:41:57 +00:00
libnautilus fix EEL_DEFINE_BONOBO_BOILERPLATE call 2001-11-02 03:47:34 +00:00
libnautilus-adapter More GNOME 2 work. We now compile up to libnautilus-private and I'm 2001-10-28 20:21:52 +00:00
libnautilus-private fix EEL_DEFINE_BONOBO_BOILERPLATE call 2001-11-02 03:47:34 +00:00
omf-install Left-justifying the labels in the help sidebar. Also changed strings to 2001-04-25 03:47:07 +00:00
po Updated Slovenian translation 2001-11-02 00:24:07 +00:00
src fix EEL_DEFINE_BONOBO_BOILERPLATE call 2001-11-02 03:47:34 +00:00
test More GNOME 2 work. We now compile up to libnautilus-private and I'm 2001-10-28 20:21:52 +00:00
user-guide Ignore generated files. 2001-02-26 19:21:04 +00:00
.cvsignore First baby steps at compiling under gnome 2. 2001-10-24 17:23:35 +00:00
acconfig.h Require newer versions of various libraries to cut down on the bug reports 2001-10-09 21:46:21 +00:00
add-include-prefix First baby steps at compiling under gnome 2. 2001-10-24 17:23:35 +00:00
AUTHORS Load filesystems from an XML file rather than hardcoding the various 2001-08-15 06:35:04 +00:00
autogen.sh First baby steps at compiling under gnome 2. 2001-10-24 17:23:35 +00:00
ChangeLog fix EEL_DEFINE_BONOBO_BOILERPLATE call 2001-11-02 03:47:34 +00:00
ChangeLog-20000414 Added appropriate copyright notices. 2000-04-14 06:40:27 +00:00
ChangeLog-20000625 Updated based on recent check-ins and other contributions. 2001-01-24 18:39:46 +00:00
ChangeLog-20000831 New script to make sure we're giving credit appropriately - should be run 2000-09-24 17:32:34 +00:00
ChangeLog-20001018 xml-i18n-toolized Nautilus (plus a bit of other cleanup) as part 2001-01-05 13:10:51 +00:00
ChangeLog-20010201 reviewed by: John Sullivan <sullivan@eazel.com> 2001-02-13 22:27:46 +00:00
ChangeLog-20010420 ChangeLog, Rolled over to ChangeLog-20010420. 2001-04-21 00:07:18 +00:00
check-config-h.pl Updated bugzilla.eazel.com references to refer to the 2001-09-15 19:18:15 +00:00
check-FIXME.pl Updated bugzilla.eazel.com references to refer to the 2001-09-15 19:18:15 +00:00
check-headers-in-Makefile.pl Updated bugzilla.eazel.com references to refer to the 2001-09-15 19:18:15 +00:00
check-POTFILES.pl Updated bugzilla.eazel.com references to refer to the 2001-09-15 19:18:15 +00:00
check-signals.pl Updated bugzilla.eazel.com references to refer to the 2001-09-15 19:18:15 +00:00
check-strings-functions reviewed by: John Sullivan <sullivan@eazel.com> 2001-03-01 02:27:32 +00:00
check-strings-patterns reviewed by: John Sullivan <sullivan@eazel.com> 2001-03-01 02:27:32 +00:00
check-strings.pl Updated bugzilla.eazel.com references to refer to the 2001-09-15 19:18:15 +00:00
check-THANKS.pl Updated bugzilla.eazel.com references to refer to the 2001-09-15 19:18:15 +00:00
configure.in Removed nautilus-config and nautilusConf.sh stuff. Get rid of applets, 2001-11-01 01:24:25 +00:00
COPYING added COPYING file with header referencing the TRADEMARK_NOTICE file 2001-03-02 04:44:05 +00:00
COPYING-DOCS reviewed by: Pavel Cisler <pavel@eazel.com> 2001-02-22 10:26:22 +00:00
COPYING.LIB Just adding copyright/license notices, and a copy of the LGPL. 1999-12-07 19:59:42 +00:00
CVSVERSION New file, used to detect whether we are configuring a cvs version or a 2000-08-08 01:36:50 +00:00
gnome-starthere-96.png Merge some stuff from the redhat-outstanding-patches branch 2001-09-05 17:12:22 +00:00
gnome-starthere.png Merge some stuff from the redhat-outstanding-patches branch 2001-09-05 17:12:22 +00:00
HACKING removed Remove the code to look for Eazel logos. 2001-10-05 23:28:55 +00:00
indent.sh Add an entry for Bart. Update switches (one was wrong for Nautilus style). 2001-05-04 17:44:11 +00:00
MAINTAINERS Changed to the new Nautilus list instead of the old secret list. 2000-04-27 22:54:19 +00:00
Makefile.am fix EEL_DEFINE_BONOBO_BOILERPLATE call 2001-11-02 03:47:34 +00:00
Makefile.shared Fixed bug 4057 (clicking the back button while opening a huge 2000-10-30 19:22:43 +00:00
nautilus-clean.sh attach to size_allocate signal to properly resize the panel when the width 2001-04-26 01:33:32 +00:00
nautilus-help.desktop.in Merge some stuff from the redhat-outstanding-patches branch 2001-09-04 15:37:11 +00:00
nautilus-launch-icon.png Fix bug 4155. Nautilus Panel launching icon installed in the wrong place. 2000-10-29 00:28:47 +00:00
nautilus.desktop.in Added new file The desktop file is soon going to be generated. 2001-01-20 21:12:31 +00:00
nautilus.spec.in Require newer versions of various libraries to cut down on the bug reports 2001-10-09 21:46:21 +00:00
NEWS Add mention of Mozilla 0.9.5. Thank Frank. Make a little more up to date, 2001-10-19 16:17:10 +00:00
README Try to be kinda up to date. Fix dependencies. I removed too many last time 2001-11-01 01:01:49 +00:00
RENAMING Replace authn with authentication throughout. 2001-09-02 02:56:48 +00:00
THANKS Add mention of Mozilla 0.9.5. Thank Frank. Make a little more up to date, 2001-10-19 16:17:10 +00:00
TODO Updated bugzilla.eazel.com references to refer to the 2001-09-15 19:18:15 +00:00
TRADEMARK_NOTICE added this trademark notice, which is to appear in /usr/doc/nautilus on the user's system once Nautilus has been installed 2001-03-02 05:13:47 +00:00

This file contains build instructions for Nautilus, the GNOME shell
and file manager. At some point we probably should move these to
INSTALL or HACKING and put a user-oriented README here instead.

====================
0: Table of contents
====================

0: Table of contents
1: Hacking
2: Introduction
3: Distribution-specific notes
4: Compiling
5: Issues when running Nautilus
6: Mozilla support
7: FreeType issues

==========
1: Hacking
==========

If you would like to hack on Nautilus, or have patches, please send
mail to the Nautilus maintainer: Darin Adler <darin@bentspoon.com>.
Patches should also be sent to the Nautilus mailing list:
<nautilus-list@lists.eazel.com>

The HACKING file contains other things you should know when hacking on
Nautilus and when contributing code. Please, make sure you check the
coding style document in docs/style-guide.html and other documents
found in the "docs" directory.

===============
2: Introduction
===============

To build Nautilus without interfering with an existing GNOME install,
you will need to build several components either from CVS or from 
tarballs into a separate prefix. Detailed instructions on how
to accomplish this are available in section 4.

==============================
3: Distribution-specific notes
==============================

The following describes the libraries that Nautilus hackers use for
development and what we have tested with. At the moment, we make no
guarantees one way or another about whether Nautilus will work with
other versions.

You will also need the library package that is associated with each
development package, these versions are for Red Hat 6.2 and Debian
"potato":

library         Red Hat                     Debian                          approx. version
--------------  ------------------------    ------------------------------  ------------------
audiofile       audiofile-devel-0.1.9-3     libaudiofile-dev (0.1.9-0.1)    0.1.9
esound          esound-0.2.20               ?                               0.2
libc            glibc-devel-2.1.3-15        libc6-dev (2.1.3-10)            2.1.3
libc++          egcs-c++-1.1.2-30           libstdc++2.10-dev (2.95.2-12)   2.9.0, 2.10
libjpeg         libjpeg-devel-6b-10         libjpeg62-dev (6b-1.2)          6b 1.0-1.2
libpng          libpng-devel-1.0.5-3        libpng2-dev (1.0.5-1)           1.0.5
libtiff         libtiff-devel-3.5.4-5       libtiff3g-dev (3.5.4-5)         3.5.4
libungif        libungif-devel-4.1.0-4      libungif3g-dev (3.0-3)          3.0 or 4.1.0
Xlib            XFree86-devel-3.3.6-20      xlib6g-dev (3.3.6-7)            3.3.6
zlib            zlib-devel-1.1.3-6          zlib1g-dev (1.1.3-5)            1.1.3
freetype2       freetype2-devel-1.0beta8    ?                               1.0beta8
scrollkeeper    scrollkeeper-0.1.0-1        ?                               0.1.0

Other modules for Red Hat users:

        - For most modules, the versions in Red Hat 6.1 or 6.2 will do (listed above).
        - ORBit requires popt-1.5, which can be fetched from:

        ftp://ftp.valinux.com/pub/mirrors/redhat/rawhide/i386/RedHat/RPMS/popt-1.5-0.45.i386.rpm
        ftp://ftp.valinux.com/pub/mirrors/redhat/redhat/redhat-6.2/i386/RedHat/RPMS/popt-1.5-0.48.i386.rpm

        - FreeType packages are available here:

        http://developer.eazel.com/eazel-hacking/updates/redhat62/freetype2/freetype-2.0.1-4.i386.rpm
        http://developer.eazel.com/eazel-hacking/updates/redhat62/freetype2/freetype-devel-2.0.1-4.i386.rpm

	- ScrollKeeper source and packages are available here:

	http://sourceforge.net/project/showfiles.php?group_id=11543

Replace "redhat62" with "redhat70" if you are using RedHat Linux 7.0.

Other modules for Debian users: using potato, or possibly woody

If you need to get a copy of popt from source: 

        CVSROOT=:pserver:anonymous@cvs.rpm.org:/cvs/devel
        The default password is a carriage return.  You should do a cvs co popt

=====================
4: Compiling from cvs
=====================

Compiling from cvs a lot of work, and some packages may not compile at
any given moment when you check them out.

First, make sure you have installed the packages detailed below. If
you are running GNOME from binaries (Helix Code or your native
distribution binaries), please make sure you have installed the
corresponding development packages. (i.e.: the *-devel packages which
provide the necessary C header files.

Then, make sure you have no old version of the packages nautilus
depends on on your system. You can check the version of the relevant
packages by trying to execute "package-config --version" (ie:
gnome-config --version will report gnome-libs version, gconf-config
--version will report gconf's version).

The requirement is basically "the GNOME2 platform". Any differences
from that will be listed here in this table.

    module             branch             configure options
    ------             ------             -----------------
    popt:              <1.5, not from GNOME CVS, see above>
    glib:              HEAD
    gtk+:              HEAD
    imlib:             HEAD
    gnome-xml:         HEAD
    ORBit:             HEAD
    intltool:          HEAD
    bonobo-activation: HEAD
    gconf:             HEAD
    gnome-vfs:         HEAD
    libbonobo:         HEAD
    librsvg:	       HEAD
    eel:	       HEAD
    nautilus:          HEAD

One difference between tarball and cvs compilation is that when you
get stuff from cvs, you don't get a configure script. This script has
to be generated.  This script is usually generated with the help of
another script available from cvs named "autogen.sh". For those
interested, "autogen.sh" will run in turn aclocal, automake, autoconf
and configure. You thus need versions of the GNU tools for the
following packages:

        package         version       command
        -------         -------       -------
        automake        1.4p4         automake --version
        autoconf        2.52          autoconf --version

Earlier versions might work but no one has tested them.

You will need to create the ${prefix}/share/aclocal directory
before compiling any package and setup the following environment
variable:

        export ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I ${prefix}/share/aclocal"

We assume you want to install these packages in another prefix than
/usr since you want to keep a working system. For the following, we
assume you are installing in /usr/local. ie: ${prefix}=/usr/local

Redefine your PATH environment variable:

        export PATH=$PATH:${prefix}/bin

Redefine your LD_LIBRARY_PATH environment variable:

        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${prefix}/lib

Redefine your GNOME_PATH environment variable:

        export GNOME_PATH=$GNOME_PATH:${prefix}

In the order defined above and with the specific options detailed
above for each package, you should run the autogen scripts:

        ./autogen.sh --prefix=${prefix} <special-options>

Then:

        make

Then get root and:

        make install.

===============================
5: Issues when running Nautilus
===============================

There's a script named nautilus-clean.sh, at the top level of the
Nautilus sources. If bonobo-activation or GConf changes, you may need
to run this script to get Nautilus to work properly. One way to invoke
it is like this:

        nautilus-clean.sh -x

==================
6: Mozilla support
==================

Nautilus includes support for browsing HTML content on the local
computer as well as remote web servers. HTML content is handled by the
Nautilus Mozilla component. This component can be optionally built
with Nautilus. It is automatically enabled at configure time if
Mozilla development libraries are detected on your system.

The recommended version of Mozilla for use with Nautilus is 0.9.5.

The latest Mozilla packages can be found here:

ftp://ftp.mozilla.org/pub/mozilla/releases/mozilla0.9.5/

After installing these packages (RPMs for example) you can build Nautilus
with Mozilla support as follows:

        cd nautilus
        rm -f config.cache config.status
        ./configure

The configure script should automatically detect and use the Mozilla
development libraries.

Alternatively, you can build Mozilla from source and use that.  Lets
say that you built Mozilla in /foo/bar.  You can build nautilus with
support for that Mozilla build as follows:

        cd nautilus
        rm -f config.cache config.status
        ./configure --with-mozilla-lib-place=/foo/bar/mozilla/dist/bin
            --with-mozilla-include-place=/foo/bar/mozilla/dist/include

NOTE: The above configure command should be issued in one line. It is
split into two lines in this document for readability.

NOTE: If you are building mozilla from source (NOT from the rpm), you
need to do some environment setup for the Mozilla component:

        export MOZILLA_FIVE_HOME=/foo/bar/mozilla/dist/bin
        export LD_LIBRARY_PATH=/foo/bar/mozilla/dist/bin:$LD_LIBRARY_PATH

If you experience linking problems (e.g. undefined reference to
`nsString type_info node'), please note that both applications
(mozilla and nautilus) must be compiled not only with the same version
of compiler, but also with the same compiler flags. Download the right
mozilla package for your distribution (see upper).

If you have built Mozilla from source, Mozilla by default adds
CXXFLAGS -fno-rtti and -fno-exceptions or -fno-handle-exceptions
(depends on gcc version).  You have two chances to make 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 --enable-cpp-rtti
        ac_add_options --disable-mailnews
        ac_add_options --enable-optimize

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

        CXXFLAGS='-fno-rtti -fno-exceptions'
        export CXXFLAGS

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

As an alternative, if you don't want to use the Nautilus web page
viewer that uses Mozilla, you can disable the Mozilla component (even
if Mozilla development libraries are installed in your system) as
follows:

        ./configure --disable-mozilla-component

Mike Fleming has written some useful information about common
Mozilla problems and how to fix them.  This information can be
found in the Nautilus Support FAQ:

	http://www.eazel.com/nautilus-faq.html

==================
7: FreeType issues
==================

Nautilus includes support for rendering anti aliased text (smooth
mode). For smooth mode to work, the Nautilus library librsvg needs
to detect and use FreeType2 in your system.

To learn more about FreeType2, please see:

        http://freetype.sourceforge.net/

If you are using a RedHat 6.x or greater system, then you can easily
add FreeType2 support by installing the rpms found here:

        http://developer.eazel.com/eazel-hacking/updates/redhat62/freetype2

Replace "redhat62" with "redhat70" if you are using RedHat Linux 7.0.

Originally, the Freetype 2 rpm that we used for Nautilus was called "freetype2".
Now that RedHat 7.1 is is coming around, they have included freetype 2 in their 
distribution.  They called the rpm "freetype-2" (Freetype Version 2).  Their 
freetype-2 rpm contains both Freetype version 1 and Freetype version 2.  In
order to avoid naming conflicts, we have renamed our freetype2 rpm to freetype-2.
This will cause problems for people upgrading from our old rpms to our new ones.
To remove the old rpms,

1) su
   <password>
2) rpm -e --nodeps freetype2 freetype2-devel
3) Install the new Freetype-2 rpms: rpm -Uvh freetype*2.0.1*.rpm

=======================
8: Scrollkeeper support
=======================

Scrollkeeper is the documentation cataloging system based on document metadata.
It works with Nautilus to manage the documentation of installed packages
on your system.

Nautilus documentation is set up with metadata needed by Scrollkeeper. In order 
to get the docs fully installed by Scrollkeeper the latest Scrollkeeper has to be 
installed from here:

	http://sourceforge.net/project/showfiles.php?group_id=11543

This is needed for building and for installing Nautilus.

The RPM installs below /usr. Scrollkeeper does a pre-install during build. Here it
doesnt matter where Scrollkeeper is installed.

At Nautilus install time Scrollkeeper installs the docs only if the metadata 
is in $prefix/share/omf. This will be correct only if Nautilus and Scrollkeeper 
are installed below the same prefix. If the Nautilus docs are not in the Nautilus 
help sidebar then this did not happen.