                        Copyright (C) 2002-2025 Roland Baudin (roland65@free.fr)


                                  XFE, X File Explorer File Manager

                                    <http://roland65.free.fr/xfe>
                                <http://sourceforge.net/projects/xfe>



 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.

 Icons were taken from different file managers and desktops (GNOME, KDE, XFCE) and some of them were modified.

 This software uses the FOX Toolkit Library (http://www.fox-toolkit.org).
 

 *IMPORTANT REMARKS *

 1. You must use the current stable FOX version 1.6.57 (required!) or higher in the 1.6.x branch. 
 The current version of Xfe can't be built with the development 1.7.x series.

 2. UTF-8 is supported, thus check that your LANG environment variable is set to be UTF-8 compliant otherwise
 accents and special characters could be wrongly displayed. For composed characters to work (like ü or ê), FOX *must*
 be compiled with the --with-xim configure option. See the "Non Latin based languages" section of this README file for
 complementary informations.



  Description
  =-=-=-=-=-=

 X File Explorer (Xfe) is a lightweight file manager for X11, written using the FOX toolkit.
 It is desktop independent and can easily be customized.
 It has Commander or Explorer styles and is very fast and small.
 Xfe is based on X Win Commander, written by Maxim Baranov.



  System requirements
  =-=-=-=-=-=-=-=-=-=

 Xfe is written in C++ and built using the FOX graphical toolkit library. Therefore, to build the current Xfe version,
 you need the FOX library 1.6.x installed on your system. Note that Xfe do not compile with the development version
 1.7.x of FOX!

 Xfe is known to run on Linux based systems. It should compile and run on any Unix or Unix-like system. It doesn't run
 on Windows.

 Installation instructions are given below.



  Install from sources
  =-=-=-=-=-=-=-=-=-=-=

 To install Xfe in /usr/local, type (the last line must be run as root):

   ./configure
    make
    make install
 
 To install Xfe in another place, for example in /opt, type (last line as root):

   ./configure --prefix=/opt
    make
    make install

 The above installations assume that the FOX library is installed in a standard place (/usr or /usr/local). If FOX is
 installed in a non standard place, for example in /opt, then you should run (last line as root):
 
 PATH=$PATH:/opt/bin CPPFLAGS=-I/opt/include LDFLAGS=-L/opt/lib ./configure --prefix=/opt
 make
 make install


 
  Build a Debian package
  =-=-=-=-=-=-=-=-=-=-=-=

 You first need the correct libfox1.6 and libfox1.6-dev packages to be installed.

 Extract the sources and enter the source folder:
   tar zxvf Xfe-VVV.tar.gz
   cd Xfe-VVV

 Then, build the Debian package (no need to sign the package, thus the -uc -us options):
   fakeroot dpkg-buildpackage -uc -us

 And finally, install the created package (as root):
   cd ..
   dpkg -i Xfe_VVV-1_i386.deb


  Features
  =-=-=-=-=

   - Very fast graphic user interface
   - Small memory footprint
   - UTF-8 support
   - HiDPI monitor 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
   - Dockable toolbars
   - Panels synchronization and switching
   - Tabs
   - Places panel with customizable bookmarks
   - Customizable columns in detailed file list mode
   - Integrated text editor and viewer (X File Write, Xfw)
   - Integrated image viewer (X File Image, Xfi)
   - Integrated archive viewer and extractor (X File Archive, Xfa)
   - Integrated package (rpm or deb) viewer / installer / uninstaller (X File Package, Xfp)
   - Custom shell scripts (like Nautilus scripts)
   - Mount/Unmount devices with optional automounter (Linux only, supports MTP devices)
   - Managing network shares (Windows shares or connecting to SSH server)
   - Search files and directories
   - Bulk rename files
   - Natural sort order (foo10.txt comes after foo2.txt...)
   - Copy/Cut/Paste files from and to your favorite desktop (GNOME/KDE/XFCE)
   - Drag and Drop files from and to your favorite desktop (GNOME/KDE/XFCE)
   - Disk usage command 
   - Root mode with authentication by pkexec, sudo or su
   - File associations
   - Optional trash can for file delete operations (compliant with freedesktop.org standards)
   - Double click or single click file and folder navigation
   - Mouse right click pop-up menu in tree list and file list
   - Change file attributes
   - Customizable color themes (GNOME, KDE, XFCE, Dark, ...)
   - Warn when mount point are not responding (Linux only)
   - Back and forward history lists for folder navigation
   - Customizable color themes (GNOME, KDE, XFCE, Dark, ...)
   - Icon themes (Default, GNOME, KDE, XFCE, ...)
   - Create archives (tar, zip, gzip, bzip2, xz, zst, 7z, ...)
   - Extract archives (many formats are supported)
   - File / folder comparison (through external tool, ex: meld)
   - Tooltips with file properties
   - Progress bars or dialogs for lengthy file operations
   - Thumbnails image previews
   - Configurable key bindings
   - Startup notification (optional)
   - and much more...



  Default Key bindings
  =-=-=-=-=-=-=-=-=-=-=

 Below are the global default key bindings. These key bindings are common to all X File applications.

    * Select all                         - Ctrl-A
    * Copy to clipboard                  - Ctrl-C
    * Search                             - Ctrl-F
    * Search previous                    - Ctrl-Shift-G
    * Search next                        - Ctrl-G
    * Go to home folder                  - Ctrl-H
    * Invert selection                   - Ctrl-I
    * Open file                          - Ctrl-O
    * Print file                         - Ctrl-P
    * Quit application                   - Ctrl-Q
    * Paste from clipboard               - Ctrl-V
    * Close window                       - Ctrl-W
    * Cut to clipboard                   - Ctrl-X
    * Deselect all                       - Ctrl-Z
    * Display help                       - F1
    * Create new file                    - Ctrl-N
    * Create new folder                  - F7
    * Big icon list                      - F10
    * Small icon list                    - F11
    * 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
    * Go to next folder                  - Shift-Backspace


 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
    * Execute command                   - Ctrl-E
    * Create new symbolic link          - Ctrl-J
    * Switch panels                     - Ctrl-K
    * Clear address bar                 - Ctrl-L
    * Mount file system (Linux only)    - Ctrl-M
    * Rename files                      - F2
    * Refresh panels                    - Ctrl-R
    * Symlink files to location         - Ctrl-S
    * Launch terminal                   - Ctrl-T
    * Unmount file system (Linux only)  - Ctrl-U
    * Synchronize panels                - Ctrl-Y
    * Create new window                 - F3
    * Edit                              - F4
    * Copy files to location            - F5
    * Move files to location            - F6
    * File properties                   - F9
    * One panel mode                    - Ctrl-F1
    * Tree and panel mode               - Ctrl-F2
    * Two panels mode                   - Ctrl-F3
    * Tree and two panels mode          - Ctrl-F4
    * Toggle display hidden folders     - Ctrl-F5
    * Go to trash can                   - Ctrl-F8
    * Create new root window            - Shift-F3
    * View                              - Shift-F4
    * Move files to trash can           - Del
    * Restore files from trash can      - Alt-Del
    * Delete files                      - Shift-Del
    * Copy file names to clipboard      - Ctrl-Shift-N
    * Empty trash can                   - Ctrl-Del
    * New Tab                           - Shift-F1
    * Connect to Server                 - Shift-F5


 Below are the default X File Image key bindings. These key bindings are specific to the Xfi application.

    * View previous image               - Ctrl-J
    * View next image                   - Ctrl-K
    * Zoom to fit window                - Ctrl-F
    * Zoom to fit window                - Ctrl-F
    * Mirror image horizontally         - Ctrl-H
    * Zoom image to 100%                - Ctrl-I
    * Rotate image to left              - Ctrl-L
    * Rotate image to right             - Ctrl-R
    * Mirror image vertically           - Ctrl-V


 Below are the default X File Write key bindings. These key bindings are specific to the Xfw application.

    * Toggle word wrap mode             - Ctrl-K
    * Goto line                         - Ctrl-L
    * Create new document               - Ctrl-N
    * Replace string                    - Ctrl-R
    * Save changes to file              - Ctrl-S
    * Toggle line numbers mode          - Ctrl-T
    * 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 Archive (Xfa) and 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
    * Ctrl-Shift-F10                    - display context menus in Xfe
    * Space                             - select an item in file list
    * Return                            - enter folders in file lists, open files, select button actions, etc.
    * Esc                               - close current dialog, unselect files, etc.



  Drag and Drop operations
  =-=-=-=-=-=-=-=-=-=-=-=-=

 Dragging a file or group or files (by moving the mouse while maintaining the left button pressed)
 to a folder or a file panel optionally opens a dialog that allows one to select the file operation: copy,
 move, link or cancel.



  Trash system
  =-=-=-=-=-=-=

 Xfe implements a trash system that is fully compliant with the freedesktop.org standards.
 This allows the user to move files to the trash can and to restore files from within Xfe or your favorite desktop.
 Note that the trash files location is: ~/.local/share/Trash/files



  Configuration
  =-=-=-=-=-=-=

 You can perform any Xfe customization (layout, file associations, key bindings, etc.) without editing any file
 by hand. However, you may want to understand the configuration principles, because some customizations can also
 easily be done by manually editing the configurations files.
 Be careful to quit Xfe before manually editing any configuration file, otherwise changes could not be taken
 into account.

 The system-wide configuration file xferc is located in /usr/share/xfe, /usr/local/share/xfe
 or /opt/local/share/xfe, in the given order of precedence.

 The local configuration files for Xfe, Xfw, Xfi, Xfa and Xfp are now located in the ~/.config/xfe folder.
 They are named xferc, xfwrc, xfirc, xfarc 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
 (in case of an unusal install place), a dialog asks the user to select the right place. It is thus easier to
 customize Xfe (this is particularly true for the file associations) by hand editing because all the local options
 are located in the same file.

 Default PNG icons are located in /usr/share/xfe/icons/default-theme or /usr/local/share/xfe/icons/default-theme,
 depending on your installation. You can easily change the icon theme path in the Preferences dialog.



  HiDPI support
  =-=-=-=-=-=-=

 Starting with version 1.44, Xfe supports HiDPI monitors. All users have to do is to manually adjust the screen
 resolution using the Edit / Preferences / Appearance / DPI option. A value of 200 - 240 dpi should be fine for Ultra
 HD (4K) monitors.



  Dockable Toolbars
  =-=-=-=-=-=-=-=-=

 Starting with version 2.1, toolbars can be docked to the four corners of the window and their positions are saved
 (Xfe only) if the Auto save layout option is enabled in Edit Preferences / General dialog. To dock a toolbar, 
 left click on its handle and drag it to the destination corner, or right click on it and use the popup menu.



  Places
  =-=-=-=

 Starting with version 2.0, the folder panel features two tabs: one is the classic Tree view and the other
 is a Places view. This Places view allows to view desktop folders (home, downloads, documents, music, ...), of
 drive mounts, network shares and user's bookmarks.

 Network shares mounted from the desktop using gvfs (GNOME or XFCE) appear in the Places view and can be unmounted
 (KDE network shares are not supported). Mount points for removable devices also appear in the Places view.

 Bookmarks can be added, removed and customized (order, name and icon) using a context menu.

 The Places view is optional as is also the Tree view (related settings are located in the
 Preferences / General dialog).



  Tabs
  =-=-=

 Starting with version 2.1, it is possible to add tabs by pressing Shift-F1 or by clicking on the + icon of the tab
 toolbar. A right click on a tab displays a popup menu that offers to move a tab or close it.

 The tab toolbar can be always shown or hidden if not used. Options related to tabs usage can be found in the
 Edit / Preferences / Settings dialog.



  Scripts
  =-=-=-=

 Custom shell scripts can be executed from within Xfe on the files that are selected in a panel. You have to first
 select the files you want to proceed, then right click on the file list and go to the Scripts sub menu. Last, choose
 the script you want to apply on the selected files.

 The script files must be located in the ~/.config/xfe/scripts folder and have to be executable. You can organize
 this folder as you like by using sub-folders. You can use the Tools / Go to script folder menu item to directly go
 to the script folder and manage it.

 Here is an example of a simple shell script that list each selected file on the terminal from where Xfe was
 launched:

 #!/bin/sh
 for arg
 do
 /bin/ls -la "$arg"
 done

 You can of course use programs like xmessage, zenity or kdialog to display a window with buttons that allows you to
 interact with the script. Here is a modification of the above example that uses xmessage:

 #!/bin/sh
 (
 echo  "ls -la"
 for arg
 do
 /bin/ls -la "$arg"
 done
 ) | xmessage -file -

 Most often, it is possible to directly use Nautilus scripts found on the Internet without modifications.



  Search files and directories
  =-=-=-=-=-=-=-=-=-=-=-=-=-=-=


 Xfe can quickly search files and directories by using find and grep command backends. This is done through the
 Tools / Search files menu item (or by using the Ctrl-F shortcut).

 In the search window, users can then specify usual search patterns like name and text, but more sophisticated search
 options are also available (size, date, permissions, users, groups, follow symlinks and empty files). Results appear
 in a file list and users can use the right click menu to manage their files, the same way as they do in the file
 panels.

 The search can be interrupted by clicking on the Stop button or pressing the Escape key.



  Bulk rename files
  =-=-=-=-=-=-=-=-=

 Xfe can perform a bulk rename operation on selected files and folders from the file panels. The rename dialog allows
 to replace a text pattern or insert / overwrite / remove text at a given position. It is also possible to number
 files.

 Bulk rename can also be used from the search panel results. However, in that case it is not possible to rename
 folders to avoid moving file locations.



  Non Latin based languages
  =-=-=-=-=-=-=-=-=-=-=-=-=

 Xfe can display its user interface and also the file names in non latin character based languages, provided that you
 have selected a Unicode font that supports your character set. To select a suitable font, use the
 Edit / Preferences / Font menu item.

 Multilingual Unicode TrueType fonts can be found at this address: http:    //www.slovo.info/unifonts.htm



  Automounting
  =-=-=-=-=-=-=

 Starting with version 2.1, Xfe has an integrated automounter program that allows to mount removable disks or media
 when they are inserted. The automounter also supports MTP devices (ex: Android phones or tablets).

 The automounter is optional and should only be used if your system does not already provides that feature. By
 default, it is disabled and can be enabled in the Edit / Preferences / Settings dialog.

 The automounter relies on udisks2 and gvfs / gio, so these components must be installed on your system. The process
 is called xfe-automount and is launched at first startup of Xfe. It can possibly be added to your session startup
 programs.



  Network Shares
  =-=-=-=-=-=-=-=

 Starting with version 2.1, it is possible to mount a Windows network share or to connect to an SSH server
 (Linux only, gvfs / gio must be installed). For that, use the Tools / Connect to Server menu item (Shift-F5
 shortcut) or use the Connect to Server toolbar icon. This will display a dialog asking for your connection
 parameters.

 It is possible to safely retain connection passwords provided that the secret-tool utility is installed on your
 system. Note that in Debian based distributions this utility is provided by the libsecret-tools package. In other
 distributions, it is usually included in the libsecret library.



  Custom Color Themes
  =-=-=-=-=-=-=-=-=-=
 Starting with version 2.1, it is possible to save the current theme to a custom theme, that can be renamed
 or removed. You can thus have different custom color themes and easily switch between them.



  Tips
  =-=-=

 File list
    - Select files and right click to open a context menu on the selected files
    - Press Ctrl + right click to open a context menu on the file panel
    - When dragging a file/folder to a folder, hold on the mouse on the folder to open it
    - Displayed colums and column order can be selected in the Preferences / File List dialog

 Tree list
    - Select a folder and right click to open a context menu on the selected folder
    - Press Ctrl + right click to open a context menu on the tree panel
    - When dragging a file/folder to a folder, hold on the mouse on the folder to expand it

 Copy/paste file path or name
    - Select a file and press Ctrl-C to copy the file path to the clipboard. Then in a dialog or an application,
      press Ctrl-V to paste the file path. Use the Copy name menu item (or press Ctrl-Shift-N) to copy the file
      name (without path) to the clipboard. 
    - In a file operation dialog, select a file name 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 folder, copy them to the clipboard by pressing Ctrl-C. This erases the previous
      clipboard content. Then, you can move to another folder, select other files and add them to the clipboard
      content by pressing Ctrl-Shift-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 Ctrl-Shift-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 has started an action (file copying, application launching, etc.). Depending on the system, there can be
      some issues with startup notification. If Xfe was compiled with startup notification support, the user can
      disable 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).

  Root mode
    - If pkexec is installed and configured on your system, then this is the best way to switch to 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.



  Bugs
  =-=-=

 Please report any found bug to Roland Baudin <roland65@free.fr>. Don't forget to mention the Xfe version you use,
 the FOX library version and your system name and version.



  Translations
  =-=-=-=-=-=-=
 
 Xfe is now available in 24 languages but some translations are only partial. To translate Xfe to your language,
 open the Xfe.pot file located in the po folder of the source tree with a software like poedit, kbabel
 or gtranslator and fill it with your translated strings (be careful to the hotkeys and c-format characters),
 and then send it back to me. I'll be pleased to integrate your work in the next Xfe release.



  Patches
  =-=-=-=

 If you have coded some interesting patch, please send it to me, I will try to include it in the next release...

 Many thanks to Maxim Baranov for his excellent X Win Commander, to Jeroen van der Zijp for the FOX toolkit
 and  to all people that have provided useful patches, translations, tests and advices.

 [Last revision: 11/05/2025]
