Top-level Files of tip

Files in the top-level directory from the latest check-in

  • .packages
  • BuildRecipes
  • doc
  • lib_base
  • lib_fs
  • lib_pr_config
  • sh_scripts
  • src_actions
  • src_main
  • src_parser
  • src_scanner
  • tests
  • vim_integrator
  • ChangeLog
  • INSTALL
  • LICENSE
  • Makefile
  • NAME
  • README
  • VERSION

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


  Description
  ===========


	General
	=======

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
	===

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.


	Features
	========

- scan file system and compose its textual representation
   - recursive scan
   - customize format of entries
   - customize sorting order
   - auto adjust result to ease actions adding
- parse textual representation and perform multiple actions of many kinds
   - actions for groups of entries, actions for whole directories
   - shell-like brace expansion and globbing
   - three ways of entries naming: absolute, relative to execution directory,
     relative to in-text parent directory
- edit textual representation as text
   - use favorite text editor
   - use tfman from within vim as multi-window text file manager
- scan, edit and parse in one step with Tfm tool
- cooperate with other console programs through stdin and stdout
- reuse textual representation many times
- perform sofisticated combinations of actions on whole parts of file system
- integration with text editing tools, like Vim


	Note
	====

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.

WARNING 
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
  =============

ONLINE DOCUMENTATION: 

- Project's home page:    http://chiselapp.com/user/machel/repository/tfman/home
- Project's repository:   http://chiselapp.com/user/machel/repository/tfman/tree?ci=tip
- Report Bugs:            http://chiselapp.com/user/machel/repository/tfman/reportlist

DOCUMENTTION SHIPPED WITH SOURCES: 

Documentation is in '.doc' directory


  Installation
  ============


		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:

- Unix-like system
- GCC or Clang
- GNU Make


		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

uninstall:

  # 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

uninstall:

  # pacman -R tfman


  Copyrights
  ==========

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