FVWM: Re: 2.0pl35, FvwmM4, and Fvwm command-line processing

From: Martin Kraemer <Martin.Kraemer_at_mch.sni.de>
Date: Tue, 19 Sep 1995 11:26:22 +0200 (MDT)

Hello Chris, you wrote...
>
> I also wrote a quick wrapper for all those command-line arguments
> (something I probably should have done earlier). It looks like this
> (lines are broken/backslashed here for clarity):
>
> #!/bin/sh -vx
> fvwm-2.0pl25 -f \"FvwmM4 -debug -m4-prefix -m4opt \
> -I$DOTDIR/fvwmrc-2.x $DOTDIR/fvwmrc-2.x/fvwm-main\"

> Suggestions welcome! I'd much like to move up to version 2, if
> I could get past this problem.

Since I am the one who is guilty for the extra quoting in the first place, I
guess it's me who has to clear things up:
In your script

> #!/bin/sh -vx
> fvwm-2.0pl25 -f \"FvwmM4 ... $DOTDIR/fvwmrc-2.x/fvwm-main\"

you tell the shell explicitely _not_ to use the double quotes "..." to group
several command line arguments into one, but instead tell it to split them
(but precede the first one with a `"' and to put another `"' at the end of
the last argument. Spoken in argv[]'s, fvwm gets:

(assuming DOTDIR=/home/shaggy/.dotdir):
    argv[0] = fvwm-2.0pl25
    argv[1] = -f
    argv[2] = "FvwmM4
    argv[3] = -debug
    argv[4] = -m4-prefix
    argv[5] = -m4opt
    argv[6] = -I/home/shaggy/.dotdir/fvwmrc-2.x
    argv[7] = /home/shaggy/.dotdir/fvwmrc-2.x/fvwm-main"
    argv[8] = (NULL)
So it tries to execute a program ``"FvwmM4'' which of course is unavailable.
Instead, what you want is
    argv[0] = fvwm-2.0pl25
    argv[1] = -f
    argv[2] = FvwmM4 -debug -m4-prefix -m4opt -I/home/shaggy/.dotdir/fvwmrc-2.x /home/shaggy/.dotdir/fvwmrc-2.x/fvwm-main
    argv[3] = (NULL)

You'll have to drop the '\\' to achieve that:
> #!/bin/sh -vx
> fvwm-2.0pl25 -f "FvwmM4 ... $DOTDIR/fvwmrc-2.x/fvwm-main"

I had the extra \" in mind for the case where you have to put the window
manager command into an environment variable, say (not recommended!)...
    WINDOW_MANAGER="fvwm-2.0pl25 -f \"FvwmM4 ... $DOTDIR/fvwmrc-2.x/fvwm-main\""
    eval exec $WINDOW_MANAGER

    Martin
-- 
| S I E M E N S |   Martin.Kraemer_at_mch.sni.de   |       Siemens Nixdorf
| ------------- |   Voice: +49-89-636-46021     |   Informationssysteme AG
| N I X D O R F |   FAX:   +49-89-636-44994     |    81730 Munich, Germany
~~~~~~~~~~~~~~~~  (My opinions only, of course; pgp key available on request)
--
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to majordomo_at_hpc.uh.edu.
To report problems, send mail to fvwm-owner_at_hpc.uh.edu.
Received on Tue Sep 19 1995 - 04:22:53 BST

This archive was generated by hypermail 2.3.0 : Mon Aug 29 2016 - 19:37:57 BST