Commit 23410185 authored by Joachim Wiedorn's avatar Joachim Wiedorn

Imported Upstream version 1.40

parent 7cab7754
This diff is collapsed.
man_MANS=xfe.1 xfv.1 xfi.1 xfp.1 xfw.1
man_MANS=xfe.1 xfi.1 xfp.1 xfw.1
SUBDIRS = intl po m4 src icons
DIST_SUBDIRS = intl po m4 src icons
rcdir = $(prefix)/share/xfe
rc_DATA = xferc
EXTRA_DIST = autogen.sh iconslink.sh config.h i18n.h xfe.1 xfv.1 xfi.1 xfp.1 xfw.1 \
EXTRA_DIST = autogen.sh iconslink.sh config.h i18n.h xfe.1 xfi.1 xfp.1 xfw.1 \
ABOUT-NLS TODO BUGS xfe.spec.in xferc.in xfe.spec *.desktop.in.in *.png *.xpm *.svg \
$(top_srcdir)/icons/* $(top_srcdir)/debian
icondir = $(prefix)/share/pixmaps
icon_DATA = xfe.png xfv.png xfi.png xfp.png xfw.png xfe.xpm xfv.xpm xfi.xpm xfp.xpm xfw.xpm
icon_DATA = xfe.png xfi.png xfp.png xfw.png xfe.xpm xfi.xpm xfp.xpm xfw.xpm
desktopdir = $(prefix)/share/applications
desktop_in_files = xfe.desktop.in xfw.desktop.in xfi.desktop.in xfv.desktop.in xfp.desktop.in
desktop_in_files = xfe.desktop.in xfw.desktop.in xfi.desktop.in xfp.desktop.in
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
@INTLTOOL_DESKTOP_RULE@
......
This diff is collapsed.
XFE, X File Explorer File Manager
Copyright (C) 2002-2013 Roland Baudin
Copyright (C) 2002-2015 Roland Baudin
<http://roland65.free.fr/xfe>
<http://sourceforge.net/projects/xfe>
......@@ -63,13 +63,14 @@
- UTF-8 support
- Commander/Explorer interface with four file manager modes: a) one panel, b) a folder tree
and one panel, c) two panels and d) a folder tree and two panels
- Horizontal or vertical file panels stacking
- Panels synchronization and switching
- Integrated text editor (X File Write, Xfw)
- Integrated text viewer (X File View, Xfv)
- Integrated text editor and viewer (X File Write, Xfw)
- Integrated image viewer (X File Image, Xfi)
- Integrated package (rpm or deb) viewer / installer / uninstaller (X File Package, Xfp)
- Custom shell scripts (like Nautilus scripts)
- Search files and directories
- Natural sort order (foo10.txt comes after foo2.txt...)
- Copy/cut/paste files from and to your favorite desktop (GNOME/KDE/XFCE/ROX)
- Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE/ROX)
- Root mode with authentication by su or sudo
......@@ -91,6 +92,7 @@
- Icon themes (Xfe, GNOME, KDE, XFCE, Tango, Windows...)
- Create archives (tar, compress, zip, gzip, bzip2, xz and 7zip formats are supported)
- Extract archives (tar, compress, zip, gzip, bzip2, xz, lzh, rar, ace, arj and 7zip formats are supported)
- File comparison (through external tool)
- Tooltips with file properties
- Progress bars or dialogs for lengthy file operations
- Thumbnails image previews
......@@ -108,7 +110,7 @@
* Select all - Ctrl-A
* Copy to clipboard - Ctrl-C
* Search - Ctrl-F
* Search previous - Shift-Ctrl-G
* Search previous - Ctrl-Shift-G
* Search next - Ctrl-G
* Go to home folder - Ctrl-H
* Invert selection - Ctrl-I
......@@ -127,6 +129,8 @@
* Detailed file list - F12
* Toggle display hidden files - Ctrl-F6
* Toggle display thumbnails - Ctrl-F7
* Vertical panels - Ctrl-Shift-F1
* Horizontal panels - Ctrl-Shift-F2
* Go to working folder - Shift-F2
* Go to parent folder - Backspace
* Go to previous folder - Ctrl-Backspace
......@@ -136,7 +140,7 @@
Below are the default X File Explorer key bindings. These key bindings are specific to the Xfe application.
* Add bookmark - Ctrl-B
* Filter files - ctrl-D
* Filter files - Ctrl-D
* Execute command - Ctrl-E
* Create new symbolic link - Ctrl-J
* Switch panels - Ctrl-K
......@@ -185,21 +189,20 @@
* Replace string - Ctrl-R
* Save changes to file - Ctrl-S
* Toggle line numbers mode - Ctrl-T
* Toggle upper case mode - Shift-Ctrl-U
* Toggle upper case mode - Ctrl-Shift-U
* Toggle lower case mode - Ctrl-U
* Redo last change - Ctrl-Y
* Undo last change - Ctrl-Z
X File View (Xfv) and X File Package (Xfp) only use some of the global key bindings.
X File Package (Xfp) only use some of the global key bindings.
Note that all the default key bindings listed above can be customized in the Xfe Preferences dialog. However,
some key actions are hardcoded an cannot be changed. These include:
* Ctrl-+ and Ctrl-- - zoom in and zoom out image in Xfi
* Shift-F10 - display context menus in Xfe
* Return - enter directories in file lists, open files, select button actions, etc.
* Space - enter directories in file lists
* Return, Space - enter directories in file lists, open files, select button actions, etc.
* Esc - close current dialog, unselect files, etc.
......@@ -238,8 +241,8 @@
Starting with version 1.32, the location of the local configuration files has changed. This is to be compliant
with the Freedesktop standards.
The local configuration files for Xfe, Xfw, Xfv, Xfi, Xfp are now located in the ~/.config/xfe folder.
They are named xferc, xfwrc, xfvrc, xfirc and xfprc.
The local configuration files for Xfe, Xfw, Xfi, Xfp are now located in the ~/.config/xfe folder.
They are named xferc, xfwrc, xfirc and xfprc.
At the very first Xfe run, the system-wide configuration file is copied into the local configuration file
~/.config/xfe/xferc which does not exists yet. If the system-wide configuration file is not found
......@@ -331,6 +334,13 @@
the file name.
- In a file operation dialog, select a filename in the line containing the source name and paste it directly
to the destination using the middle button of your mouse. Then modify it to suit your needs.
Add files to the clipboard
- You can select files from a directory, copy them to the clipboard by pressing Ctrl-C. This erases the previous
clipboard content. Then, you can move to another directory, select other files and add them to the clipboard
content by pressing Shift-Ctrl-C. This does not erase the previous clipboard content. At last, you can move
to the destination and press Ctrl-V to copy all the files you have in the clipboard. Of course, this also works
with Ctrl-X and Shift-Ctrl-X to cut and paste the files.
Startup notification
- Startup notification is the process that displays a feedback (a sandbox cursor or whatever) to the user when he
......@@ -339,9 +349,16 @@
it for all applications at the global Preferences level. He can also disable it for individual applications,
by using the dedicated option in the first tab of the Properties dialog. This latter way is only available
when the file is an executable. Disabling startup notification can be useful when starting an old application
that doesn't support the startup notification protocol (e.g. Xterm, Xpdf).
that doesn't support the startup notification protocol (e.g. Xterm, Xpdf).
Root mode
- If you use the sudo root mode, it can be useful to add password feedback to the sudo command. For this purpose,
edit your sudoers file like this:
sudo visudo -f /etc/suoders
and then add 'pwfeedback' to the default options, as shown below:
Defaults env_reset,pwfeedback
After that, you should see stars (like *****) when you type your password in the small authentication window.
Install from sources
=-=-=-=-=-=-=-=-=-=-=
......@@ -432,7 +449,7 @@
Many thanks to Maxim Baranov for his excellent X Win Commander and to all people that have provided useful
patches, translations, tests and advices.
[Last revision: 16/09/2013]
[Last revision: 11/1/2015]
......@@ -2,7 +2,6 @@ TODO list and known issues
--------------------------
Known issues
------------
......@@ -23,25 +22,16 @@ Known issues
To do
------
- mass renaming files feature
- add the ability to delete bookmarks and change their order
- add a way to change order and display of columns in detailed mode
- places (home + trash + mtab entries) and bookmark items could be displayed as a tab pane in the tree panel
- use of MIME types in complement to file associations
- use a Control Panel style for the Preferences dialog
- implement lenghty operations in background (directory size, thumbnails, copy...)
- add context options (copy / paste / delete) to the location bar, like in Firefox
- add the ability to copy a file in the same directory by adding the suffix '_copy' to the file name, just like Nautilus
does
- add an option in the Preferences dialog to start Xfe in a given directory, in the last directory or in the home
directory
- add a way to clean history lists (like the open file list, for example)
- internationalization of man files
- internationalization should handle multiple plural forms (required by languages like polish, czech, etc.)
- at the command line, Xfe should handle file names (and URIs) and open the associated application to open the file names
(ex: xfe test.txt should edit the test.txt file, xfe /usr/bin/gimp should launch gimp, etc.)
- places (home + trash + mtab entries) and bookmark items could be displayed as a tab pane in the tree panel
- in detailed view, the user should have the ability to select the displayed columns
- add an option to set the default archive format
- use of MIME types in complement to file associations
- indicator of global progress of file operations when multiple items have been selected
- simple archive program or implement VFS?
- df command (disk usage, on Linux only?)
User requests
......
This diff is collapsed.
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2012-10-14.11; # UTC
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
nl='
'
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent tools from complaining about whitespace usage.
IFS=" "" $nl"
file_conv=
# func_file_conv build_file lazy
# Convert a $build file to $host form and store it in $file
# Currently only supports Windows hosts. If the determined conversion
# type is listed in (the comma separated) LAZY, no conversion will
# take place.
func_file_conv ()
{
file=$1
case $file in
/ | /[!/]*) # absolute file, and not a UNC file
if test -z "$file_conv"; then
# lazily determine how to convert abs files
case `uname -s` in
MINGW*)
file_conv=mingw
;;
CYGWIN*)
file_conv=cygwin
;;
*)
file_conv=wine
;;
esac
fi
case $file_conv/,$2, in
*,$file_conv,*)
;;
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
cygwin/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
file=`winepath -w "$file" || echo "$file"`
;;
esac
;;
esac
}
# func_cl_dashL linkdir
# Make cl look for libraries in LINKDIR
func_cl_dashL ()
{
func_file_conv "$1"
if test -z "$lib_path"; then
lib_path=$file
else
lib_path="$lib_path;$file"
fi
linker_opts="$linker_opts -LIBPATH:$file"
}
# func_cl_dashl library
# Do a library search-path lookup for cl
func_cl_dashl ()
{
lib=$1
found=no
save_IFS=$IFS
IFS=';'
for dir in $lib_path $LIB
do
IFS=$save_IFS
if $shared && test -f "$dir/$lib.dll.lib"; then
found=yes
lib=$dir/$lib.dll.lib
break
fi
if test -f "$dir/$lib.lib"; then
found=yes
lib=$dir/$lib.lib
break
fi
if test -f "$dir/lib$lib.a"; then
found=yes
lib=$dir/lib$lib.a
break
fi
done
IFS=$save_IFS
if test "$found" != yes; then
lib=$lib.lib
fi
}
# func_cl_wrapper cl arg...
# Adjust compile command to suit cl
func_cl_wrapper ()
{
# Assume a capable shell
lib_path=
shared=:
linker_opts=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
eat=1
case $2 in
*.o | *.[oO][bB][jJ])
func_file_conv "$2"
set x "$@" -Fo"$file"
shift
;;
*)
func_file_conv "$2"
set x "$@" -Fe"$file"
shift
;;
esac
;;
-I)
eat=1
func_file_conv "$2" mingw
set x "$@" -I"$file"
shift
;;
-I*)
func_file_conv "${1#-I}" mingw
set x "$@" -I"$file"
shift
;;
-l)
eat=1
func_cl_dashl "$2"
set x "$@" "$lib"
shift
;;
-l*)
func_cl_dashl "${1#-l}"
set x "$@" "$lib"
shift
;;
-L)
eat=1
func_cl_dashL "$2"
;;
-L*)
func_cl_dashL "${1#-L}"
;;
-static)
shared=false
;;
-Wl,*)
arg=${1#-Wl,}
save_ifs="$IFS"; IFS=','
for flag in $arg; do
IFS="$save_ifs"
linker_opts="$linker_opts $flag"
done
IFS="$save_ifs"
;;
-Xlinker)
eat=1
linker_opts="$linker_opts $2"
;;
-*)
set x "$@" "$1"
shift
;;
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
func_file_conv "$1"
set x "$@" -Tp"$file"
shift
;;
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
func_file_conv "$1" mingw
set x "$@" "$file"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -n "$linker_opts"; then
linker_opts="-link$linker_opts"
fi
exec "$@" $linker_opts
exit 1
}
eat=
case $1 in
'')
echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand '-c -o'.
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file 'INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "compile $scriptversion"
exit $?
;;
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
ofile=
cfile=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
# So we strip '-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
ofile=$2
;;
*)
set x "$@" -o "$2"
shift
;;
esac
;;
*.c)
cfile=$1
set x "$@" "$1"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no '-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# '.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
# Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
# Create the lock directory.
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir '$lockdir'; exit 1" 1 2 15
# Run the compile.
"$@"
ret=$?
if test -f "$cofile"; then
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
This diff is collapsed.
......@@ -138,7 +138,7 @@
/* Define to 1 if you have the `getuid' function. */
#define HAVE_GETUID 1
/* Define if you have the iconv() function and it works. */
/* Define if you have the iconv() function. */
#define HAVE_ICONV 1
/* Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>. */
......@@ -169,6 +169,9 @@
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define if you have the 'long double' type. */
#define HAVE_LONG_DOUBLE 1
/* Define to 1 if the system has the type `long long int'. */
#define HAVE_LONG_LONG_INT 1
......@@ -180,9 +183,6 @@
to 0 otherwise. */
#define HAVE_MALLOC 1
/* Define to 1 if you have the `mbrtowc' function. */
#define HAVE_MBRTOWC 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
......@@ -210,8 +210,9 @@
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the `newlocale' function. */
#define HAVE_NEWLOCALE 1
/* Define if you have <langinfo.h> and it defines the NL_LOCALE_NAME macro if
_GNU_SOURCE is defined. */
#define HAVE_NL_LOCALE_NAME 1
/* Define if your printf() function supports format strings with positions. */
#define HAVE_POSIX_PRINTF 1
......@@ -285,9 +286,6 @@
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strnlen' function. */
#define HAVE_STRNLEN 1
/* Define to 1 if you have the `strstr' function. */
#define HAVE_STRSTR 1
......@@ -341,12 +339,12 @@
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define if you have the 'unsigned long long' type. */
#define HAVE_UNSIGNED_LONG_LONG 1
/* Define to 1 if the system has the type `unsigned long long int'. */
#define HAVE_UNSIGNED_LONG_LONG_INT 1
/* Define to 1 if you have the `uselocale' function. */
#define HAVE_USELOCALE 1
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
......@@ -369,30 +367,21 @@
/* Define if you have the 'wchar_t' type. */
#define HAVE_WCHAR_T 1
/* Define to 1 if you have the `wcrtomb' function. */
#define HAVE_WCRTOMB 1
/* Define to 1 if you have the `wcslen' function. */
#define HAVE_WCSLEN 1
/* Define to 1 if you have the `wcsnlen' function. */
#define HAVE_WCSNLEN 1
/* Define if you have the 'wint_t' type. */
#define HAVE_WINT_T 1
/* Define to 1 if `fork' works. */
#define HAVE_WORKING_FORK 1
/* Define to 1 if O_NOATIME works. */
#define HAVE_WORKING_O_NOATIME 1
/* Define to 1 if O_NOFOLLOW works. */
#define HAVE_WORKING_O_NOFOLLOW 1
/* Define to 1 if `vfork' works. */
#define HAVE_WORKING_VFORK 1
/* Define to 1 if you have the <X11/extensions/Xrandr.h> header file. */
#define HAVE_X11_EXTENSIONS_XRANDR_H 1
/* Define to 1 if the system has the type `_Bool'. */
#define HAVE__BOOL 1
......@@ -419,7 +408,7 @@
#define PACKAGE_NAME "xfe"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "xfe 1.37"
#define PACKAGE_STRING "xfe 1.40"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "xfe"
......@@ -428,7 +417,7 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.37"
#define PACKAGE_VERSION "1.40"
/* Define if <inttypes.h> exists and defines unusable PRI* macros. */
/* #undef PRI_MACROS_BROKEN */
......@@ -438,9 +427,7 @@
/* Define as the maximum value of type 'size_t', if the system doesn't define
it. */
#ifndef SIZE_MAX
/* # undef SIZE_MAX */
#endif
/* #undef SIZE_MAX */
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
......@@ -506,7 +493,7 @@
/* #undef USE_WIN32_THREADS */
/* Version number of package */
#define VERSION "1.37"
#define VERSION "1.40"
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
......@@ -584,29 +571,20 @@
#define __libc_lock_lock_recursive gl_recursive_lock_lock
#define __libc_lock_unlock_recursive gl_recursive_lock_unlock
#define glthread_in_use libintl_thread_in_use
#define glthread_lock_init_func libintl_lock_init_func
#define glthread_lock_lock_func libintl_lock_lock_func
#define glthread_lock_unlock_func libintl_lock_unlock_func
#define glthread_lock_destroy_func libintl_lock_destroy_func
#define glthread_rwlock_init_multithreaded libintl_rwlock_init_multithreaded
#define glthread_rwlock_init_func libintl_rwlock_init_func
#define glthread_rwlock_rdlock_multithreaded libintl_rwlock_rdlock_multithreaded
#define glthread_rwlock_rdlock_func libintl_rwlock_rdlock_func
#define glthread_rwlock_wrlock_multithreaded libintl_rwlock_wrlock_multithreaded
#define glthread_rwlock_wrlock_func libintl_rwlock_wrlock_func
#define glthread_rwlock_unlock_multithreaded libintl_rwlock_unlock_multithreaded
#define glthread_rwlock_unlock_func libintl_rwlock_unlock_func
#define glthread_rwlock_destroy_multithreaded libintl_rwlock_destroy_multithreaded
#define glthread_rwlock_destroy_func libintl_rwlock_destroy_func
#define glthread_recursive_lock_init_multithreaded libintl_recursive_lock_init_multithreaded
#define glthread_recursive_lock_init_func libintl_recursive_lock_init_func
#define glthread_recursive_lock_lock_multithreaded libintl_recursive_lock_lock_multithreaded
#define glthread_recursive_lock_lock_func libintl_recursive_lock_lock_func
#define glthread_recursive_lock_unlock_multithreaded libintl_recursive_lock_unlock_multithreaded
#define glthread_recursive_lock_unlock_func libintl_recursive_lock_unlock_func
#define glthread_recursive_lock_destroy_multithreaded libintl_recursive_lock_destroy_multithreaded
#define glthread_recursive_lock_destroy_func libintl_recursive_lock_destroy_func
#define glthread_once_func libintl_once_func
#define glthread_lock_init libintl_lock_init
#define glthread_lock_lock libintl_lock_lock
#define glthread_lock_unlock libintl_lock_unlock
#define glthread_lock_destroy libintl_lock_destroy