Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  FVWM-THEMES-COM (1)


fvwm-themes-com - fvwm-themes communication center



fvwm-themes-com [ —help] [ —version] [ —name name ] [ —message message ] [ —lock-and-get ] [ —get-buffer ] [ —clear-buffer ] [ —buffer-name name ] [ —line lineNbr]


This script is not a user script. It is used by Fvwm-Themes for communication between some FvwmScript scripts and some other programs. Basically, you want to start a programs in the background which support the fvwm-themes-com communication protocol (e.g., fvwm-themes-menuapp and fvwm-themes-config with the com-mode option can be used as generic examples), then you can use fvwm-themes-com to ask questions or to give instructions to the background program. The answer are displayed by fvwm-themes-com in the standard out put and can be used by a FvwmScript script via the GetoutPut instruction. The advantage of using this method is that the background program have to do its main job only once (e.g., parsing a lot of informations and storing them in some variables) and a script can have very fast answer from the background program via fvwm-themes-com.


—help - show the help and exit

—version - show the version and exit

—name name - the name of the communication (e.g., if you start fvwm-themes-menuapp with --com-name pid option you must use menuapp-pid as name to communicate with it). The pipe used for communication are $FVWM_DATADIR/{.tmp-com-in-name,tmp-com-out-name,tmp-com-lock-name}. The buffer file is $FVWM_USERDIR/.tmp-com-buffer-name

—message - A one line message to be sent to the back program.

—lock-and-get - Wait (a certain time out) for an answer of the message. Then, the answer is displayed on STDOUT.

—line n - n must be an integer n > 0. In the case of a lock and get message, fvwm-themes-com will out put only the nth line of the answer of the back program on STDOUT and will copy the complete answer in a buffer file. If you use the get-buffer option the nth line of the buffer is out put on STDOUT.

—get-buffer - Out put the buffer file on STDOUT.

—buffer-name othername - Use an alternative name for the buffer file: $FVWM_USERDIR/.tmp-com-buffer-othername. This is usefull if two programs use the same background program and both use the buffer.

—clear-buffer - remove the buffer file.


Here an example:

In the Script FvwmScript-Menus you first start the background program, here fvwm-themes-menuapp, and you set some variables for an easy use of fvwm-themes-com:

  # found the FvwmScript pid
  Set $CMD = {perl -e ’$t=getppid; print $t . "\n"’}
  Set $PID = (GetOutput $CMD 1 -1)
  # Run fvwm-themes-menuapp until the end of the script
  Do {Exec fvwm-themes-menuapp --com-mode --com-name=menuapp-}$PID{ &}
  # to send fvwm-themes-com command
  Set $SendMsgAndGet = {fvwm-themes-com --name menuapp-}$PID{ --lock-and-get --message=}
  Set $SendMsg = {fvwm-themes-com --name menuapp-}$PID{  --message=}
  Set $GetLine = {fvwm-themes-com --name menuapp-}$PID{  --get-buffer --line=}

Then in the Script you can ask fvwm-themes-menuapp for some informations:

  # Get the menu list
  Set $CMD = $SendMsgAndGet{"menu-items }$MENU{"}
  Set $ItemsList = (GetOutput $CMD 1 -1)
  ChangeTitle 11 $ItemsList

You can also just send an instruction to fvwm-themes-menuapp:

  Set $CMD = $SendMsg{"exit"}
  Do {Exec }$CMD

Of course your back program have to support the fvwm-themes-com protocol. See fvwm-themes-menuapp and fvwm-themes-config for examples (com-mode option). See also FvwmScript-Menus and FvwmScript-ThemesCenter.


Olivier Chapuis <>, 5 May 2000.


The script is distributed by the same terms as fvwm itself. See GNU General Public License for details.


Report bugs to
Search for    or go to Top of page |  Section 1 |  Main Index

2001-10-15 FVWM-THEMES-COM (1) perl v5.6.0

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.