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	selec-
       tions and globs in a graphical display showing the contents of relevant
       directories.

       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.
       Otherwise  the  default terminal	program	will be	determined using gcon-
       ftool-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 op-
       tions 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 lis-
	      ten 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 be-
	      ginning of a vgseer shell	prompt.

       -d, --display=<vgmini|vgclassic|[path]>
	      Display program.	The Viewglob package comes with	vgclassic  and
	      vgmini  (the newer display).  Though there aren't	any other dis-
	      plays 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  de-
	      fault),  ascending  (last	referenced directory has the top list-
	      ing), or ascending 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 de-
	      fault 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 begin to type a command, the	display	window will highlight to  show
       potential filename completions (dull highlight) and file	selections and
       globs/expansions	(vibrant highlight).  Also, as you reference other di-
       rectories (e.g. ../ or /usr/local/), their layouts will appear as well.

       At  the	bottom of the display is the command line.  This is what View-
       glob 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 interface 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 dis-
       play if they connect to the same	vgd process (default).	Whichever ter-
       minal  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 com-
	   mands 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-navigation 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
		     terminal.

	   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 focus between the display and the active	terminal (sort-of like
	   an internal 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 dif-
	   ferent 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
	   Viewglob  with a remote machine, a conservative file	mask could im-
	   prove response time a little.

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

	       If you are currently at the command line	(i.e.  the  shell  has
	       control 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 in-
	   sert	a file name while you're in command mode, the shell  will  re-
	   ceive  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 View-
	      glob.  See the manuals for vgseer(1) and vgd(1) for more	infor-
	      mation.

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  information  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 pre-
       tend any	construction starting with an unescaped	! does not exist.  Ex-
       ceptions: 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 consequence 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  un-
       til  it's removed.  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 af-
       fect the	shell you were using, just the display.
       If you want to modify these variables, do so outside of a Viewglob ses-
       sion, or	put your changes in the	shell's	run control file.

       Only the	first command in a compound command  will  be  interpreted  by
       Viewglob.  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	decep-
       tive, 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  ig-
       nored 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
       active-terminal-tracking	functionality (use the refocus command to tell
       Viewglob	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 command.

       And there are certainly others.	If you spot any	bugs (and they	aren't
       explained  by  NOTES  above),  send me a	message, okay?	Ideas and code
       contributions 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.0>

home | help