About tfman

Maciej Helminiak <tfman.project@opmbx.org>
modified: 2014-07-15



Tfman is text file manager managing files via textual representation of file system (being ordinary text). It can scan directories to create textual representation or parse textual representation to retrieve actions specified by user.

. Written in C for Unix-like systems.
. Does not depend on external libraries.
. Can cooperate with command-line tools, like Sed, via standard input and output streams.
. Can be integrated with text editing tools, like Vim.

Tfman has two working modes: scan mode and parse mode.

Scan mode

The scan mode performs scanning on specified part of file system (directory or whole tree of directories) and composes textual representation of it. Result is send to standard output (this is default) or written to a file.

Created textual representation is formatted in a manner allowing direct use in parse mode. User can edit it as normal text and add action tags.

Parse mode

The parse mode retrieves actions specified in textual representation and performs them on file system. Textual representation is read from standard input (default) or from file. Multiple actions of same or different types can be specified on multiple entries, whole directories and groups.

The textual representation must be in specific format (but it is still ordinary text) and actions are named by tags.


Tfm is convenience tool that combines scan mode and parse mode to make Tfman use easier. It does scanning of directories, editing textual representation and parsing result in one step.



I consider this software experimental. I have not came across any other program that would manipulate file system in similar way - through textual representation. Therefore usefulness of this kind of approach to manage file system is not proven.

Tfman is not yet tested well. It works as expected and i have tested its features as much as i could, but many unrevealed bugs definitely hide somewhere down there in the code. Therefore use it with care and avoid manipulating sensitive data with it. I can not take any responsibility for damage caused.




Documentation is in '.doc' directory


build requirements

Tfman should compile and work on all Unix-like systems with GCC or CLang compiler installed, however I tested it only under Linux. Makefile shipped with sources utilizes GCC feature (present also in Clang) to automaticaly create dependencies and will not work with other compilers. Many GNU Make specific features are used as well, they surely do not work with other Make flavors.

Thus, requirements to build Tfman are:

install from sources

download sources tarbal: http://chiselapp.com/user/machel/repository/tfman/doc/tip/.packages/current.tar.gz
Then follow procedure:

  $ tar -xvf current.tar.gz
  $ cd tfman-VER
  $ make
  # make install


  # make uninstall

build package from arch linux AUR

Arch Linux users only

download package aurball: http://chiselapp.com/user/machel/repository/tfman/doc/tip/.packages/current_aur.tar.gz
or from AUR: https://aur.archlinux.org/packages/tfman/
Then follow procedure:

  $ tar -xvf current_aur.tar.gz
  $ cd tfman
  $ makepkg
  # pacman -U tfman-VER.pkg.tar.xz


  # pacman -R tfman


Tfman 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 3 of the License, or (at your option) any later version.

Tfman 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 Tfman. If not, see <http://www.gnu.org/licenses/>.

Author: Maciej Helminiak tfman.project@opmbx.org