Commit 3d7d6e3c authored by Paolo Bacchilega's avatar Paolo Bacchilega

Initial revision

Main author:
Paolo Bacchilega <>
Claudio Bley <>
2002-07-27 Paolo Bacchilega <>
* (GNOME_VFS_REQUIRED): updated required libraries
* src/dlg-viewer.c (dlg_viewer): do not let edit the text.
2002-07-24 Paolo Bacchilega <>
* help/C/file-roller.xml: s/directory/folder/g
2002-07-23 Paolo Bacchilega <>
* src/main.c (install_scripts): ensure the existence of the scripts
folder before installing the scripts.
2002-07-19 Paolo Bacchilega <>
* src/fr-command-zip.c (mktime_from_string): Fixed year computation.
* src/dlg-preferences.c (dlg_preferences): Add an option to install or
remove Nautilus scripts.
2002-07-18 Paolo Bacchilega <>
* src/window.c (open_nautilus): escape folder name.
* src/main.c (install_scripts): New functions to install the nautilus
* src/preferences.[ch]: New option to keep trace whether we need to
install the scripts.
* scripts/Add_to_archive:
* scripts/Extract_here:
* scripts/Extract_in_a_subfolder:
* scripts/Extract_to: Fixed handling of paths with spaces.
2002-07-11 Paolo Bacchilega <>
* src/window.c (open_nautilus): Use g_spawn_command_line_async instead
of gnome_execute_shell and display an error dialog if this is the case.
2002-07-08 Paolo Bacchilega <>
* src/window.c (window_view_last_output):
* src/misc.c (misc_error_dialog_new): Use bytes_written as text len.
2002-07-06 Paolo Bacchilega <>
* src/window.c (window_close): destroy the tooltips when closing
the window.
2002-07-05 Paolo Bacchilega <>
* help/C/file-roller.xml: Updated documentation of the extraction
* src/dlg-extract.c (dlg_extract):
* src/dlg-preferences.c (dlg_preferences): Add the help button.
* src/fr-process.c (start_current_command): Free command string.
2002-07-04 Paolo Bacchilega <>
* src/file_roller.glade2: reorganize the extraction dialog.
* src/dlg-extract.c:
* src/window.c (_action_performed):
* src/preferences.c: Add an option to view the destination folder
after the extraction.
2002-07-02 Paolo Bacchilega <>
* src/window.c (window_view_file):
* src/fr-archive.c (fr_archive_extract): create the temp dirs with 0700
* src/window.c (file_list_drag_begin):
* src/dlg-extract.c (ok_clicked_cb): create destination dirs with 0755
* src/dlg-add.c (save_options_cb):
(load_options_cb): Create .file-roller dir with 0700 mode.
* src/file-utils.c (ensure_dir_exists): Add a mode parameter.
2002-06-30 Paolo Bacchilega <>
* src/misc.c (misc_error_dialog_new): set resizable to FALSE.
* updated.
2002-06-28 Paolo Bacchilega <>
* src/dlg-open-with.c (app_activated_cb):
(recent_activated_cb): Use row_activated signal to start command.
2002-06-27 Paolo Bacchilega <>
* src/misc.c (misc_error_dialog_new):
* src/window.c (window_view_last_output): convert to UTF-8 before
displaing output.
2002-06-18 Paolo Bacchilega <>
* src/window.c (_window_update_sensitivity): make password item
sensitive only when the command support passwords.
(get_file_list_from_url_list): unescape dropped files paths.
* src/menu.h: options menu re-arranged.
2002-06-17 Paolo Bacchilega <>
* src/menu.h: actions menu re-arranged.
* src/dlg-extract.c (ok_clicked_cb): Check directory existence and
permissions here and do not close the dialog if an error occurred so
the user can re-type the directory without invoking the command again.
* src/window.c (open_files):
* src/main.c (command_done):
(release_data): remove temp dirs at exit, not when the external
applications are closed.
* src/fr-process.c (fr_process_finalize): do not emit signals when
finalizing the process.
2002-06-09 Paolo Bacchilega <>
* remove viewer subdir.
* src/window.c (view_file): Use Nautilus as document viewer. If the
file has no mime type or action associated use the internal viewer.
* src/dlg-viewer.h:
* src/dlg-viewer.c: The internal viewer is now a simple text viewer.
* src/gnome-vfs-helpers.h:
* src/gnome-vfs-helpers.c: Used by the internal viewer to load the
2002-06-08 Paolo Bacchilega <>
* src/dlg-password.c:
* src/dlg-password.h: New files. Implement the password dialog.
* src/window.h:
* src/window.c: Added a password variable.
* src/fr-command.h:
* src/fr-command.h: Added a password argument to add and extract.
* src/fr-command-zip.c (fr_command_zip_test): Implement the test.
* src/fr-command.h:
* src/fr-command.c: Added a virtual test function.
* src/fr-process.c (fr_process_set_err_line_func): new function used
to process the standard error.
(fr_process_set_out_line_func): renamed fr_process_set_proc_line_func
to fr_process_set_out_line_func.
* src/fr-process.h: Added an error buffer.
* src/fr-process.c (start_current_command): uses
2002-06-05 Paolo Bacchilega <>
* help/*: Manual.
* src/*.glade2
* src/dlg-add.c (add_cb): Added mnemonics to all dialogs.
2002-06-03 Paolo Bacchilega <>
* src/file-utils.c: add ';' to bad_char.
2002-05-27 Paolo Bacchilega <>
* added AC_PREREQ(2.50)
2002-05-18 Paolo Bacchilega <>
* all files: merged changes from file-roller 1.0.1
2002-05-04 Paolo Bacchilega <>
* viewer/main.c (build_component_menu): Use a menu to show available
2002-05-03 Paolo Bacchilega <>
* src/window.c (get_icon): Add a reference to the pixbuf if we use an
internal icon.
(get_icon_path_from_name): Add .nautilus/themes to the search path.
2002-05-02 Paolo Bacchilega <>
* scripts/: Added Extract_here and Extract_in_a_subfolder
2002-04-29 Paolo Bacchilega <>
* src/main.c (prepare_app): Added '--force' command line option.
2002-04-26 Paolo Bacchilega <>
* src/menu.h: Added some keyboard shortcuts.
* imported all files
Translations can be updated without asking, just remember to add
an entry in po/ChangeLog
Send patches to the maintainer ( and get
approval before committing.
Patches must contain a ChangeLog entry.
You have to follow the style of the rest of the code even if you
don't like it. The code style is K&R with 8 space tabs.
*) src/fr-process.c : A class that lets you execute commands in
sequence. You can define a command as sticky if you want that it must
be executed even if a previous command has failed.
*) src/fr-command.c : An abstract class used as base to define archiving
utilities interfaces. For example fr-command-tar.c implements an
interface for the tar command. FRCommands use an FRProcess object to
execute commands.
*) src/fr-archive.c : A class that implements the archive concept. An
FRArchive object can load any archive type of which there is a
corrisponding FRCommand interface. It adds high level operations as
add_with_wildcard, add_directory, and implements options not supported
by the archiving utility. For example, you can extract files from a
tar archive without recreating the path even if the tar command do not
support this feature. If an option is supported natively by an utility
the command line option is used.
*) src/window.c : Implements the window object.
*) src/dlg-*.c : All files that start with dlg- implement a dialog.
Basic Installation
These are generic installation instructions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, a file
`config.cache' that saves the results of its tests to speed up
reconfiguring, and a file `config.log' containing compiler output
(useful mainly for debugging `configure').
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If at some point `config.cache'
contains results you don't want to keep, you may remove or edit it.
The file `' is used to create `configure' by a program
called `autoconf'. You only need `' if you want to change
it or regenerate `configure' using a newer version of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. If you're
using `csh' on an old version of System V, you might need to type
`sh ./configure' instead to prevent `csh' from trying to execute
`configure' itself.
Running `configure' takes awhile. While running, it prints some
messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
4. Type `make install' to install the programs and any data files and
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
Compilers and Options
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. You can give `configure'
initial values for variables by setting them in the environment. Using
a Bourne-compatible shell, you can do that on the command line like
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
Or on systems that have the `env' program, you can do it like this:
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
Compiling For Multiple Architectures
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
If you have to use a `make' that does not supports the `VPATH'
variable, you have to compile the package for one architecture at a time
in the source code directory. After you have installed the package for
one architecture, use `make distclean' before reconfiguring for another
Installation Names
By default, `make install' will install the package's files in
`/usr/local/bin', `/usr/local/man', etc. You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PATH'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PATH', the package will use
PATH as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=PATH' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Specifying the System Type
There may be some features `configure' can not figure out
automatically, but needs to determine by the type of host the package
will run on. Usually `configure' can figure that out, but if it prints
a message saying it can not guess the host type, give it the
`--host=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name with three fields:
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the host type.
If you are building compiler tools for cross-compiling, you can also
use the `--target=TYPE' option to select the type of system they will
produce code for and the `--build=TYPE' option to select the type of
system on which you are compiling the package.
Sharing Defaults
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/' if it exists, then
`PREFIX/etc/' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Operation Controls
`configure' recognizes the following options to control how it
Use and save the results of the tests in FILE instead of
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
debugging `configure'.
Print a summary of the options to `configure', and exit.
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
Print the version of Autoconf used to generate the `configure'
script, and exit.
`configure' also accepts some other, not widely useful, options.
## Process this file with automake to produce
src \
scripts \
help \
desktopdir = $(datadir)/applications
desktop_DATA = $(
icondir = $(datadir)/pixmaps
icon_DATA = file-roller.png
applicationsdir = $(datadir)/application-registry
applications_DATA = file-roller.applications
mimedir = $(datadir)/mime-info
mime_DATA = file-roller.mime file-roller.keys
file-roller.spec \ \ \ \ \
omf.make \
xmldocs.make \
$(desktop_in_files) \
$(desktop_DATA) \
$(applications_DATA) \
$(mime_DATA) \
version 2.0.0
* New option to install and remove the nautilus scripts automatically.
version 1.109
* Added option to view the destination folder after extraction.
* Updated documentation.
* bugfixes.
version 1.108
* re-arranged menus.
* bugfixes.
version 1.107
* added support for encrypted zip archives.
* added test operation for zip archives.
* added mnemonics to all dialogs.
* use Nautilus as document viewer.
* user manual.
* handle archives with a ';' in the name.
* use g_spawn to create processes.
version 1.106
* the user can specify files to exclude when adding files with
the wildcard.
* the user can save and load add dialog options.
* ask whether to overwrite the file when copying, moving or renaming
an archive.
* added ability to rename compressed files.
version 1.105
* The document viewer shows the components list in a submenu.
* bugfixes.
version 1.104
* bugfixes.
version 1.103
* bugfixes.
version 1.102
* bugfixes.
version 1.101
* ported to GNOME 2.
version 0.8
* added support for single files compressed with gzip, bzip, bzip2,
compress, lzop.
* non-interactive mode to automatically add files to archives.
* added two Nautilus scripts to extract archives and add files to
* use the MIME database to decide whether to use the viewer or
the associated application when double-clicking on a file, or
ask the user what to do if no entry is available in the database.
* bugfixes.
version 0.7
* the user can choose the columns to show in the file list.
* when extracting to a non existing directory ask the user whether
to create it.
* bugfixes.
version 0.6
* non-interactive mode to automatically extract archives.
* can open multiple files at command line.
* works faster when adding and removing a lot of files from
compressed tar archives.
* works better when files in archives have strange characters.
* fixed a bug when adding files with wildcard.
* fixed a bug when 'view all files' mode is used.
* fixed a bug when using tbz and tbz2 extensions.
* minor bugfixes.
version 0.5
* added support for ear, war, tbz and tbz2 archives (me, Claudio Bley).
* better rar archives support (Claudio Bley).
* new icon (Jakub Steiner).
* the document viewer uses the locale language.
version 0.4
* added support for multiple windows.
* fixed some bugs concerning old versions of tar.
version 0.3
* added rar and lha support.
* the user can add, remove, extract files with wildcard.
* fixed drag and drop of directories.
version 0.2
* added jar archives support.
* works even with big archives.
* full drag & drop support.
* double clicking on an file views its content.
* added a file context menu.
* the user can specify the file type when creating a new archive.
* the user can specify the max length of the history list.
* the user can interrupt a long operation.
* toolbar buttons show the insensitive state correctly.
version 0.1
* first public version.
* File Roller *
an archive manager utility for the
GNOME Environment.
* What is it ?
File Roller is an archive manager for the GNOME environment. This means
that you can : create and modify archives; view the content of an archive;
view a file contained in the archive; extract files from the archive.
File Roller is only a front-end (a graphical interface) to archiving programs
like tar and zip. The supported file types are :
* Tar archives uncompressed (.tar) or compressed with
* gzip (.tar.gz , .tgz)
* bzip ( , .tbz)
* bzip2 (.tar.bz2 , .tbz2)
* compress (.tar.Z , .taz)
* lzop (.tar.lzo , .tzo)
* Zip archives (.zip)
* Jar archives (.jar , .ear , .war)
* Lha archives (.lzh)
* Rar archives (.rar)
* Single files compressed with gzip, bzip, bzip2, compress, lzop
* Home Page
* Licensing
This program is released under the terms of the GNU General Public
License (GNU GPL).
You can find a copy of the license in the file COPYING.
* Dependencies
In order to use this program you need a working GNOME environment
version 2.x, with the development tools installed properly.
Also you need :
* gnome-vfs
* libglade
* bonobo-activation
* bonobo
* Install
make install
[x] Add with wildcard.
Add with wildcards options :
1) Include sub-directories.
2) Ignore directories that are symbolic links.
3) If the selection is "*" --> ignore backup files.
[x] Drag & Drop.
Other archive formats:
[x] rar
[x] lha
[ ] others
#undef PACKAGE
#undef VERSION
# Run this to generate all the initial makefiles, etc.
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.