Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
VIEWGLOB(1)		   Viewglob Manual (viewglob)		     VIEWGLOB(1)

NAME
     viewglob - convenience wrapper script for the Viewglob package

SYNOPSIS
     viewglob [options]

DESCRIPTION
     Viewglob  supervises  interactive shell activity and tracks file selections
     and globs in a graphical display showing the contents of relevant	directo-
     ries.

     The viewglob command is a convenience wrapper for two other programs in the
     Viewglob  package which do the actual work, vgseer(1) and vgd(1).	You will
     want to use those programs directly to do things that are non-simple.

     If this script is run from a terminal, that terminal will be used.   Other-
     wise  the default terminal program will be determined using gconftool-2(1),
     with xterm as the fallback.

     General information about using Viewglob can be found on this manpage under
     USAGE.

OPTIONS
     This program follows the usual GNU command line syntax, with  long  options
     starting with two dashes.	A summary is included below.

     -h, --host=<name>
	    Connect  a	new  vgseer  process to a vgd process on the given host.
	    You should only specify this if you are not connecting to your local
	    machine.

     -p, --port=<number>
	    Connect a new vgseer process to a vgd process on the given port.  If
	    it is a local connection and there is no vgd active on the port, one
	    will be started.  The default port for Viewglob is	16108  (1-GLOB).
	    By default Viewglob will communicate over a Unix-domain socket for a
	    local  vgd instance, but will still listen on the specified port for
	    remote connections.

     -c, --shell-mode=<name>
	    Shell to be used.  name can be "bash" or "zsh" (default is bash).

     -t, --shell-star=<on/off>
	    Show or hide the asterisk character which is usually at  the  begin-
	    ning of a vgseer shell prompt.

     -d, --display=<vgmini|vgclassic|[path]>
	    Display  program.  The Viewglob package comes with vgclassic and vg-
	    mini (the newer display).  Though there aren't any other displays in
	    existence at this point, one could be used by passing its path.  The
	    default is vgmini.

     -s, --sort-style=<windows|ls>
	    In the display, sort  files  with  directories  first  (Windows)  or
	    purely by name (ls).  ls mode is the default.

     -r, --dir-order=<descending|ascending|ascending-pwd-first>
	    In	the display, list directories in descending order (the default),
	    ascending (last referenced directory has the top  listing),  or  as-
	    cending with the current directory always first.

     -z, --font-size-modifier=<+/-##>
	    Increase  or decrease the base font size in the display by the given
	    number.  E.g. "-z +2" increases the window manager's default  by  2,
	    while "-z -2" decreases the default by 2.

     -i, --file-icons=<on/off>
	    Show or hide the file type icons in the display.

     -H, --help
	    Show summary of options.

     -V, --version
	    Show the version of the package.

     Note that vgseer and vgd have further options when used directly.

USAGE
     When  you start Viewglob, you'll be presented with your familiar prompt and
     a new window showing the file layout of the current directory.  As you  be-
     gin  to type a command, the display window will highlight to show potential
     filename completions (dull highlight) and file selections and  globs/expan-
     sions  (vibrant highlight).  Also, as you reference other directories (e.g.
     ../ or /usr/local/), their layouts will appear as well.

     At the bottom of the display is the command line.	This is what Viewglob is
     actually basing its results on; if you find the display is not showing what
     you expected, check to make sure the display's command line is the same  as
     the one in the shell, as they can be different (see NOTES below).

     With  a few exceptions, any text you type into the display is passed to the
     terminal as input.  So if you wished, you could use the display as your in-
     terface to the shell -- this actually works quite well if	you're	doing  a
     lot  of file management.  Arrow keys, Page Up, Page Down, Home, and End are
     interpreted by the display and not passed to the terminal.

     If you start other Viewglob-supervised shells, they will share the  display
     if  they  connect to the same vgd process (default).  Whichever terminal is
     currently active (i.e. has window focus or is being typed in) will have its
     environment shown.

     Display Navigation
	 You can navigate the display from the terminal by pressing C-g (Ctrl-G)
	 followed by a direction character.  They are:

		Up:		     C-k, C-p, or <Up Arrow>
		Down:		     C-j, C-n, or <Down Arrow>
		Page Up:	     C-b, C-u, or <Page Up>
		Page Down:	     C-f, C-d, or <Page Down>

	 To enter a real C-g to the shell, type it twice.   Navigation	commands
	 can be chained together - for example, typing C-g C-f C-f C-k will page
	 down twice and then move up once.  The chain is broken when a non-navi-
	 gation character is typed.

	 In  vgmini, the default display program, Up and Down are used to switch
	 between viewable direcories, while Page Up and Page Down  are	used  to
	 navigate the currently viewed directory.

     Commands
	 There	are  four  Viewglob  commands in addition to display navigation.
	 After typing C-g:

		Set or clear mask:   <ENTER>
		Toggle on/off:	     C-<SPACE>
		Refocus window:      <TAB>
		Disable:	     C-q

	 Toggling will close the display if it's active or open it if not.  It's
	 completely safe to open and close the display multiple times.

	 The behaviour of the refocus command is affected by the following:
		-  The display program used.
		-  The vgd execution options.
		-  The location of the display in relation to the active  termi-
		   nal.

	 Generally it tries to ensure that both the terminal and the display are
	 viewable at the same time, and if they already are, it switches the fo-
	 cus between the display and the active terminal (sort-of like an inter-
	 nal Alt-<TAB>).

	 If  the display did not automatically update to the current shell after
	 a window shuffle (i.e. it's showing  the  environment	of  a  different
	 shell), refocusing will wake it up.  This is often necessary for tabbed
	 terminals like gnome-terminal and konsole.

	 Disabling  Viewglob functionality disconnects the terminal from vgd and
	 turns vgseer off, resulting in an almost regular shell.   There  is  no
	 way to re-enable Viewglob in a shell which has been disabled.

     Filename Masking
	 File masking is a way to control the number and types of files shown in
	 the  display.	 The  default  mask  is  "*", which shows all non-hidden
	 files.  To show ALL files, an appropriate mask would  be  ".*	*".   To
	 show  only C source files, the mask could be "*.[ch]" or "*.c *.h".  To
	 just display directory file types, the mask would be "*/".

	 A mask can be set with the key sequence C-g [mask] <ENTER>.   The  mask
	 string  will  print  in  the  display	as  it's  being typed.	Typing a
	 non-printable character (such as <ESC> or C-c)  while	creating  a  new
	 mask  will cancel it.	The mask can be set back to the default "*" with
	 a simple C-g <ENTER>.

	 File masking is done on the client level.  Therefore, when using  View-
	 glob  with a remote machine, a conservative file mask could improve re-
	 sponse time a little.

     File/Directory Name Insertion
	 The name of any file or directory can be passed to the terminal by dou-
	 ble left-clicking.  If shift is held, the full path of the file or  di-
	 rectory is passed.  Insertion works as follows:

	     If  you  are currently at the command line (i.e. the shell has con-
	     trol of the terminal):
	     -
	       Special characters (*, ?, !, etc.) are escaped.
	     -
	       If there is no whitespace to the left of the cursor, a  space  is
	       prepended to the inserted text.
	     -
	       If  there is no whitespace to the right of the cursor, a space is
	       appended to the inserted text.

	     If you are executing another program in the terminal  (say  a  text
	     editor or something):
	     -
	       The text is inserted as-is, without any escaping or spacing.

	 Note  that  insertion	of file names works pretty much the same as just
	 pasting text into the terminal -- it's interpreted only as a series  of
	 keystrokes.   This  means  it's your responsibility to be sure that the
	 shell is in a state cooperative to the reception of text.  For example,
	 if you use vi-mode in your shell, and you  insert  a  file  name  while
	 you're  in command mode, the shell will receive the data as a series of
	 commands - probably not what you wanted to do.

FILES
     ~/viewglob/vgseer.conf
     ~/viewglob/vgd.conf

	    If present, these file specify a default configuration for Viewglob.
	    See the manuals for vgseer(1) and vgd(1) for more information.

NOTES
     First of all, when I say below "such-and-such feature of  bash/zsh  doesn't
     work in Viewglob", I just mean that the display will not show expansion in-
     formation	for that feature.  The functionality of both shells is UNCHANGED
     by running Viewglob.  Anyhow.

     Unfortunately, I haven't found a good  way  to  predict  history  expansion
     (stuff  involving the special char "!").  The Viewglob display will pretend
     any construction starting with an unescaped ! does not exist.   Exceptions:
     a ! by itself, or the !(foo) pattern match.

     A Viewglob'd shell session will not extend to subshells.  That is, if while
     in  a Viewglob session you run, say, "bash" or "su", Viewglob will probably
     be temporarily disabled until you exit the new shell.   This  is  a  conse-
     quence  of  Viewglob's implementation, but I'd probably keep this behaviour
     even if I could get around it.

     Since Viewglob doesn't track changes in shell variables,  I've  decided  to
     take out variable interpretation entirely.  If Viewglob sees what it thinks
     is  a variable in its command line, it'll stop processing it until it's re-
     moved.  The variables will of course work fine in the shell itself.

     While running Viewglob, don't unset or change the following  variables  and
     functions.

	    In bash: PS1, PROMPT_COMMAND, histchars;
	    In zsh:  PROMPT (or PS1), RPROMPT, precmd, TRAPHUP;

     Viewglob would probably become confused.  Note that if you do change one of
     these  (maybe  you  were  curious, or you just forgot), it won't affect the
     shell you were using, just the display.
     If you want to modify these variables, do so outside of a Viewglob session,
     or put your changes in the shell's run control file.

     Only the first command in a compound command will be interpreted  by  View-
     glob.  For example, as you type:

	    $ mv *.jp{e,}g ~/photos/ && rm *

     Viewglob  will  stop listening when it sees "&&", and the display will only
     register *.jp{e,}g.  This isn't an implementation problem - it's just  that
     showing  globbing	for  the  subsequent commands could be deceptive, as the
     filesystem could be changed by executing the first command  (as  it  is  in
     this case).

     Command substitution (stuff with backticks (`) or $(command)) is ignored by
     Viewglob for the reason given above.  Works fine in your shell though.

     The display will not interpret aliases in zsh.

     For more information, please visit:

	    http://viewglob.sourceforge.net/

BUGS
     Tabbed terminal programs such as gnome-terminal and konsole confuse the ac-
     tive-terminal-tracking functionality (use the refocus command to tell View-
     glob you've changed shells).

     Command  line  tracking seems to be pretty good for general use, but is far
     from perfect.

     Resizing the terminal window after you've typed a multi-line  command  will
     often  cause Viewglob's command line to become temporarily out of sync with
     the true command line, though it tries really hard to keep up.  No big deal
     if this happens -- Viewglob should be in sync by the start of the next com-
     mand.

     And there are certainly others.  If you spot any bugs (and they aren't  ex-
     plained by NOTES above), send me a message, okay?	Ideas and code contribu-
     tions are also very welcome.

AUTHORS
     Stephen Bach <sjbach@users.sourceforge.net>

SEE ALSO
     bash(1), zsh(1), ls(1), glob(7), dir_colors(5).

				 April 26, 2006 		     VIEWGLOB(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=viewglob&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help