Rechercher une page de manuel

Chercher une autre page de manuel:


Langue: en

Version: 2002-12-05 (openSuse - 09/10/07)

Section: 1 (Commandes utilisateur)


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
La raison du plus fort est toujours la meilleure.
-+- Jean de La Fontaine (1621-1695),
Le Loup et l'Agneau (Fables I.10) -+-