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

FreeBSD Manual Pages

  
 
  

home | help
MULTIXTERM(1)		    General Commands Manual		 MULTIXTERM(1)

NAME
       multixterm - drive multiple xterms separately or	together

SYNOPSIS
       multixterm [ args ]

DESCRIPTION
       Multixterm creates multiple xterms that can be driven together or sepa-
       rately.

       In its simplest form, multixterm	is run with no arguments and  commands
       are  interactively  entered in the first	entry field.  Press return (or
       click the "new xterm" button) to	create a new xterm running  that  com-
       mand.

       Keystrokes  in  the "stdin window" are redirected to all	xterms started
       by multixterm.  xterms may be driven separately simply by  focusing  on
       them.

       The  stdin  window must have the	focus for keystrokes to	be sent	to the
       xterms.	When it	has the	focus, the color changes  to  aquamarine.   As
       characters  are entered,	the color changes to green for a second.  This
       provides	feedback since characters are not echoed in the	stdin window.

       Typing in the stdin window while	holding	down  the  alt	or  meta  keys
       sends  an  escape character before the typed characters.	 This provides
       support for programs such as emacs.

ARGUMENTS
	      -xa The optional -xa argument indicates  arguments  to  pass  to
		  xterm.

	      -xc The  optional	 -xc argument indicates	a command to be	run in
		  each named xterm (see	-xn).  With no -xc argument, the  com-
		  mand is the current shell.

	      -xd The  optional	 -xd  argument indicates a directory to	search
		  for files that will appear in	the Files menu.	  By  default,
		  the directory	is: ~/lib/multixterm

	      -xf The  optional	 -xf  argument	indicates a file to be read at
		  startup.  See	FILES below for	more info.

	      -xn The optional -xn argument indicates a	name for  each	xterm.
		  This name will also be substituted for any %n	in the command
		  argument (see	-xc).

	      -xv The optional -xv flag	puts multixterm	into  a	 verbose  mode
		  where	it will	describe some of the things it is doing	inter-
		  nally.  The verbose output is	not intended to	be understand-
		  able to anyone but the author.

       Less  common  options may be changed by the startup file	(see FILES be-
       low).

       All the usual X and wish	flags are supported (i.e.,  -display,  -name).
       There are so many of them that to avoid colliding and make them easy to
       remember, all the multixterm flags begin	with -x.

       If any arguments	do not match the flags above,  the  remainder  of  the
       command	line  is  made available for user processing.  By default, the
       remainder is used as a list of xterm names in the style	of  -xn.   The
       default	behavior  may be changed using the .multixtermrc file (see DOT
       FILE below).

EXAMPLE	COMMAND	LINE ARGUMENTS
       The following command line starts up two	xterms using ssh to the	 hosts
       bud and dexter.

	    multixterm -xc "ssh	%n" bud	dexter

FILES
       Command	files may be used to drive or initialize multixterm.  The File
       menu may	be used	to invoke other	files.	If files exist in the  command
       file  directory	(see  -xd  above),  they will appear in	the File menu.
       Files may also be loaded	by using File->Open.  Any filename is  accept-
       able but	the File->Open browser defaults	to files with a	.mxt suffix.

       Files  are  written  in	Tcl and	may change any variables or invoke any
       procedures.  The	primary	variables of  interest	are  'xtermCmd'	 which
       identifies  the	command	 (see -xc) and 'xtermNames' which is a list of
       names (see -xn).	 The procedure xtermStartAll, starts xterms  for  each
       name  in	the list.  Other variables and procedures may be discovered by
       examining multixterm itself.

EXAMPLE	FILE
       The following file does the same	thing as the earlier  example  command
       line:

	    # start two	xterms connected to bud	and dexter
	    set	xtermCmd "ssh %n"
	    set	xtermNames {bud	dexter}
	    xtermStartAll

DOT FILE
       At startup, multixterm reads ~/.multixtermrc if present.	 This is simi-
       lar to the command files	(see FILES above)  except  that	 .multixtermrc
       may  not	 call xtermStartAll.  Instead it is called implicitly, similar
       to the way that it is implicit in the command line use of -xn.

       The following example .multixtermrc file	makes every xterm run  ssh  to
       the hosts named on the command line.

	    set	xtermCmd "ssh %n"

       Then multixterm could be	called simply:

	    multixterm bud dexter

       If  any command-line argument does not match a multixterm flag, the re-
       mainder of the command line is made available to	.multixtermrc  in  the
       argv  variable.	If argv	is non-empty when .multixtermrc	returns, it is
       assigned	to xtermNames unless xtermNames	is non-empty  in  which	 case,
       the content of argv is ignored.

       Commands	 from  multixterm are evaluated	early in the initialization of
       multixterm.  Anything that must be  done	 late  in  the	initialization
       (such  as adding	additional bindings to the user	interface) may be done
       by putting the commands inside a	procedure called "initLate".

MENUS
       Except as otherwise noted, the menus are	self-explanatory.  Some	of the
       menus  have  dashed  lines  as the first	entry.	Clicking on the	dashed
       lines will "tear	off" the menus.

USAGE SUGGESTION - ALIASES AND COMMAND FILES
       Aliases may be used to store lengthy command-line invocations.  Command
       files  can be also be used to store such	invocations as well as provid-
       ing a convenient	way to share configurations.

       Tcl is a	general-purpose	language.  Thus	multixterm command  files  can
       be extremely flexible, such as loading hostnames	from other programs or
       files that may change from day-to-day.  In addition, command files  can
       be  used	for other purposes.  For example, command files	may be used to
       prepared	common canned interaction sequences.  For example, the command
       to send the same	string to all xterms is:

	   xtermSend "a	particularly long string"

       The  File  menu	(torn-off)  makes canned sequences particularly	conve-
       nient.  Interactions could also be bound	to a mouse button,  keystroke,
       or added	to a menu via the .multixtermrc	file.

       The  following .multixtermrc causes tiny	xterms to tile across and down
       the screen.  (You may have to adjust the	parameters for	your  screen.)
       This can	be very	helpful	when dealing with large	numbers	of xterms.

	   set yPos 0
	   set xPos 0

	   trace variable xtermArgs r traceArgs

	   proc	traceArgs {args} {
	       global xPos yPos
	       set ::xtermArgs "-geometry 80x12+$xPos+$yPos -font 6x10"
	       if {$xPos} {
		   set xPos 0
		   incr	yPos 145
		   if {$yPos > 800} {set yPos 0}
	       } else {
		   set xPos 500
	       }
	   }

       The  xtermArgs variable in the code above is the	variable corresponding
       to the -xa argument.

       xterms can be also be created directly.	 The  following	 command  file
       creates three xterms overlapped horizontally:

	   set xPos 0
	   foreach name	{bud dexter hotdog} {
	       set ::xtermArgs "-geometry 80x12+$xPos+0	-font 6x10"
	       set ::xtermNames	$name
	       xtermStartAll
	       incr xPos 300
	   }

USAGE SUGGESTION - SELECTING HOSTS BY NICKNAME
       The  following  .multixtermrc  shows an example of changing the default
       handling	of the arguments from hostnames	to a filename containing host-
       names:

	    set	xtermNames [exec cat $argv]

       The  following  is  a  variation, retrieving the	host names from	the yp
       database:

	    set	xtermNames [exec ypcat $argv]

       The following hardcodes two sets	of hosts, so that you can call multix-
       term with either	"cluster1" or "cluster2":

	    switch $argv {
		   cluster1 {
		       set xtermNames "bud dexter"
		   }
		   cluster2 {
		       set xtermNames "frank hotdog weiner"
		   }
	       }

COMPARE/CONTRAST
       It  is  worth  comparing	 multixterm to xkibitz.	 Multixterm connects a
       separate	process	to each	xterm.	xkibitz	connects the same  process  to
       each xterm.

LIMITATIONS
       Multixterm  provides no way to remotely control scrollbars, resize, and
       most other window system	related	functions.

       Because xterm has no mechanism for propagating size information to  ex-
       ternal  processes,  particularly	 for  character	 graphic  applications
       (e.g., vi, emacs), you may have to manually  ensure  that  the  spawned
       process	behind	each  xterm has	the correct size.  For example,	if you
       create or set the xterm to a size, you may have	to  send  an  explicit
       stty  command with the correct size to the spawned process(es).	Alter-
       natively, you can add the correct size argument when an xterm  is  cre-
       ated (i.e., "-geometry 80x20").

       Multixterm  can	only  control  new  xterms  that multixterm itself has
       started.

       As a convenience, the File menu shows a limited number  of  files.   To
       show all	the files, use File->Open.

FILES
       $DOTDIR/.multixtermrc   initial command file
       ~/.multixtermrc	       fallback	command	file
       ~/lib/multixterm/       default command file directory

BUGS
       If  multixterm  is killed using an uncatchable kill, the	xterms are not
       killed.	This appears to	be a bug in xterm itself.

       Send/expect sequences can be done in multixterm	command	 files.	  How-
       ever, due to the	richness of the	possibilities, to document it properly
       would take more time than the author has	at present.

REQUIREMENTS
       Requires	Expect 5.36.0 or later.
       Requires	Tk 8.3.3 or later.

VERSION
       This man	page describes version 1.8 of multixterm.

       The  latest  version  of	 multixterm  is	 available   from   http://ex-
       pect.nist.gov/example/multixterm	 .   If	 your version of Expect	and Tk
       are too old (see	REQUIREMENTS above), download a	new version of	Expect
       from http://expect.nist.gov

DATE
       April 30, 2002

AUTHOR
       Don Libes <don@libes.com>

LICENSE
       Multixterm is in	the public domain; however the author would appreciate
       acknowledgement if multixterm or	parts of it or ideas from it are used.

				16 August 2002			 MULTIXTERM(1)

NAME | SYNOPSIS | DESCRIPTION | ARGUMENTS | EXAMPLE COMMAND LINE ARGUMENTS | FILES | EXAMPLE FILE | DOT FILE | MENUS | USAGE SUGGESTION - ALIASES AND COMMAND FILES | USAGE SUGGESTION - SELECTING HOSTS BY NICKNAME | COMPARE/CONTRAST | LIMITATIONS | FILES | BUGS | REQUIREMENTS | VERSION | DATE | AUTHOR | LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=expect_multixterm&sektion=1&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help