FvwmCommand



FvwmCommand(1x)                                   FvwmCommand(1x)




NAME

       FvwmCommand - FVWM2 command external interface



SYNOPSIS

       FvwmCommand  [-mrvw]  [-S  name]  [-i level] [-f name] [-F
       level] [command...]



DESCRIPTION

       FvwmCommand lets you monitor fvwm2 transaction  and  issue
       fvwm2 command from a shell command line or scripts.  Fvwm­
       Command takes each argument as a fvwm2 command. Quotes can
       be used to send commands including spaces.

         FvwmCommand 'FvwmPager 0 1'



INVOCATION

       FvwmCommandS  should  be  spawned once by fvwm2, either in
       .fvwm2rc file, from menu, or from FvwmConsole.  From  then
       on,  FvwmCommand  can  be called from a shell or script to
       execute fvwm2 commands.

       From within .fvwm2rc file:

         Module FvwmCommandS

             or

         AddToFunc "InitFunction" "I" Module FvwmBanner
         +   "I" Module FvwmPager 0 8
         +   "I" Module  FvwmCommandS

         AddToFunc "RestartFunction" "I" Module  FvwmCommandS
         +    "I" Module     FvwmPager 0 8


       Then, in script file or from shell:


         FvwmCommand  'popup "Utilities"'




OPTIONS

       -F <level>
           Specifies the level of fvwm2 window flags  FvwmCommand
           outputs.


           0   No window flags will be printed.

           2   Full  window  flags will be printed if information
               level, -i option, is 2 or 3.



       -f <name>
           Specifies an alternative FIFO set to communicate  with
           a  server.  The default FIFO set is ~/.FvwmCommand, in
           which ~/.FvwmCommandC is used  to  send  commands  and
           ~/.FvwmCommandM  is to receive messages.  FvwmCommandS
           must have been invoked with the  same  <name>  as  its
           first   argument   prior  to  FvwmCommand  invocation.
           Alternatively, option -S can be used. Refer option -S.
           This  option  -f is useful when a dedicated connection
           is necessary to run a  background  job  while  another
           connection is kept for interactive use.


       -i <level>
           Specifies  the  level  of information that FvwmCommand
           outputs.


           0   Error messages only.

                 FvwmCommand -i0 FvwmBanner

               will show a banner  without  any  output.  On  the
               other hand,

                 FvwmCommand -i 0 foobar

               will return,

                 [FVWM][executeModule]: <<ERROR>> No such module
                 ´foobar´ in ModulePath '/usr/lib/X11/fvwm2'


               Note  that Fvwm2 doesn't return any error messages
               in cases like below since 'windowid' itself  is  a
               valid command.


                 FvwmCommand -i 0 'windowid foo bar'


           1   Errors  and window configuration information. This
               is the default.

                 FvwmCommand send_windowlist

               Information like below will show up.


                 0x02000014 window               FvwmConsole
                 0x02000014 icon                 FvwmConsole
                 0x02000014 class                XTerm
                 0x02000014 resource             FvwmConsole
                 0x01c00014 window               console
                 0x01c00014 icon                 console
                 0x01c00014 class                XTerm
                 0x01c00014 resource             console
                 0x01000003 window               Fvwm Pager
                 0x01000003 icon
                 0x01000003 class                FvwmModule
                 0x01000003 resource             FvwmPager
                 0x00c0002c window               emacs: FvwmCommand.man
                 0x00c0002c icon                 FvwmCommand.man
                 0x00c0002c icon file            xemacs.xpm
                 0x00c0002c class                Emacs
                 0x00c0002c resource             emacs
                 end windowlist

               The first column shows the window ID number, which
               can  be  used  in  'windowid' command.  The second
               column shows the information types.  The last col­
               umn  shows the information contents.  If no infor­
               mation is returned, add -w <time>  or  -r  option.
               This might be needed in heavily loaded systems.

           2   Above and static window information.

                 FvwmCommand -i2 'FvwmPager 0 1'

               The below is its output.


                 0x03c00003 frame                x 962, y 743, width 187, height 114
                 0x03c00003 desktop              0
                 0x03c00003 StartIconic          no
                 0x03c00003 OnTop                yes
                 0x03c00003 Sticky               yes
                 0x03c00003 WindowListSkip       yes
                 0x03c00003 SuppressIcon         no
                 0x03c00003 NoiconTitle          no
                 0x03c00003 Lenience             no
                 0x03c00003 StickyIcon           no
                 0x03c00003 CirculateSkipIcon    no
                 0x03c00003 CirculateSkip        no
                 0x03c00003 ClickToFocus         no
                 0x03c00003 SloppyFocus          no
                 0x03c00003 SkipMapping          no
                 0x03c00003 Handles              no
                 0x03c00003 Title                no
                 0x03c00003 Mapped               no
                 0x03c00003 Iconified            no
                 0x03c00003 Transient            no
                 0x03c00003 Raised               no
                 0x03c00003 Visible              no
                 0x03c00003 IconOurs             no
                 0x03c00003 PixmapOurs           no
                 0x03c00003 ShapedIcon           no
                 0x03c00003 Maximized            no
                 0x03c00003 WmTakeFocus          no
                 0x03c00003 WmDeleteWindow       yes
                 0x03c00003 IconMoved            no
                 0x03c00003 IconUnmapped         no
                 0x03c00003 MapPending           no
                 0x03c00003 HintOverride         yes
                 0x03c00003 MWMButtons           no
                 0x03c00003 MWMBorders           no
                 0x03c00003 title height         0
                 0x03c00003 border width         4
                 0x03c00003 base size            width 8, height 7
                 0x03c00003 size increment       width 9, height 9
                 0x03c00003 min size             width 8, height 7
                 0x03c00003 max size             width 32767, height 32767
                 0x03c00003 gravity              SouthEast
                 0x03c00003 pixel                text 0xffffff, back 0x7f7f7f
                 0x03c00003 window               Fvwm Pager
                 0x03c00003 icon                 Fvwm Pager
                 0x03c00003 class                FvwmModule
                 0x03c00003 resource             FvwmPager


           3   All information available.

                 FvwmCommand -i3 'Killmodule Fvwm*'



               This will report which windows are closed.

                 0x03400003 destroy
                 0x02400002 destroy



       -m  Monitors  fvwm2  window information transaction. Fvwm­
           Command  continuously  outputs  information  that   it
           receives  without exiting.  This option can be used in
           a background job often combined  with  -i3  option  in
           order to control windows dynamically.

             FvwmCommand -mi3 | grep 'iconify'

           It  will report when windows are iconified or deiconi­
           fied.

           Note: FvwmCommand does not block buffer its output but
           many  utilities  such as grep or sed use block buffer.
           The output of the next example will not show up  until
           either FvwmCommand is terminated or stdout buffer from
           grep is filled.

             FvwmCommand -mi3 | grep ' map' |
             sed 's/[0-9a-f]*.*/windowid 1 move 0 0/'

           Instead, use tools with buffer control such as pty  or
           perl.  The below will iconify new windows when opened.

             Fvwm -mi3 | perl -ne '
             $|=1;
             print "windowid $1 iconify\n" if /^(0x\S+) add/;
             ´ > ~/.FvwmCommandC


       -r  Waits for a reply before it exits.  FvwmCommand  exits
           if  no  information  or  error  is returned in a fixed
           amount of time period. (Refer option -w.)  The  option
           -r overrides this time limit and wait for at least one
           message back.  After the initial message, it will wait
           for  another  message for the time limit.  This option
           is useful when the system is too loaded  to  make  any
           predition  when  the system is responding AND the com­
           mand causes some message to be sent back.


       -S <name>
           Invokes another server, FvwmCommandS,  with  FIFO  set
           <name>.
           If  -f option is not used with this option, the invok­
           ing FvwmCommand uses the default FIFO  to  communicate
           the default server to invoke a new server.
           If  -f  option  is used with this option, the invoking
           FvwmCommand uses the default FIFO to  communicate  the
           default  server  to  invoke a new server. Then, switch
           the FIFO set and start communicating the new server.
           This option -S is useful when a  dedicated  connection
           is  necessary  to  run  a background job while another
           connection is kept for interactive use.

           If the <name> is a relative path name, that  is  rela­
           tive from where fvwm2 is running, not from where Fvwm­
           Command is invoked.


       -v  Returns FvwmCommand version number and exits.


       -w <time>
           Waits for <time> micro seconds for a  message.   Fvwm­
           Command  exits  if no information or error is returned
           in a fixed amount of time period unless option  -m  is
           used.   The  default  is 500 ms. This option overrides
           this default value.



WRAPPER

       FvwmCommand.sh has bourne shell  function  definitions  to
       keep the syntax similar to fvwm2 configuration file.  This
       file is to be sourced:

         . FvwmCommand.sh
         DesktopSize 5x5

       FvwmCommand.pm is for perl in order  to  keep  the  syntax
       similar  to  fvwm2 configuration file.  Commas can be used
       to separate Fvwm2 commands' arguments.

         use FvwmCommand;
         if( $ARGV[0] eq 'home' ) {
             Desk 0,0; GotoPage '1 1';
         }elsif( $ARGV[0] eq 'jump' ) {
             Desk "0 2"; GotoPage 0, 1;
         }

       Although arguments in FvwmCommand are not  case  sensitive
       as  fvwm2,  the  functions  defined  in FvwmCommand.sh and
       FvwmCommand.pl are case sensitive.




ERRORS

       If the following error message show up, it is most  likely
       that FvwmCommandS is not running.

         FvwmCommand error in opening message fifo
         --No such file or directory--

       Fvwm2  modules  don't  return  error messages to fvwm2 but
       output on stderr. These error messages will not  be  shown
       as FvwmCommand messages.



SEE ALSO

       fvwm2



AUTHOR

       Toshi Isogai  isogai@ucsub.colorado.edu





                           May 11 1998            FvwmCommand(1x)

Man(1) output converted with man2html