Navigation: Nautilus / Development |
Nautilus
Nautilus internals
Please see nautilus-internals.pdf, it's a little bit outdated (ignore references to Bonobo for example) but it explains a lot of this in more detail.
|-- 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
See 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).
