|
NAMEfvwm-themes-com - fvwm-themes communication centerSYNOPSISfvwm-themes-com [ --help] [ --version] [ --name name ] [ --message message ] [ --lock-and-get ] [ --get-buffer ] [ --clear-buffer ] [ --buffer-name name ] [ --line lineNbr]DESCRIPTIONThis 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. USAGEHere 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. AUTHORSOlivier Chapuis <olivier.chapuis@free.fr>, 5 May 2000.COPYINGThe script is distributed by the same terms as fvwm itself. See GNU General Public License for details.BUGSReport bugs to fvwm-themes-devel@lists.sourceforge.net
Visit the GSP FreeBSD Man Page Interface. |