DragonFly On-Line Manual Pages
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 $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
3rd Berkeley Distribution perl v5.6.0 FVWM-THEMES-COM(1)