Navigation: Nautilus / Development

Nautilus

Nautilus internals

|-- ChangeLog                      # what happend (also see svn log)
|-- INSTALL                        # installation instructions
|-- MAINTAINERS                    # the people working on Nautilus
|-- docs
|   |-- nautilus-internals.pdf     # some very old documentation
|-- eel                            # the eel library of helper functions
|-- libnautilus-extension          # the public API, exposed to the outside world
|   |-- nautilus-file-info.c       # exposes Nautilus's private nautilus-file.c
|-- libnautilus-private            # this is Nautilus's internals, never exposed
|   |-- nautilus-file.c            # one of the most important files
|-- po                             # translation files
|-- src                            # main source, lots of dialogs etc.
|   |-- nautilus-main.c            # main
|   |-- file-manager               # file manager views and dialogs
|       |-- fm-directory-view.c    # base class for directory views
|       |-- fm-icon-view.c         # icon view
|       |-- fm-list-view.c         # list view
|       |-- fm-properties-window.c # file properties dialog
|-- test                           # tests

Getting Nautilus

Checking out from Git is the best way. See http://live.gnome.org/Git

git clone git://git.gnome.org/nautilus

Building Nautilus

Manually

Requirements

These are all the dependencies for building GNOME in its entirety.

sudo apt-get install gnome-common build-essential doxygen subversion automake1.4 automake1.7 cvs git-core docbook docbook-utils docbook-xsl flex bison texinfo python2.5-dev lynx mono-gmcs libtiff4-dev libxtst-dev libgdbm-dev libxml-simple-perl libelfg0-dev libcupsys2-dev libldap2-dev libexchange-storage1.2-dev libxmu-dev libpam0g-dev libgpgme11-dev libfreetype6-dev libpng12-dev libxrender-dev libxi-dev libexpat1-dev libbz2-dev firefox-dev libxcursor-dev guile-1.8-dev libxdamage-dev libxcomposite-dev libmono-cairo2.0-cil xnest libxft-dev libloudmouth1-0 libloudmouth1-dev libxss-dev libxkbfile-dev gtk-doc-tools libjasper-dev libnl-dev ppp-dev libdv4-dev uuid-dev libpcre3-dev libsqlite3-dev libpurple-dev libcurl4-gnutls-dev libxul-dev

Building

You don't have to make install when building, you can simply run Nautilus from the build directory.

./autogen.sh --prefix /usr
make
./src/nautilus --no-desktop .

Using JHBuild

JHBuild allows you to setup a separate environment for development. You don't have to jhbuild bootstrap nor do a sanitycheck. Your ~/.jhbuildrc should be a copy of sample.jhbuildrc.

jhbuild buildone gvfs
jhbuild buildone gnome-python
jhbuild buildone nautilus-python
jhbuild build nautilus

You should also be able to build a normal Nautilus from the JHBuild shell (see above).

See also

Nautilus/Development/Nautilus (last edited 2009-06-29 21:13:46 by BrucevanderKooij)