|
Softpanorama |
May the source be with you, but remember the KISS principle ;-)
Softpanorama Search
|
| Prev | Contents | Next |
Unix suffers from the absence of the standard macrolanguage. That fact makes it inferior to such OSes as Amiga, Os/2 and Windows. Amiga and OS/2 used the same scripting language (REXX) both for external scripting and as a macro language. For example OS/2 used to include an Xedit style editor that uses REXX as a macro language. Nothing similar currently exists in Unix: macro languages are fragmented, disconnected from shell environment and pretty much not integrated iether in OS or applications. Please note that in this respect even Microsoft done better: VBscript can serve as an external scripting language (via Windows scripting host) and also serves as a macro language for important range of applications (MS Office).
The best attempt to overcome this fundamental problem of Unix was made by John Ousterhout who created the TCL scripting language and the Tk toolkit. Here how he describes the events:
I got the idea for TCL while on sabbatical leave at DEC's Western Research Laboratory in the fall of 1987. I started actually implementing it when I got back to Berkeley in the spring of 1988; by summer of that year it was in use in some internal applications of ours, but there was no Tk. The first external releases of TCL were in 1989, I believe. I started implementing Tk in 1989, and the first release of Tk was in 1991.
TCL has a simple structure. Each line starts with a command, such as
dotask and a number of arguments. Each command is implemented
as a C function. This function is responsible for handling all the arguments.
It was really brilliant in its simplicity design -- a complete opposite
to PL/1 style design of Perl. Actually in addition to TCL John Ousterhout
developed a TK toolkit that also became very popular (and independent of
TCL) continues the life of its own and actually became more popular than
TCL itself. It is now ported to many languages. Now when we are talking
about TCL we often mean TCL/Tk, but still we need to distinguish:
Sun was the first and the only company that realized the potential TCL in Unix environment and John Ousterhout joined SunLabs as a Distinguished Engineer in 1993. But TCL was not sexy enough and after Sun started its Java marketing campaign, TCL became an orphan in the corporation. without major corporate sponsor TCL never was able to realize its full potential in Unix, where it could became a universal application-level macro language. That's really sad. John Ousterhout left Sun and in 1998 founded Scriptic Corp. (see Tcl's inventor leaves Sun to form startup - SunWorld - February 1998). The life of a startup is a difficult one. In late 2000 it changed it name to Ajuba Solutions and then disappeared after the acquisition by Interwoven. Later he founded Electric Cloud, Inc.
TCL team was organized to drive further development of TCL/TK.
From the computer science perspective TCL looks like a more interesting development than Perl as it is the first open sourced embeddable language. IMHO Perl is a kind of mainframe (anti-Unix) style language that very much reminds me PL/1 ("all things for all people" kind of approach; there is always several ways to accomplish anything, etc. -- bonanza for consultants and book writers ;-), while TCL is a more Unix-style language. It does well one thing well: it's a really decent command language for various tools including OFMs.
It's very sad that TCL never become prominent neither in Solaris nor in Linux environment. BTW that definitely attests Linux as a neo-conservative movement as TCL has tremendous potential to lift Unix-style OS to a different level by integrating applications on a new level as well as providing a common internal language to a million of obscure Unix utilities some of which outlived their usefulness. One needs to understand that despite their non-othogonality and obscurity (I would like to see a person who really understands all the differences between find and grep in interpreting regular expressions ;-) the current set of Unix utilities still represents quite an innovative, semantically rich set of commands for the operating system.
Actually there was one attempt in this direction -- here I would like to mention tksh -- a very interesting development that also failed to get a proper attention of the Unix/Linux community. Due to ability to use Tcl as tool macro language there are a lot of Tcl-based applications (see Top Applications), much more than in any other language (even Rexx) -- and that makes an important difference between TCL and other scripting languages. John Ousterhout views on scripting were best formulated in his famous paper Scripting: Higher Level Programming for the 21st Century.
Like Tcl itself TK is a simple and elegant toolkit that proved to be useful not only for TCL programmers but in other scripting languages including Python and Perl. The major benefit of TK is its conciseness. The classic minimal Tk application is indeed tiny:
pack [button .mybutton -text Bye-bye -command exit]
Compare this with Java and you will understand that newer is not always better. This is a small but complete program in Tcl/Tk that puts a button on the screen and exits when the button is pushed, with proper behavior for iconifying, clicking, and other modern GUI conventions.
Fortunately for Unix users and administrators there are several TCL based OFMs. We will discuss in details only two of them: FileRunner and TkDesk.
Not A Commander by Sergiy Babkin is yet another OFM manager, but due to usage of TCL it has build-in scripting capabilities. The author noted that "good integration with the command line is the primary goal"
This project's purpose is a file manager for X11 with the user interface inspired by the Norton Commander (tm). Unlike the other NC clones, I try to keep the interaction with the command line unimpeded and transparent. I also try to do things more in the Unix way. The development is going in the Way of Natural Stupidity: first get something working and then add the features and refine the design. The main architectural goal is to keep the architecture flexible and make future changes easy.
The current state of development is "alpha": at least all the basic features are implemented.
My article about the Tk geometry managers written in Tcl is now available online - see below.
Read about how to Make Your X11 Look Like The Text Console
Look at the project from the hight of the first anniversary. (Updated on Oct 11, 2001). Some of the statements in this text are not correct, and people have told me that - I've added comments about that in italic as "2003 notes".
www.usenix.org/publications/login/2001-10/pdfs/babkin.pdf My article about the Tk geometry managers written in Tcl was printed in the October 2001 issue of ;login:, the Usenix association magazine. This article is a direct result of experiences with NAC.
I have submitted my proposals for nested lists as TIP#170. It's interesting to note that as it turns out, extensions for the lindex command, a new lset command have been already adopted in Tcl 8.4 with almost exactly the same syntax. So apparently, the idea is fairly obvious, since at least two people have done it independently in practically the same way. More similar features with slightly different syntax are in Tcl 8.4 as well.
FileRunner is a GUI-based file manager for X (all major flavors are supported) written by Henrik Harmsen. The first version was implemented in 1996 and can be considered probably as the second Tcl/Tk based filemanager for X (after Tkdesk) and the first TCL-based OFM. Latest release is 2.5.1.
It has Amiga flavor with central bar that holds additional buttons. Like MC it is distributed as Open Source under the GNU General Public License. See also small article in LG: A New Filemanager with Amiga Roots
It has built-in FTP support and due to the use of Tcl/Tk is very configurable. The interface is similar to OFM but have a middle command area between panel (the idea that was used in several other GUI-based file managers). I suspect that the idea came from Amiga. FileRunner is implemented in Tcl/Tk and a little C. From the point of software engineering such an approach is a superior to monolithic C coding of MC. Latest release is 2.5.1. It implements:
TkDesk by Christian Bolik is a non-OFM, but very successful graphical desktop and file manager for several types of UNIX (such as Linux) and the X Window System. TkDesk is free software, as defined by the GNU General Public License. It offers a rich set of file operations and services, but generally very weak links with OFM paradigm. It is another demonstration than "MC-way" is not optimal as a design implementation strategy especially in GUI environment. At the same time it is one of the most interesting TCL-based implementation and as such details can be interesting for any OFM developer. Actually it is possible to rewrite TK-desk in OFM style with minimum efforts.
Some solutions probably can be profitably borrowed. Among them:
You can get TkDesk from its homepage at: http://people.mainz.netsurf.de/~bolik/tkdesk/
You can also get it from (no guarantees on the paths given below): ftp://sunsite.unc.edu/pub/Linux/Incoming/ or ftp://sunsite.unc.edu/pub/Linux/X11/desktop/ and all of sunsite's mirrors.
ftp://ftp.neosoft.com/pub/tcl/NEW/ and all of Neosoft's mirrors.
[Sept 16, 2003] SourceForge.net Project Info - Not A Commander file manager for X11 modeled after the Norton Commander(tm). by Sergey Babkin <babkin@users.sourceforge.net> TCL-based.
Not A Commander - a better rip-off of Norton Commander(tm)
This project's purpose is a file manager for X11 with the user interface inspired by the Norton Commander (tm). Unlike the other NC clones, I try to keep the interaction with the command line unimpeded and transparent. I also try to do things more in the Unix way. The development is going in the Way of Natural Stupidity: first get something working and then add the features and refine the design. The main architectural goal is to keep the architecture flexible and make future changes easy.
The current state of development is "alpha": at least all the basic features are implemented in at least a basic way.
[Feb 5, 2000] Tk Commander -- This one is written in Tcl/Tk, and is designed specifically for X-Windows use. TkCommander0.6.2.tgz (608 K). Suggested by Juhapekka "naula" Tolvanen
[July 17, 1999] Smartbar -- small Tcl-based -- v. 03. Poscardware. Not very interesting other than yet another proof that TCL is a way to go in programming OFMs. Suggested by Juhapekka "naula" Tolvanen
Index of -tcl-ftparchive-sorted-packages-7.6-apps-xmc -- interesting student project. could serve as a prototype for your own development due to its simplicity. Try to fix bugs like RWX permissions displays first.
This package (?) contains 2 files :
1) xmc
2) README
Xmc is X Minek Commander - Norton Commander clone running on X. It's written in Tcl/Tk.
I tested it on Linux, Tcl 7.4 and Tk 4.0. This package (?) doesn't contain Tcl or Tk, so you have to install
it yourself. The best place to get it, should be :
1) ftp.sunlabs.com/pub/tcl
2) www.neosoft.com/tcl
3) www.smli.com/~bwelch/bwelch.html
Most of Linux installations have it already installed. Wish, or link to wish, is supposed to be located at /usr/bin, if your wish is elsewhere, please change first line in xmc. Xmc could be located where you want, but I think the best place is /usr/local/bin.
It's just a first version, I spend 13 hours on it. Next versions are expected very soon. Menu, execpt a few options, is not working yet, althought generally this program can be usefull. I don't know why, but file attributes are not read correctly by my Tcl, so RWX persmissions are always displayed.
I just started with Tcl/Tk, and this program is just result of my learning. I used some code (just a little bit...) from the book "Practical Programming in Tcl/Tk" written by Brent Welch. This is a very good book, althought I paid for it 50.95 $CAN.
Please let me know, if you have something interesting to say.
[Minek]
minek@geocities.com
www.geocities.com/SoHo/5306
[July 17, 1999] Smartbar -- small Tcl-based -- v. 03. Poscardware. Not very interesting other than yet another proof that TCL is a way to go in programming OFMs. Suggested by Juhapekka "naula" Tolvanen
Non-orthodox TCL file managers
LINUX free software download - File manager (see also FileManager a highly configurable Tcl-Tk File and Session manager)
X-Files - The Ultimate File Organizer
X-Files is a graphical file management program for Unix/X-Window environment. It was inspired by the Amiga program DirWork. This application differs slightly from the main stream file managers in that it has always only one window. On top (or bottom) of the window you have ActionbuttonsTM -area. Other main areas are the two directory listings for file related actions. You can use quick pop-up menu for basic operations. File extensions can be configured to launch any program you desire for that file.
The appearance and functionality can be fully configured according to your taste using the built-in editors.Tested on: Intel Linux, DEC Alpha, SGI, HP-UX, Solaris
(Should work on any Unix-machine running Tcl/Tk.)X-Files -- The Ultimate File Organizer -- current version 1.21 beta, dated 29.11.1996 X-Files is a graphical file management program for Unix/X-Window environment. For more info see: http://pinhead.tky.hut.fi/~xf_adm/ http://www.hut.fi/~mkivinie/xfindex.html The packages are also available at: java.inf.tu-dresden.de:/pub/unix/x-files IMPORTANT ======================================================================
X-Files is written in Tcl/Tk and offers e.g. the following: * An entirely configurable set of up to 96 Actionbuttons, although basic file operations can be performed even without any buttons! * The actionbuttons can also be configured to launch different applications making X-Files a nice front-end. * Two fast mouse button binded operations can be associated for each file type. These are examples, configure your own combinations: E.g. textfiles: left MB -> your favourite viewer middle MB -> editing with your favourite editor * Easy configuration of the previous items with built-in editors * Editor also for X-Files resources * Transparent access to tar- and zip-packages. Basic file operations are supported both to and from a package. * Easy installation with our own installation script * Moving within the directory hierarchy is flexible, fast and very visual. * A pop-up menu for a quick use of the basic file operations and also for other operations of your own choice * Directory history of the last six directories accessed * Safe delete with one-step undo * A few well thought and tested shortcut keys * Context sensitive pop-up help * Pattern select, cool looks and much more... ====================================================================== What you need to get X-Files working: * Unix/X-Window environment. Developed on Linux, tested on SGI Indy, HP 700, and Digital Alpha. * Tcl/Tk 7.4/4.0 or higher. * 3-button mouse or 2-button mouse with 3-button emulation. For questions mail xf_adm@pinhead.tky.hut.fi or contact the authors jforsten@cc.hut.fi and mkivinie@cc.hut.fi.
/*
* *Fedot* Copyright 1997 Mike Fedotov, fedotov@tlsoft.ru
*
* Permission to use, copy, modify, and distribute, this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of the copyright holders be used in
* advertising or publicity pertaining to distribution of the software with
* specific, written prior permission, and that no fee is charged for further
* distribution of this software, or any modifications thereof. The copyright
* holder make no representations about the suitability of this software for
* any purpose. It is provided "as is" without express or implied warranty.
*
* THE COPYRIGHT HOLDER DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA, PROFITS, QPA OR GPA, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
0) What is Fedot ?
Fedot is simple , writed on Tcl/Tk, file manipulation tool. It is similar to GIT ( Gnu Interactive Tool ) or Midnight Commander. It is not so powerful as they, but realize, i hope, all main necessary operations.
Using Fedot you can copy, move, delete file in very simple way.You can run executable file only by pressing <Return> key. You can associate extension of file with some action ( run specific command ).
Why is "Fedot"? Fedot is an old Russain name, which is not often used in our time.
1) What do you need to use Fedot.
You need packages Tcl/Tk installed on you machine. You need Tcl/Tk shell like tclshell or wish.
2) Installation
You need the folowing files:
Fedot.tcl - main tcl script
Fedot.help - help information ( very brief )
Fedot.conf - Configuration file
Fedot.menu - Menu file ( You may define commands which can be executed
by choosing menu item )
Fedot.ext - Extension association file.
Fedot.rscr - File used for running scripts from Fedot. ( If scripts opens
terminal and direct output to it, then after ending work of
scripts terminal immediately end work too ( And you can't see
results produced by script). Fedot.rscr file prevents it
( It simply wait for pressing <Return> key).
Before you install Fedot, you should modify some files and you should set some variable:
Fedot.conf - Set you favourite editor, terminal, fonts, path to Fedot files, initial directories.
Fedot.tcl - Set path to you Tcl/Tk shell ( tclshell or wish )
( This is the first line of file. Warning: this path
on some system can't be longer that 32 symbols)
Variables TIX_LIBRARY ( or TCL_LIBRARY or TK_LIBRARY - it depends on your
Tcl shell ) should be setted to directory with Tcl/Tk libraries. You may try
set all these variables. You also should set FEDOT_PATH variable to
directory, where placed Fedot files. ( This variable is uses to find file
Fedot.conf. If in this file you may define another path to Fedot files.
Fedot will use last definition. )
3) As the Tcl/Tk is interpreted language you may run Fedot:
/path_to_wish/wish /path_to_fedot/Fedot.tcl
( in the case if your Tcl/Tk shell is "wish" ) and see how it work.
( I hope - without problem - :) - )
4) Additions.
I use Fedot under HP-UX and don't port it to any other platforms,
on which Tcl/Tk package is present, but hope that it will not be
a problem to use Fedot on other platforms.
When you editing Fedot.conf, Fedot.menu and Fedot.ext file
don't forget about following: beetween option, colon and command
empty spaces is not allowed.
User Menu: No problems with X11 programs, but if you shall use Menu for
running scripts or terminal-oriented program some difficulties is possible.
The problem is the following - If scripts opens terminal and direct output
to it, then after ending work of scripts terminal immediately end work
too. ( And you can't see results produced by script). Therefore you may use
Fedot.rscr file to prevents ending work terminal. In other word you may
specify:
<Menu Item>:<Terminal_name> -e <Path to Fedot>/Fedot.rscr <Name of script>
( instead simply:<Menu Item>:<Term_name> -e <Name of command or script>).
I write Fedot not as a serious work but as a testing example for studing
Tcl/Tk. Therefore it may seem not so user-friendly or powerful as
other tools. But I think that it is a compromise beetween simplicity and
functionality.
May be somtimes you will see Tcl dialog boxes with something like that
"Error in Tcl script". Don't worry, press "Ok". I had not intention to
avoid all possibilities of appearing these messages. But they are NOT an
error. They are not destructive. ( Of course, it is possible to avoid these
messages. But it is a big work which improve only interface but not
functionality ).
LINUX free software download - File manager
Make your life simpler with SFM, a TCL file manager for X11, compatible with TCL 7.5 and Wishx 4.1.
Here's some of it's great features:
- Manage files (copy, paste, delete, permissions, properties, link)
- Drag and drop support
- Floppy disk mounting
- Trash
- Choice of colors
- Muitiple file browsers
- Open files and launch applications
- Find files
[Sept 18, 2003] Last File Manager is a simple but powerful file manager for the UNIX console. It has been developed with the ol' good Midnight Commander as model. From version 0.6 and up lfm package also contains pyview, a text / hex file viewer to be used with or without lfm. Read README.pyview for more info about it.
Last File Manager - lfm - is a mc-type application written in python.
(C) 2001-2, Iņigo Serna - inigoserna at terra.es
This software has been realised under the GPL License, see the COPYING file that comes with this package. There is NO WARRANTY.
Back when most of my work was done at a DOS prompt, I was a big fan of Norton Commander. A simple full screen interface made it easy to tag and move groups of files. Often using wildcards would be faster, but sometimes wildcards just wouldn't do. With Norton Commander, you had both at your fingertips. On my Linux system, I have Midnight Commander, a Norton Commander clone. I like it, but even simpler still is Iņigo Serna's lfm.Written in about 100k of well-documented python, the Last File Manager, lfm, is a console application. Serna uses the curses library to create this Midnight Commander-like file manager. The command keys are identical to MC so if you are an old hand at Norton or MC, you can use this application right away. lfm does not have a command prompt at the bottom of the screen the way Norton and MC do. Nor are all of its commands implemented yet. If like me you think using Python tools is fun, you won't let that stop you.
Zemljanka Commander
SourceForge.net Zemljanka Commander by Pavel Machek (leader), Johanka Dolezalova, Dan Koukola, Mirek 'Qiq' Spousta, Tomas 'Tobbi' Bouda
Zemljanka Commander is a file manager for GTK2. It is both
asynchronous (VFS) and extensible (Python). It has a text interface and a
GUI, which function identically.License: GNU General Public License (GPL)
ZC 1.0 released 2003-12-28 Version 1.0.1 is out 2004-01-14
vshnu the New Visual Shell (see also FreshPorts -- shells-vshnu )
Skilled Unix users know the importance of the shell or command line interface (CLI). (Old-time Unix users didn't even have a choice about it). While having more of a learning curve than a graphical user interface (GUI), it permits powerful, creative, complex operations to be specified quickly and reliably. For anyone but the superficial user, learning a CLI is an investment that pays off rewardingly. Command line environments are still readily usable over low-bandwidth network connections and restricted displays. Neal Stephenson explains the history and values of computer interfaces exceedingly well in "In the Beginning was the Command Line" <http://www.cryptonomicon.com/beginning.html>. One can even build a strong case that a CLI is best for a learning new computer user, as described in "The Command Line - The Best Newbie Interface?" <http://osnews.com/story.php?news_id=6282>.
However, when one is concerned about file manipulation and management (which is a very good thing to be concerned about as the basis of your interface, as most GUIs would rather lead you to forget), a CLI can be a frustratingly terse interface to the filesystem. Too many tedious ls(1) and cd(1) commands are needed to keep watch on what's there. A GUI file manager can address this problem, but then you're in mouseland and have lost the advantages of the CLI.
Enter the visual shells. Not a new idea, visual shells can operate within an entire terminal or console screen. File listings are displayed for your constant reference. Common commands and operations can typically be performed in fewer keystrokes in a visual interface. As the vi(1) visual editor evolved from the ed(1) and ex(1) command line editors, visual shells have attempted to evolve from command line shells. Some visual shells have promoted themselves as simpler menu-oriented interfaces suitable for novices, while others emphasize more expert functionality.
Nonetheless, visual shells have never really caught on, except some in certain circles such as Emacs' "dired" mode and the Midnight Commander program. I believe this is because they have been designed as largely self-contained applications with limited configurability. Using a visual shell has required a significant jump into a new base interface tool, and few are so compelling or standard to make that worthwhile.
Hence the design of vshnu, the New Visual Shell. In the Unix tradition, it works with things already there and fills a empty niche. When incorporating it into your Unix environment, you keep your command line shell, your editor, your pager, and access to all your tools, tricks and know-how. Vshnu can operate as an optional supplemental visual mode to your command line shell. You switch between command line and visual mode easily as you wish. Your interface bandwidth and power for Unix operations is on a higher plane and life gets sweeter. In addition, being written in Perl, it ports to any Unix system without compilation, gives you the advantages of a Perl interpreter running readily at hand, and permits visual command customizability limited only by your creativity, yet doesn't require knowledge of Perl for normal usage. Vshnu is a tool that's worthwhile even if only used occasionally as an interactive, pageable, color ls(1), yet still pays back, with interest, whatever more you put into using it.
Vshnu was inspired by and initially patterned after the program vsh, the Visual Shell <http://www.cs.indiana.edu/~kinzler/vshnu/vsh.txt> <http://www.cs.indiana.edu/~kinzler/vshnu/vsh-4.2k.tar.gz>. Vsh was written in the early 1980's and is pretty much obsolete bit rot now. After failing to be included in a BSD distribution, it faded into obscurity. A SunOS port hasn't compiled since the pre-Solaris days, and an attempted Linux port is still horrendously buggy. But, it started with some right ideas. I used vsh almost my entire Unix career before finally writing vshnu to replace, extend and modernize it.
The "nu" in "vshnu" implies "new", of course, as well as invokes the Hindu god Vishnu, the preserver of the universe and restorer of dharma (moral order). Hmmm, how appropriate.
You need Perl 5.002 or greater with the Term::Screen and Term::ANSIColor modules -- all available at <http://www.cpan.org>. Term::Screen and Term::ANSIColor module files are also included here in the libperl/Term directory. If you wish to install these, just add a ".pm" extension to the filenames and copy them into a directory in your Perl's @INC or into $HOME/perl/Term, $HOME/lib/Term or $HOME/lib/perl/Term.
Term::Screen uses Term::Cap, so you'll need a
termcap file containing your terminals' capabilities definitions.
Most systems already have one, but in case yours doesn't, a very
complete termcap file is available at
<http://www.tuxedo.org/~esr/terminfo/termtypes.tc.gz>. A much
briefer one containing only some common terminals is at
<http://www.cs.indiana.edu/~kinzler/home.html#etc/termcap>.
The termcap file may be installed as $TERMCAP,
$HOME/.termcap,
/etc/termcap or
/usr/share/misc/termcap.
Or on Debian systems, you can just run `apt-get
termcap-compat`.
The Term::ReadLine::Gnu, or at least the Term::ReadLine::Perl, module is recommended to provide line editing, history, filename completion, and insertions (with M-v) within vshnu <http://www.cpan.org>. Other modules that Perl can use, if installed, for particular features are Data::Dumper, Filesys::DiskFree, MIME::Types and Mail::Cap.
If available, vshnu can make good use of color in a terminal or console with ANSI color support, and this is highly recommended. For X Windows, the latest versions of xterm(1) have proper color support <http://www.clark.net/pub/dickey/xterm/>. Make sure your termcap information is properly defined for your color terminal. You'll then also want the GNU fileutils software <ftp://alpha.gnu.org/gnu/fetish/> which includes the dircolors(1) tool for setting your LS_COLORS environment variable. This variable is referenced by GNU ls(1) and vshnu to determine how files should be colored by type and name. As an example, the file color specification file I use is available at <http://www.cs.indiana.edu/~kinzler/home.html#etc/colorrc-ansi> .
The xcb(1)
utility will be required for the interfaces to the X11 cut buffer
to work
<http://www.goof.com/pcg/marc/xcb.html>.
Vshnu may be installed either as a regular Perl module or manually in any desired locations, including your home directory.
The usual routine
perl Makefile.PL
make install clean
should properly install the
"vshnu" file in your
Perl scripts directory and the
"vshnucfg.pl" file
in your Perl library directory.
You can edit the first line of the "vshnu" script here to contain the proper path to your perl executable, then copy it into any directory in your PATH. Make sure the copy's made executable.
Then the
"vshnucfg.pl" file
can be copied where you wish. If it's not installed as
$HOME/.vshnucfg or
as vshnucfg.pl
somewhere in your Perl's
@INC or in $HOME/perl,
$HOME/lib or
$HOME/lib/perl,
then you'll have to set the VSHNUCFG environment variable to
its location, or edit the installed
"vshnu" script near
the top to set $default_vshnucfg.
Optionally, your regular shell environment can be enhanced to interact with vshnu as a sort of supplemental visual mode, communicating any environment changes to vshnu and directory changes between the two shells.
See the subdirectory here for your command line
shell for further direction. Contributions of other shell integrations
are very welcome.
The installation procedure described above installs the main vshnu "engine" script and the supplied required configuration file. An entirely new configuration file could be written and substituted for the supplied one for a vshnu with a very different key command structure and operation (modeless perhaps). Contributions of additions or improvements to the vshnucfg file are welcome.
Usually, though, you'll just want to add on some personal extras or tweak a few things in the supplied configuration. This can be done with a "vshnurc" Perl file. It's loaded after the "vshnucfg" Perl file (installed above) and so can modify or supplement the effects of anything in it. Both of these files are just Perl code that define operating structures for vshnu's environment. The location of the vshnurc file is assumed to be $HOME/.vshnurc (or vshnurc.pl in Perl's @INC or in $HOME/perl, $HOME/lib or $HOME/lib/perl) unless the VSHNURC environment variable is set (or the $default_vshnurc variable is set in the vshnucfg file). My personal vshnurc file is included here as "vshnurc.pl" as an example to start your own. Some familiarity with Perl will probably be required to do any significant work within these files.
If the Mail::Cap, and perhaps MIME::Types, modules are available, vshnu's supplied configuration will use any mailcap(4) files it finds (in $MAILCAPS or $HOME/.mailcap, /etc/mailcap, /usr/etc/mailcap and /usr/local/etc/mailcap) for offered file actions for any file types it doesn't otherwise cover. Also, it will recognize a vshnu-specific mailcap file (in $VSHNUCAP or $HOME/.vshnucap or the $default_vshnucap variable set in the vshnucfg file) for file actions to supersede its usual configuration. For example, if you prefer xv(1) over display(1) for viewing image files, you may find adding this line to your vshnucap file simpler than changing your vshnurc file:
image/*; xv %s; dontneedterminal
This is the minimum you'll want to know to make some good use of vshnu with the supplied configuration:
Upon starting vshnu, you should see a listing of the files in your current directory. You can enter a subdirectory by typing the letter that labels it. Typing the label letter of a file will load that file into your editor. You can go up to the parent directory with <Return> or back to the previous directory with '\'. With '.' you can enter a file or directory to go to. <Tab> and <Backspace> (or <Delete>) will slide the labels (aka the "bag") around to the other files on the screen. <Space> will page to the next screenful of files in the current directory. Typing 'L' repeatedly will display the long listings of the files in the bag's column (<Control-L> will clear the long listings). ':' will let you run a shell command. 'V' will suspend vshnu, dropping you back into the invoking shell. <Control-Q>q (or <Control-Z>q) will exit vshnu.
Of course, there's much, much more possible. Type '%' within each mode of vshnu to see all the key commands available and what they'll do. Type '&' to see what file actions will be performed upon selecting files in the current file action mode. Type <Control-N> followed by a key to see what would happen with that key command.
Here's a summary of the modes in the supplied configuration, with the keys to enter and exit each mode:
| MODE | KEY | KEY COMMAND MODES |
|---|---|---|
| main | The starting mode and most commonly used. | |
| choose | / | Selected files are added to the set of chosen files. Main mode commands are available here, too, though a few change meaning. Additional key commands are available that operate on the chosen file set. |
| opts | O | Sets and unsets various options for sorting and listing the display. Type '%' in opts mode for a complete options list. This mode exits automatically after an option key is selected. |
| MODE | KEY | FILE ACTION MODES |
|---|---|---|
| edit | The starting mode where files are edited and directories are entered. | |
| do | ? | Special action is taken depending on the nature of the file selected, eg, GIF files are viewed, archive files have their contents listed, etc. |
| expand | " | Selected directories are expanded in the file listing, or collapsed if they're already expanded. |
Download Version 1.0211 || Screenshots || Mailing List || Feedback http://www.cs.indiana.edu/~kinzler/vshnu
A web forum and mailing list for discussion, support and announcements regarding vshnu is available at
http://groups.yahoo.com/group/vshnu
An introductory article on using vshnu was published in the November 2005 issue of Linux Magazine (US version) in Jerry Peek's Power Tools column, pages 12-17. It's available online at <http://www.linux-mag.com/content/view/2332/>.
A Japanese review and showcase of vshnu was published in the September 2001 issue of Linux Magazine <http://www.ascii.co.jp/linuxmag/>, pages 124-125.
PFM is a terminal-based file manager written in Perl, based on PFM.COM for MS-DOS (originally by Paul Culley and Henk de Heer). Permission to use the original name was kindly granted by Henk de Heer.
pfm is a terminal-based file manager written in Perl. All pfm commands are one- or two-key commands (case-insensitive). It features colored filenames according to extension or type, a single-file and multiple-file mode, support for executing user-defined commands (including wildcards) with only two keystrokes, and use of the ReadLine library for friendly commandline editing.
For more documentation, see the manual page.
Sourceforge is also where the project summary is located.
- Download the latest version (v1.92.2) from Sourceforge. Please note that you will also need the dependencies (see below).
New in 1.92.2:
- fixed bug in editing config file when PFMRC is set
- fixed bug in More - Kill for invalid input
- fixed bug in siZe command in multiple mode (marked file info is now updated)
- fixed bug in cursor positioning ('0' as filename no longer ignored)
- fixed bug concerning error reporting in launch
- fixed bugs concerning locale support (a.o. Japanese)
- added launch functionality
- added f-column (diskinfo)
- added functionality to sort by grand total (z-column)
- added 'clockdateformat' and 'clocktimeformat' options
- added clobber mode (switch with ! command)
- changed option 'clobber' to 'defaultclobber'
- updated documentation (use *roff tables)
So, what does it look like?
![]()
This program has some dependencies.
It makes use of the module Term::ScreenColor, which was based on Term::Screen, , in turn derived from Term::Cap. Term::ScreenColor is also available on CPAN.
Furthermore, it uses the Term::ReadLine::Gnu module which adds the readline flexibility to the commmand-line editing.
I said I was porting pfm to Term::ANSIScreen. Well, I did, but I decided to change it back. There are pros and cons to both modules, and since Term::ScreenColor is published on CPAN now, and it gives me slightly cleaner code, I decided to stick with my own module.
This program is free software: you can redistribute it and/or modify it under the terms described by the GNU General Public License version 2.
As it happens, the original MS-DOS version can still be obtained from some FTP sites.
freshmeat.net Project details for Pcom - php commander
Pcom - php commander by Giancarlo Erra
This software is under the GNU Public License (GPL)
DESCRIPTIONPcom is a PHP-driven webtelnet, that is a web interface to execute shell commands/external programs on a server. Obviously there are limitations, derived mainly by security limitations on the webserver (ie safe_mode in php). There is also a limitation on the program function itself, because you can only use non-interactive commands: you can launch a command or a program that doesn't need user interaction, but you cannot use something like lynx or irc (you can onlylaunch an interactive application in background, driving it automatically by arguments and/or scripts -where possible-). Remember that you can only launch a command, you don't drive a real shell. So, if you launch a ping it will go forever because you cannot take back the control on the stdin, while launching a traceroute you should get back control and output of the command because it terminates itself without user interaction.
INSTALLATION:
Unpack the archive, copy pcom.jpg and pcom.php3 files in your webserver and enjoy. Tested only on Apache and PHP (as module), without any limitation (bad idea :P) in configuration, such as safe_mode and all the other security stuff.
DISCLAIMER
I know this software is potentially dangerous, but YOU (have to) know that PHP can limit things like this easily. Use it at your own risk.
Screenshot of an ls -la in Pcom
Download (http) Pcom (14k)
FSGuide by
trajic ia a Web-based OFM written in PHP and Javascript
FSGuide is a Norton Commander clone used by many hosting firms and individuals for advanced file management through the Web. It features user management (password protection, and access control), advanced file selection dialogs, a multiple file uploader (which can also run any application after uploading), a text viewer, a binary file viewer, a source highlighting viewer, an internal text and binary editor, language support, and much more.
[June 14, 2003] macosxhints - Shell-based file and directory manager
| Prev | Contents | Next |
Copyright Š 1996-2009 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. Submit comments This document is an industrial compilation designed and created exclusively for educational use and is placed under the copyright of the Open Content License(OPL). Site uses AdSense so you need to be aware of Google privacy policy. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
Disclaimer:
Created Jan 2, 1997. Last modified: August 15, 2009