FVWM-THEMES-COM(1) | Fvwm Utility | FVWM-THEMES-COM(1) |
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 $ItemsListYou can also just send an instruction to fvwm-themes-menuapp:
Set $CMD = $SendMsg{"exit"} Do {Exec }$CMDOf 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
perl v5.6.0 | 3rd Berkeley Distribution |