_____           _ _    _____ _ _        _____                           
 |   __|_____ ___| | |  |   __|_| |___   | __  |___ ___ ___ _____ ___ ___ 
 |__   |     | .'| | |  |   __| | | -_|  |    -| -_|   | .'|     | -_|  _|
 |_____|_|_|_|__,|_|_|  |__|  |_|_|___|  |__|__|___|_|_|__,|_|_|_|___|_|  
                                                                          

About
------

Small File Renamer is an application for renaming files and directories.

Program works in GNU/Linux, FreeBSD.

File names should be in unicode format.

It was originally made to work with Midnight Commander but it may be used
separately or with some other program.

Version: 1.2.9 (last update: 17.11.2020)

Screenshot
-----------

Requirements
-------------

Installation
-------------

Small File Renamer can be installed from the program package or from the repository.

Package version contains official program release with source code, configuration and build scripts.

Software repositories contains fresh, up to date program code, yet it still may be less stable than package version.

Program package can be downloaded directly:
sfrename-1.2.9.tar.gz
or from download section at program workspace:
https://savannah.nongnu.org/projects/small-file-renamer/

Arch linux package in AUR:
https://aur.archlinux.org/packages/sfrename/

Downloading source code from GIT or SVN:

git clone https://git.savannah.nongnu.org/git/small-file-renamer.git
svn co svn://svn.savannah.nongnu.org/small-file-renamer/trunk

Software repositories does not contain configure and build scripts, user must have autotools installed and run autogen.sh to link appropriate scripts.

Compiling program - go to source code directory and type:
./configure
make
make install

Although I suggest to configure and compile with more detailed options described below.

For a normal daily use of this program a good option should be:
./configure CFLAGS="-march=native -O2 -pipe"
or more specific:
./configure CC="gcc" CFLAGS="-march=native -O2 -pipe -std=gnu17" --prefix=/usr
with CLANG:
./configure CC="clang" CFLAGS="-march=native -O2 -pipe -std=gnu17" --prefix=/usr
It disables the standard -g option which produces debugging information
needed for gdb and enlarges the output file,
CC="gcc"       sets the C compiler to gcc,
CC="clang"     sets the C compiler to clang,
-march=native  enables all instruction subsets supported by the local machine,
-O2            sets the code optimization to level 2,
-pipe          use pipes rather than temporary files for communication between
               the various stages of compilation,
-std=gnu17     sets the C standard to C17 with GNU extensions.
 --prefix=/usr installs program in /usr directory instead of /usr/local

Running
--------

Program can be run in standalone mode or files can be passed as command arguments.
Example of use when passing files as command arguments:

sfrename filename1.ext filename2.ext

Note for i3 window manager users:

Add this line to i3 config file to show program window as separate (floating) window:

for_window [instance="sfrename"] floating enable

Example use with MC
--------------------

I made this program to use with Midnight Commander to rename files and directories.
To use it in MC you can make a menu entry, that will run this program with selected files and directories.

MC menu entries:

+ ! t t
R       Rename file
        sfrename %f
+ t t
R       Rename files
        sfrename %t

Such entries in Midnight Commander menu file, allows to rename files by selecting them, pressing 'F2' and in menu the 'R' key, selected files and dirs will be passed to program in command line as program arguments.

Contact and help
-----------------

In case of problems with the program, please contact me: michal.babik@pm.me

To check out my other apps visit: http://init6.pomorze.pl/