xsession man page on BSDOS

Man page or keyword search:  
man Server   6284 pages
apropos Keyword Search (all sections)
Output format
BSDOS logo
[printable version]



XSESSION(1)					   XSESSION(1)

NAME
       xsession - session manager for the X Window System

SYNOPSIS
       xsession [-toolkitoption	   ...]	   [-console]	[-cpp]
       [-defaultWM ...] [-D...] [-m4] [-keep] [-notify] [-remote]
       [-sounds] [-split] [-startup] [-version] [-help]

DESCRIPTION
       The xsession program is a session manager.  It is normally
       executed by your ~/.xinitrc (or	~/.xsession)  script  and
       controls your X Window session.	As soon as it is started,
       xsession launches a window manager and  some  applications
       of  your choice.	 At anytime during your session, you may
       switch to another window manager or  execute  some  other
       applications  from  the xsession menus.	You may also lock
       your screen using an independent locker	application  and
       redirect to the xsession window the messages usually sent
       to /dev/console.

       One useful feature of xsession  is  the	preprocessing  of
       window  managers' configuration files.  When a window man-
       ager is launched, its startup file can be filtered through
       m4(1)  or  cpp(1).   Some  macros are defined (such as the
       host name, screen size and so on) that will help you  cus-
       tomize  your  menus  and screen layout.	One advantage of
       this feature is that several window managers can share the
       same  startup  file.  For example, you can (and we do) use
       the same file for  mwm(1)  (Motif),  twm(1),  ctwm(1)  and
       vtwm(1). Some	lines  are  protected  by  a  test on the
       ``WM_NAME'' macro, but the other lines are  common.   This
       saves  a lot of time if you want to maintain the same menu
       structure  for  the  four  of  them.   You  can	also  use
       ``include'' statements in your file.

       The  best way to execute xsession is to include it in your
       ~/.xinitrc (or ~/.xsession) file, as the last client.  The
       xinit(1) manual page says that ``the last long-lived pro-
       gram started [...] should be left  in  the  foreground  so
       that  the  script  won't exit''.	 You will find a similar
       statement in the xdm(1) manual page.   This  last  program
       should be xsession.  As a matter of fact, this may even be
       the only program executed in your  startup  file,  because
       xsession itself	provides  a way to launch other applica-
       tions.  When started, xsession  will  look  in  your  home
       directory  and execute a file named .X11Startup, if found.
       This shell script is used to start your client programs.

OPTIONS
       XSession accepts all of the  standard  X Toolkit	 command
       line  options  (such  as -iconic, -geometry and so on; see
       X(1)).  The following additional arguments are  supported.
       Note that because the standard X Toolkit method is used to
       retrieve X resources, most of the command line options are

Version 1.1		6 June 1994				1

XSESSION(1)					   XSESSION(1)

       only  another  way  to  set  the value of some resources.
       These options always take  precedence  over  their  corre-
       sponding resources.

       -console
	   When -console  is set, xsession tries to redirect the
	   console output messages to its window.   This  feature
	   should  work on most systems, but it may be necessary
	   that xsession is ``setuid'' to root.

       -defaultWM window-manager's-short-name
	   Specifies the (short) name of the default window  man-
	   ager to  launch.  See the ``Menu customization'' sec-
	   tion below for details.  The easiest	 way  to  choose
	   your default window manager is by using X resources in
	   your ~/.Xdefaults file (or  the  file  you  read  with
	   xrdb(1)).  The default value is ``TWM''.

       -keep
	   Sets the  ``keepTmpFile'' resource to ``true''.  This
	   option is used mainly for debugging purposes.

       -notify, -nonotify
	   When a message is printed in the xsession  window  and
	   -notify  is	set, the icon name of the application has
	   `` *'' appended, so that it is evident even	when  the
	   application is iconified.  When the application is de-
	   iconified, the icon name will be restored to its  ini-
	   tial value.	The -notify option is set by default.

       -preprocessor m4|cpp
	   Specifies  which  preprocessor must be used. Only two
	   values may be used: either ``m4'' or ``cpp'' according
	   as you want to use m4(1) or cpp(1).	The default value
	   is ``m4''.

       -quiet
	   If you use this option, xsession will  not  print  any
	   messages  when  an  application  or	window manager is
	   started.  The warning messages  (e.g.  ``configuration
	   file not found'') will not be displayed either.

       -remote
	   You	should	set  this option if you run xsession on a
	   remote host (e.g. if your  ~/.xinitrc  or  ~/.xsession
	   file tests if you are on a oldish machine and, if so,
	   executes xsession on a more powerful host in a  remote
	   shell).   XSession  must  then  execute a special exit
	   code to work around an unwanted feature in rsh(1) that
	   prevents it from exiting if there is one or more chil-
	   dren of xsession alive.  This exit code shuts down the
	   socket associated with the remote connection.

Version 1.1		6 June 1994				2

XSESSION(1)					   XSESSION(1)

       -sounds, -nosounds
	   Activates  (or  disables) the sounds.  The sounds will
	   only be available if xsession was compiled with SOUNDS
	   defined.   The  sounds  are	activated  by  default if
	   SOUNDS was defined, they are disabled otherwise.

       -split, -nosplit
	   When -split and -console are set, the output messages
	   of  the  programs  and the ones related to the console
	   are shown in separate windows.  The -split  option  is
	   set	by  default,  but will be silently ignored if the
	   ``console'' option is not used.

       -startup, -nostartup
	   If -startup is set, then the user's	.X11Startup  file
	   is  executed by xsession at startup.	 You may want to
	   turn this option off for debugging purposes or if  you
	   don't have a .X11Startup file.  The -startup option is
	   set by default.

       Note: if you use a ``+'' instead of a ``-'' in the boolean
       options	above,	then  the  effect  will be reversed (e.g.
       +startup is the same as -nostartup).

       There is no X resource equivalent for the  following  com-
       mand line options:

       -Dsymbol
	   This defines a symbol for the preprocessor that is run
	   on the  window  managers'  configuration  files.   All
	   instances of symbol in the configuration files will be
	   replaced by the NULL string (if xsession was compiled
	   with USE_M4	defined)  or 1 (if xsession was compiled
	   with USE_CPP).

       -Dsymbol=value
	   This defines a symbol for the preprocessor that is run
	   on  the  window  managers'  configuration  files.  All
	   instances of symbol in the configuration files will be
	   replaced by value.

       -cpp, -m4
	   These  options are equivalent to -preprocessor cpp and
	   -preprocessor m4, respectively.

       -help
	   Guess what?

       -version
	   Prints the current version number and exits.

X DEFAULTS
       This program uses mainly the Text, Paned, Box,  MenuButton
       and  SimpleMenu Athena widgets.	Look in the Athena Widget

Version 1.1		6 June 1994				3

XSESSION(1)					   XSESSION(1)

       Set documentation for  controlling  them.   See	also  the
       ``Application resources'' section in this manual page.

WIDGETS
       In  order  to  specify resources, it is useful to know the
       hierarchy of the widgets which compose xsession. In  the
       notation below, indentation indicates hierarchical struc-
       ture.  The widget class name is given first,  followed  by
       the widget instance name.

	    XSession  xsession
		 Paned	top_pane
		      Box  menu_box
			   MenuButton  session_button
				SimpleMenu  menu
				     SmeBSB  lock_menu_item
				     SmeBSB  quit_menu_item
			   MenuButton  wm_button
				SimpleMenu  menu
				     SmeBSB  <window manager's short name>_menu_item
				     .
				     . (one for each window manager)
				     .
			   MenuButton  app_button
				SimpleMenu  menu
				     SmeBSB  <application's short name>_menu_item
				     .
				     . (one for each application)
				     .
			   MenuButton  misc_button
				SimpleMenu  menu
				     SmeBSB  clear_menu_item
				     SmeBSB  clear2_menu_item
		      Text  ascii_text
		      Text  ascii_text2

       The <window manager's short name> and <application's short
       name> represent the short name of the  program  (a  window
       manager or another application). For example, if you have
       ``TWM'' in your ``Window Managers'' menu, you will have	a
       SmeBSB instance named  ``TWM_menu_item''.

APPLICATION RESOURCES
       XSession has the following application-specific resources
       which allow customizations unique to  xsession.	Some  of
       these resources have command line equivalents which may be
       used to override them.

       Any of these options may also be specified on the  command
       line by using the X Toolkit Intrinsics resource specifica-
       tion  mechanism. For  example,	to  run	 xsession  using
       xlock(1) to lock the screen,
	    % xsession -xrm '*lockCommand:xlock -mode random'

Version 1.1		6 June 1994				4

XSESSION(1)					   XSESSION(1)

       allowBell (Class AllowBell)
	       Either ``true'' or ``false''.  When ``true'', this
	       resource directs xsession to ring the bell if  the
	       message printed in its window contains one or more
	       bell character(s).  This may happen if the  output
	       from  one  application launched from the menu con-
	       tains such characters (e.g. in an error	message).
	       Default value: ``false''.

       appNames (Class AppNames)
	       This  resource  is  a  comma-separated  list which
	       gives the (short) names of the applications to  be
	       shown  in  the  ``Applications'' menu.	See  the
	       ``Menu customization'' section below  for  details
	       about  names  and short names of the applications.
	       The default value should have been customized  for
	       your  site  during  the	installation of xsession.
	       The names inside this resource are used as <appli-
	       cation_name>   to  build the  following	resource
	       names:

       app_<application_name> (Class App_<application_name>)
	       Each of these resources is a string that gives the
	       full application name, followed by a comma and the
	       command	to  execute  the  application.	See  the
	       ``Menu  Customization''	section below for details
	       about building these resources.

       console (Class Console)
	       Either ``true'' or ``false''.  If this resource is
	       ``true'',  xsession  tries to redirect the console
	       output  messages to  its	 window.   This	 feature
	       should  work on most systems, but it may be neces-
	       sary that xsession is ``setuid'' to root.  Default
	       value: ``false''.

       defaultWM (Class DefaultWM)
	       This  resource  contains the  short  name  of the
	       default window manager to launch.  See the  ``Menu
	       customization''	section	  below	  for	details.
	       Default value: ``TWM''.

       keepTmpFile (Class KeepTmpFile)
	       Either ``true'' or ``false''.  If this resource is
	       ``true'',  xsession  will not delete the temporary
	       files created for the preprocessor and the  window
	       manager. This only makes sense if you use a pre-
	       processor (such as m4(1) or cpp(1)) to filter  the
	       window  manager's configuration file.  This option
	       is used mainly for  debugging  purposes. Default
	       value: ``false''.

       lockCommand (Class LockCommand)
	       This resource contains the command to execute when

Version 1.1		6 June 1994				5

XSESSION(1)					   XSESSION(1)

	       the user selects the ``Lock'' entry in the  ``Ses-
	       sion'' menu.  The string can contain space charac-
	       ters in order to add some arguments  to	the  com-
	       mand.	Default value:	 ``xscreensaver-command
	       -lock''.

       motd (Class Motd)
	       Either ``true'' or ``false''.  When this resource
	       is  ``true'', the content of the /etc/motd file is
	       printed	in  the xsession  window   at	startup.
	       Default value: ``true''.

       notify (Class Notify)
	       Either  ``true'' or ``false''.	When a message is
	       printed in the xsession window and  this resource
	       is  ``true'', the icon name of the application has
	       `` *'' appended, so that it is evident  even  when
	       the  application is iconified.	When the applica-
	       tion  is de-iconified,	the  icon  name will  be
	       restored to  its	 initial  value.  Default value:
	       ``true''.

       preprocessor (Class Preprocessor)
	       Specifies which preprocessor must be  used.   Only
	       two  values may be used, either ``m4'' or ``cpp'',
	       according as you want  to  use  m4(1)  or  cpp(1).
	       Default value: ``m4''.

       quiet (Class Quiet)
	       Either ``true'' or ``false''.  If this resource is
	       ``true'', xsession will	not  print  any messages
	       when  an application or window manager is started.
	       The warning messages  (e.g.  ``configuration  file
	       not   found'')	will  not  be  displayed  either.
	       Default value: ``false''.

       remote (Class Remote)
	       Either ``true'' or ``false''.  The  usual  way  to
	       change  this  value  is	by  using  a command line
	       option,	not  an X  resource.	Default	  value:
	       ``false''.

       ringBell (Class RingBell)
	       Either  ``true'' or ``false''.	When a message is
	       printed in the xsession window and  this resource
	       is  ``true'', the bell is rung so that the user is
	       warned even if the window is not visible.  Default
	       value: ``false''.

       sounds (Class Sounds)
	       Either ``true'' or ``false''.  If this resource is
	       ``false'', then	the  sounds  are  disabled.   The
	       sounds will only be available if xsession was com-
	       piled  with  SOUNDS   defined.	Default	  value:

Version 1.1		6 June 1994				6

XSESSION(1)					   XSESSION(1)

	       ``true'' if SOUNDS was defined, else ``false''.

       splitWindow (Class SplitWindow)
	       Either	``true''  or  ``false''.   If  both  this
	       resource and the console resource  are	``true'',
	       the normal output messages of the programs and the
	       ones related to the console are shown in separate
	       windows. Default value: ``true''.

       startup (Class Startup)
	       Either ``true'' or ``false''.  If this resource is
	       ``true'', then the user's .X11Startup file is exe-
	       cuted  by  xsession  at	startup.  You may want to
	       turn this option off for debugging purposes or  if
	       you don't have a .X11Startup file.  Default value:
	       ``true''.

       wmNames (Class WMNames)
	       This resource  is  a  comma-separated  list  which
	       gives  the (short) names of the window managers to
	       be shown in the ``Window Managers'' menu.  See the
	       ``Menu  customization''	section below for details
	       about names and short names  of	the  window  man-
	       agers.	The  default  value should have been cus-
	       tomized for your site during the installation  of
	       xsession.  The names inside this resource are used
	       as <window_manager_name> to  build  the	following
	       resource names:

       wm_<window_manager_name> (Class WM_<window_manager_name>)
	       Each  of these resources is a comma-separated list
	       that defines the properties of a window	manager.
	       The  first  field  is  the full name of the window
	       manager. The second field is the command to  exe-
	       cute  in order	to  run this window manager.  The
	       third field (optional) gives the name of the  con-
	       figuration  file that  should be filtered through
	       m4(1) or cpp(1) to produce the actual window  man-
	       ager's  startup file.  The fourth and fifth fields
	       (optional) are used to explain to xsession how the
	       window  manager can read an arbitrary file as con-
	       figuration file; this can be  done  using  command
	       line  arguments or an environment string.  See the
	       ``Menu customization'' section below  for  details
	       about building these resources.

       If  xsession  was compiled with the SOUNDS symbol defined,
       the following additional X resources are available.   See
       the  ``Sounds''	section below for additional information
       about using sounds in xsession.

       soundStart (Class SoundStart)
	       Name of the  sound  file to  play  when	xsession
	       starts.	Default value: ``none''.

Version 1.1		6 June 1994				7

XSESSION(1)					   XSESSION(1)

       soundEnd (Class SoundEnd)
	       Name of the sound file to play when xsession ends.
	       Default value: ``none''.

       soundStartWM (Class SoundStartWM)
	       Name of the sound file to play when a window  man-
	       ager starts.  Default value: ``none''.

       soundEndWM (Class SoundEndWM)
	       Name  of the sound file to play when a window man-
	       ager ends.  Default value: ``none''.

       soundStartApp (Class SoundStartApp)
	       Name of the sound file to play when an application
	       starts.	Default value: ``none''.

       soundEndApp (Class SoundEndApp)
	       Name of the sound file to play when an application
	       ends.  Default value: ``none''.

       soundLock (Class SoundLock)
	       Name of the sound file to  play	when  the  screen
	       locker starts.  Default value: ``none''.

       soundNotify (Class SoundNotify)
	       Name  of the sound file to play when a message is
	       printed	in  the main  window.	Default	  value:
	       ``none''.

PREPROCESSING OF WINDOW MANAGERS FILES
       One of the most powerful features of xsession is its abil-
       ity to filter the window managers' setup files  through	a
       preprocessor.   This  is useful	if  you	 work on several
       machines which don't necessarily have the same  character-
       istics,	or  if	you  wish to share a common configuration
       file between several window managers.  You can  use  m4(1)
       or  cpp(1) directives (e.g. file inclusion directives) and
       pre-defined symbols to customize your environment at  run-
       time.  XSession uses either m4(1) or cpp(1) to pre-process
       the setup files, according to the value of the  preproces-
       sor resource.

       When  xsession  starts  a new window manager, it creates a
       temporary file for the preprocessor.  This  file contains
       all  symbols  that  will be defined and then includes the
       original window manager's configuration file.  The prepro-
       cessor will parse that file and send its output to another
       temporary file.	This latter file will be the actual  win-
       dow  manager's  configuration  file.   In order to achieve
       this, xsession should have a way to force the window  man-
       ager  into using another input file.  This is usually done
       with a command line parameter for the window manager (such
       a ``-f name'') or with an environment variable.	If a win-
       dow manager provides no way for doing this, you	won't  be

Version 1.1		6 June 1994				8

XSESSION(1)					   XSESSION(1)

       able to use the preprocessing features for it.  See ``Menu
       Customization'' below for details.

       The following symbols are defined (most of  these  defini-
       tions were borrowed from the ctwm(1) manual page):

       XSESSION_VERSION The version number of xsession.

       XSESSION_PID	    The	 process  number  of xsession.
			       You may use this pid  to	 send	a
			       SIGHUP  signal  and  terminate the
			       session from  one  of  the  window
			       manager's menus.

       SERVERHOST	      This  variable  is set to the name
			       of the machine that is running the
			       X server.

       CLIENTHOST	      The  machine  that  is running the
			       clients (i.e. the  window  manager
			       and all other applications).

       HOSTNAME		The canonical hostname running the
			       clients	(i.e.  a  fully-qualified
			       version of CLIENTHOST).

       MACHINE		 The  machine  type  of	 CLIENTHOST
			       (e.g.	``sun4m'',	``mips'',
			       ``i486'', ...).

       USER		    The	 name  of the user running the
			       program. Gotten from the environ-
			       ment.

       HOME		    The user's home directory.	Gotten
			       from the environment.

       VERSION		 The X major protocol version.	 As
			       seen by ProtocolVersion(3).

       REVISION		The X minor protocol revision.	As
			       seen by ProtocolRevision(3).

       VENDOR		  The vendor of your X server.	 For
			       example: ``MIT X Consortium''.

       RELEASE		 The   release	number	of  your	X
			       server.	For MIT X11R5,	this  is
			       ``5''.

       WIDTH		   The	width of your display in pix-
			       els.

       HEIGHT		  The  height  of	your  display  in

Version 1.1		6 June 1994				9

XSESSION(1)					   XSESSION(1)

			       pixels.

       X_RESOLUTION	    The	 X  resolution of your display
			       in pixels per meter.

       Y_RESOLUTION	    The Y resolution of	 your  display
			       in pixels per meter.

       PLANES		  The number of bit planes your dis-
			       play supports in the default  root
			       window.

       BITS_PER_RGB	    The	 number of significant bits in
			       an RGB color.  (log base 2 of  the
			       number of distinct colors that can
			       be created.  This is often differ-
			       ent from the number of colors that
			       can be displayed at once.)

       CLASS		   The visual class of your	display.
			       It  returns one of ``StaticGray'',
			       ``GrayScale'',	``StaticColor'',
			       ``PseudoColor'', ``TrueColor'',
			       ``DirectColor'', or, if it  cannot
			       determine  what	you  have, ``Non-
			       Standard''.

       COLOR		   This variable is	just  a	 wrapper
			       around  the  CLASS definition.  It
			       returns	``Yes'' on  StaticColor,
			       PseudoColor, TrueColor and Direct-
			       Color displays.	On the other dis-
			       plays,  it is undefined if you use
			       cpp(1), and it returns  ``No''  if
			       you use m4(1).

       WM_NAME		 The  name  of	the  current window
			       manager. This is useful for  pro-
			       tecting	parts of one shared setup
			       file: you may use  the  same  file
			       for  several  window  managers and
			       protect some  lines  if	they  are
			       understood by only one of them.

       TWM_TYPE		Same  as WM_NAME.  For compatibil-
			       ity  with  ctwm(1)   configuration
			       files.

       Here  is a short summary of the useful directives of m4(1)
       and cpp(1).  Please refer to their own  manual  pages  for
       any additional information.

       Warning: when using m4, xsession automatically inserts the
       following m4 directive in the temporary file:

Version 1.1		6 June 1994			 10

XSESSION(1)					   XSESSION(1)

	    changequote([,])
       This will use the square brackets  as  string  delimiters,
       instead	of  the default	 quote and backquote characters,
       which are probably  already  used  in  your  file.   Don't
       duplicate  this directive in your file, because m4 doesn't
       like that...

       Assigning a value to a symbol
	       With m4, use define(symbol, value).
	       With cpp, use #define symbol value.

       Including a file
	       With m4, use include(file) or sinclude(file).  The
	       sinclude directive  is similar to include, except
	       that it does not complain if the file is inacces-
	       sible.
	       With cpp, use #include "file".

       Evaluating a mathematical expression
	       With m4, use eval(expression).
	       There is no equivalent for cpp.

       Testing if a symbol if defined
	       With  m4,  use  ifdef([symbol], result1, result2),
	       where the third argument is optional.   Note  that
	       the  square brackets are used to quote the symbol.
	       If the symbol is defined, this expression  returns
	       result1, else it returns result2.
	       With  cpp, use #ifdef symbol ... #else ... #endif,
	       where the #else ... part is optional.  Each direc-
	       tive  should be on a line by itself.  If symbol is
	       defined, then the lines between #ifdef  and  #else
	       will  be output.	  If not, then the lines between
	       #else and #endif will be output.

       Testing an expression
	       With m4, ifelse(expr1, expr2, result1, ...)   does
	       the  following:	if  expr1  and expr2 are the same
	       string, then the result of the ifelse is result1.
	       If not, and if there are more than four arguments,
	       the process is repeated with arguments 4, 5, 6 and
	       so  on.	Otherwise,  the value is either the last
	       string not used by the above process, or NULL  if
	       it is not present.
	       Some  versions  of  cpp	allow a similar structure
	       with #if, but most versions do not have any equiv-
	       alent.

       Although m4  is less intuitive than cpp, it has more fea-
       tures.  This is why our preferences go to m4  for  prepro-
       cessing	the window managers' files.  See also the ``Exam-
       ples'' section below, it shows some parts of configuration
       files to be preprocessed by m4.

Version 1.1		6 June 1994			 11

XSESSION(1)					   XSESSION(1)

MENU CUSTOMIZATION
       The  ``Window  Managers''  and  ``Applications'' menus may
       (and  should)  be  customized  for  your site	using	X
       resources.   These  menus  are  built from the X resources
       using a two-stage process: first, the  list  of	items  is
       read  from a resource, then the definition of each item is
       searched in the resource database.

       The wmNames resource string is a comma-separated list that
       gives  the  (short) names of the window managers that will
       be listed in the menu.  These names should  be  short  and
       contain	characters   from  the	set  {`A'-`Z',	`a'-`z',
       `0'-`9', `_', `-'} (no space character). Each	of  these
       names  is  then	used to create a new resource name, using
       the prefix wm_, that holds the complete description of the
       window manager.

       This  also  applies to the applications, with the appNames
       and app_... resources.

       For  a	given	window	manager,   the	wm_<window_man-
       ager's_short_name>  resource must be built as follows.  It
       is a comma-separated string made of five fields (which are
       not allowed to contain any comma characters, of course):

       o The  first  field is mandatory and denotes the full name
	 of the window manager. It may contain space characters.

       o The second field is mandatory and denotes the command to
	 execute in order to run this window manager.  This field
	 may  contain space characters in order to add some argu-
	 ments to the command.

       o The third field is optional and specifies  the name  of
	 the  configuration  file  which  must be preprocessed by
	 xsession for this window manager.  This field must  con-
	 tain  one and only one occurence of ``%s'' which will be
	 replaced by ``m4'' or ``cpp'' according to  the  prepro-
	 cessor that  is  used.	  Remember that only the prepro-
	 cessed file is used by the window manager, not the orig-
	 inal  and  usual one (see ``Preprocessing of window man-
	 agers files'' above).

       o The fourth and fifth fields are optional.   The  aim  of
	 these	fields	is to explain to xsession how this window
	 manager can  read  an	arbitrary  file instead	 of  its
	 default  configuration file.	All  well-behaved window
	 managers should be able to do that!  Some of them use an
	 environment  variable, while others need a command line
	 option.  If a command line option is needed,  it  should
	 be  placed in the fourth field of the string; this field
	 must contain one and only one	occurence  of  ``%s''  to
	 specify  where the  filename	should be inserted in the
	 arguments list.  If an environment variable  is  needed,

Version 1.1		6 June 1994			 12

XSESSION(1)					   XSESSION(1)

	 the fifth field should be defined as ``VARIABLE=VALUE'',
	 where ``VARIABLE'' denotes the name of the  environment
	 variable  to be used, and ``VALUE'' denotes the value to
	 be assigned to the variable; ``VALUE'' must contain  one
	 and  only  one occurence of ``%s'' to specify where the
	 filename should be inserted into the variable.
	 For most window managers, it should be possible  to  use
	 one  of  these two fields.  If both are undefined or if
	 there isn't any occurence of ``%s'' in them,	then  the
	 preprocessed  file cannot be given to the window manager
	 by xsession; in that case, you will lose the preprocess-
	 ing  feature  for  this  window manager, because it will
	 always take its default configuration file, without  any
	 preprocessing applied on it.

       For     a    given    application,    the    app_<applica-
       tion's_short_name> must be built as  follows.	It  is	a
       comma-separated string made of two fields.  The two fields
       are mandatory:

       o The first field denotes the full name	of  the applica-
	 tion.	It may contain space characters.

       o The  second  field  specifies	the command to execute in
	 order to run this application. This field  may	 contain
	 space	characters  in order to add some arguments to the
	 command.

       In order to add a new window manager (respectively  a  new
       application)  into  the xsession menus, you have to insert
       its short name  in  the	wmNames (respectively	appNames)
       resource,  and  to  create  a  new resource named wm_<win-
       dow_manager's_short_name>   (respectively    app_<applica-
       tion's_short_name>) built according to the rules above.

EXAMPLES
       Adding a new application to the menu
	       If  you	want  to  add  a  new  application to the
	       ``Applications'' menu (e.g.  xmosaic),	you  need
	       to  do  two  things:  first,  add the name of this
	       application in the appNames list (this is the name
	       that  will  be  shown  in the menu).  The appNames
	       resource in your ~/.Xdefaults file should now look
	       like this:

	       XSession*appNames: XTerm, Emacs, XEdit, XMan, XMosaic

	       Then,  add  a  new resource to define the applica-
	       tion.  This string contains the application's full
	       name  followed  by  the command that xsession will
	       execute:

	       XSession*app_XMosaic: XMosaic (WWW browser), xmosaic -dil


Version 1.1		6 June 1994			 13

XSESSION(1)					   XSESSION(1)

	       The next time you run  xsession, your  ``Applica-
	       tions'' menu will have a new entry for xmosaic.

       Window manager's configuration file
	       You  can use the same file for several window man-
	       agers.  For example, you can have  a  common  file
	       called  .wmrc.m4 that  is used by ctwm(1), twm(1)
	       and vtwm(1).  If some lines in this file are  spe-
	       cific  to  one  of  these window managers, you can
	       perform a test on WM_NAME to prevent other  window
	       managers from seeing them.  For instance, here is
	       an excerpt from	the  ``Colors'' section	 of  our
	       .wmrc.m4 file:

	       Color
	       {
		    DefaultBackground	"blue"
		    DefaultForeground	"yellow"
	       ifelse(WM_NAME, ctwm, [
		    MapWindowBackground "white"
		    MapWindowForeground "black"
	       ], WM_NAME, vtwm, [
		    DoorBackground	"orange"
		    DoorForeground	"blue"
		    VirtualBackground	"LightSteelBlue"
	       ])
	       }

       Other preprocessor features
	       You  can also  use the preprocessor (m4, here) to
	       define a symbol that  will  be  used  later.   For
	       example, if you can define a ``FULLSCREEN'' vari-
	       able that will give the	correct geometry  for	a
	       window  that  should cover the whole screen.  Here
	       is another excerpt from a .wmrc.m4 file:

	       define(FULLSCREEN, translit(WIDTH*eval(HEIGHT - 30)+0+0, *, x))
	       define(SHOWIMAGE, [xv -quit -rmode 1])

	       menu "Applications"
	       {
		    "Applications" f.title
		    "XMan"	 f.exec "xman -notopbox -bothshown -pagesize FULLSCREEN &"
		    "Backgrounds"  f.title
		    "Stupid logo"  f.exec "SHOWIMAGE winlogo.gif &"
	       }

       See also the examples directory in the xsession	distribu-
       tion for longer examples.

SOUNDS
       XSession can  use the rplay library if it is installed on

Version 1.1		6 June 1994			 14

XSESSION(1)					   XSESSION(1)

       your  system.   If  xsession  was  compiled  with   SOUNDS
       defined, then it will play a sound when some event occurs.
       For  example,  you  may	configure   xsession	to   play
       ``Creaky-1.au'' when you start it, and ``goodbye.au'' when
       you quit.  You only need to add	the  following	lines  to
       your   ~/.Xdefaults  file  (or  the  file  you  read  with
       xrdb(1)):

	    XSession*soundStart:     Creaky-1.au
	    XSession*soundEnd:	goodbye.au

       Here is how this works: when the selected  event	 occurs,
       xsession will send a request to the rplayd server running
       on CLIENTHOST, asking it to  play  a  sound.   The  rplayd
       server  will take care of what is needed to find the sound
       file and play it.

       You will find the rplay library and lots of sound files on
       the  following  FTP site: sounds.sdsu.edu (130.191.224.4).
       You  will   also find	the   library	on   ftp2.monte-
       fiore.ulg.ac.be and ftp.x.org.

COLORS
       Like  some other X applications, xsession provides another
       set of resources if you want to use it on a color display.
       You  only  need	to  include  the  following lines in your
       ~/.Xdefaults file (or the file you read with xrdb(1)):

	    #ifdef COLOR
	    *customization:    -color
	    #endif

       This will cause xsession to pick up  the	 colors	 in  the
       application-defaults  color  customization file (XSession-
       color) instead of the standard applications-defaults  cus-
       tomization file (XSession).

ENVIRONMENT
       DISPLAY To  get	the  default host and display number.  If
	       this variable is not defined  in the  environment
	       and  the -display  command  line	 option	 is used
	       instead, xsession adds this variable to its  envi-
	       ronment.

       HOME    To  get the name of the user's home directory.  If
	       this variable is defined,  xsession  changes  the
	       current	directory  to  the  one specified in this
	       variable.

       TMPDIR  If set, temporary files will be	created in  this
	       directory.   Otherwise,	temporary  files  will be
	       created in /usr/tmp.

Version 1.1		6 June 1994			 15

XSESSION(1)					   XSESSION(1)

       XENVIRONMENT
	       To get the name of a resource file that	overrides
	       the  global  resources stored in the RESOURCE_MAN-
	       AGER property.

FILES
       /usr/lib/X11/app-defaults/XSession
			   specifies required resources for stan-
			   dard displays

       /usr/lib/X11/app-defaults/XSession-color
			   specifies resources for color displays

       ~/.xinitrc	  the best way to launch xsession

       ~/.xsession	 another good way to launch xsession

       ~/.X11Startup	startup file executed by xsession

       /etc/motd	   message-of-the-day

       /usr/tmp/xs_WM<...> preprocessed startup files created  by
			   xsession

SEE ALSO
       X(1),  xinit(1), xdm(1),	 xrdb(1), m4(1), cpp(1), twm(1),
       ctwm(1), mwm(1), xscreensaver(1),  xlock(1),  xconsole(1),
       Athena Widget Set, X Toolkit Intrinsics.

BUGS
       The  program  may crash if you put more than one ``%s'' in
       the third, fourth or  fifth  field  of  a  wm_<window_man-
       ager's_short_name>  resource or if you give another incor-
       rect format string.

       All symbols  defined  for  the  preprocessor  are  blindly
       replaced in  the window managers' startup files, and this
       may cause some problems. For instance, if  you	use  the
       variable ``$HOME''  in	one  file,  the preprocessor will
       replace the symbol ``HOME'' by its actual value, and  your
       window manager will see a lost ``$'' before the path name.
       Solution: remove the ``$'' sign.

       If used from xsession, mwm(1) (Motif) must  be  customized
       in  such a  way	that  it  does not prompt the user if it
       receives a KILL signal.	Indeed, when you decide to switch
       to another window manager, xsession sends a KILL signal to
       the current window  manager,  waits  until  it  ends,  and
       starts  the  new one.  If, thanks to the prompt, the user
       cancels the order sent by  xsession,  the  window  manager
       will  not end and xsession will wait forever.  For mwm(1),
       the showFeedback (class	ShowFeedback)  resource must  be
       changed from its default value (``all'') to something that
       does not include ``kill''.   For	 example,  you	can  use

Version 1.1		6 June 1994			 16

XSESSION(1)					   XSESSION(1)

       ``behavior  move placement  quit	 resize restart'' as the
       value of this resource.

       Please report other bugs to the authors at  the	following
       E-mail addresses.  Thanks.  We would rather get criticisms
       than no comments at all!

AUTHORS
       Raphael Quinet <quinet@montefiore.ulg.ac.be>
		      <quinet@stud.montefiore.ulg.ac.be>

       Alain Nissen   <nissen@montefiore.ulg.ac.be>
		      <nissen@stud.montefiore.ulg.ac.be>

COPYRIGHT
       Copyright (C) 1993, 1994, Alain Nissen & Raphael	 Quinet,
       University of Liege, Belgium.

       The  X Consortium, and any party obtaining a copy of these
       files from the X Consortium, directly  or  indirectly,  is
       granted, free of charge, a full and unrestricted irrevoca-
       ble, world-wide, paid up, royalty-free, nonexclusive right
       and  license  to deal  in this software and documentation
       files (the "Software"), including without  limitation  the
       rights  to  use, copy, modify, merge, publish, distribute,
       sublicense, and/or sell copies of  the  Software,  and  to
       permit  persons	who receive copies from any such party to
       do so.  This license includes without limitation a license
       to do the foregoing actions under any patents of the party
       supplying this software to the X Consortium.

       THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF  ANY
       KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
       WARRANTIES OF MERCHANTABILITY, FITNESS  FOR  A  PARTICULAR
       PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE X CON-
       SORTIUM, THE AUTHORS OR THE UNIVERSITY OF LIEGE BE  LIABLE
       FOR  ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
       ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING  FROM,  OUT
       OF  OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
       DEALINGS IN THE SOFTWARE.

       The above copyright  notice  and this  permission  notice
       shall be included in all copies or substantial portions of
       the Software.

AVAILABILITY
       The most recent released version of xsession is	available
       for  anonymous  FTP from ftp.x.org (198.112.44.100) in the
       directory /contrib/applications. The latest version under
       development  is available for anonymous FTP from ftp2.mon-
       tefiore.ulg.ac.be   (139.165.8.25)   in	the	directory
       /pub/xsession.

Version 1.1		6 June 1994			 17

[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server BSDOS

List of man pages available for BSDOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net