fvwm-themes-com

Langue: en

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

Section: 1 (Commandes utilisateur)

NAME

fvwm-themes-com - fvwm-themes communication center

SYNOPSIS

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

DESCRIPTION

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.

OPTIONS

--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.

USAGE

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.

AUTHORS

Olivier Chapuis <olivier.chapuis@free.fr>, 5 May 2000.

COPYING

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

BUGS

Report bugs to fvwm-themes-devel@lists.sourceforge.net